New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Endless mapping refresh #10318
Comments
@EikeDehling can you enable debug logging for
|
@bleskes Thanks for the quick reponse! Gist here: https://gist.github.com/EikeDehling/129aa3f8213ad8552f49 The difference in mapping appears to be in nested elements, apparently they are not ordered alphbetically? The difference in serialisation is under posting.properties.body.fields.text.fielddata , there entries there are ordered differently in the original/parsed version. |
This gist is a bit easier to read: https://gist.github.com/EikeDehling/fc1289cc443b7acdc3f4 The issue is under the key |
@EikeDehling thx for that. It's accurate. The problem lies in the way the field data settings are rendered:
The order of the keys in that map is arbitrary (practically). It may be different between master and nodes causing this endless loop. To work around this, you can set |
@EikeDehling do you run on Java8 by any chance? (wondering to better understand how frequently this can happen) |
We're running Java7, 1.7.0_45 Thanks for the tip about settings. I also found that line of code indeed, i'll try and make a patch/test. |
Cool. If you wait an hour or two, I’ll probably make a PR with a fix.
|
This is my initial patch+unit test, happy to compare to what you're producing. Sorry, i'm not that handy with github/PR's yet. https://gist.github.com/EikeDehling/2e34a78a54de646b71ca Any chance there will also be a 1.4 release with a fix? |
@bleskes You said that the |
Then the other half might still send refresh mapping to the master. You need it on all data nodes. But you can do a rolling restart, one by one.
|
I am trying this fix in our staging environment, i'll let you know if that fixes the issue. https://github.com/EikeDehling/elasticsearch/commit/cc79d71bbc4d55cb12a50df2acc67ca6ba4ac5dc |
@EikeDehling looks good can you make a PR ? see https://www.elastic.co/contributing-to-elasticsearch . Also it would be great if you simplify the test and add random keys (but we can iterate on the PR). |
I made a PR, and afterwards signed the contributor license, i hope that's ok. I randomized the test and simplified a bit, happy to hear suggestions for improvements. |
We recently run into two issues where mapping weren't serialized in a consistent manner (elastic#10302 and elastic#10318). We rely on this consistency to do a byte level checl that mappings we get from the master are indentical to the one we have locally. Mistakes here can cause endless refresh mapping loops. This commit adds an assert that verifies this upon every update from the master.
We recently run into two issues where mapping weren't serialized in a consistent manner (#10302 and #10318). We rely on this consistency to do a byte level checl that mappings we get from the master are indentical to the one we have locally. Mistakes here can cause endless refresh mapping loops. This commit adds an assert that verifies this upon every update from the master.
We recently run into two issues where mapping weren't serialized in a consistent manner (#10302 and #10318). We rely on this consistency to do a byte level checl that mappings we get from the master are indentical to the one we have locally. Mistakes here can cause endless refresh mapping loops. This commit adds an assert that verifies this upon every update from the master.
https://gist.github.com/EikeDehling/a015a5137ac5d99dc850
[buzzcapture@hermes ~]$ curl http://artemis3:9200/_cat/pending_tasks
18149502 1s HIGH refresh-mapping [postings-5360000000][[posting]]
18149503 745ms HIGH refresh-mapping [postings-5500000000][[posting]]
18149509 736ms HIGH refresh-mapping [postings-5360000000][[posting]]
18149504 737ms HIGH refresh-mapping [postings-4180000000][[posting]]
18149510 735ms HIGH refresh-mapping [postings-5190000000][[posting]]
18149512 735ms HIGH refresh-mapping [postings-5430000000][[posting]]
18149506 736ms HIGH refresh-mapping [postings-5430000000][[posting]]
18149505 736ms HIGH refresh-mapping [postings-5500000000][[posting]]
18149511 735ms HIGH refresh-mapping [postings-5430000000][[posting]]
18149515 732ms HIGH refresh-mapping [postings-5430000000][[posting]]
18149519 290ms HIGH refresh-mapping [postings-5430000000][[posting]]
18149521 289ms HIGH refresh-mapping [postings-5190000000][[posting]]
18149513 734ms HIGH refresh-mapping [postings-5100000000][[posting]]
18149525 287ms HIGH refresh-mapping [postings-5100000000][[posting]]
18149507 736ms HIGH refresh-mapping [postings-5500000000][[posting]]
18149508 736ms HIGH refresh-mapping [postings-5500000000][[posting]]
18149514 733ms HIGH refresh-mapping [postings-5500000000][[posting]]
18149516 299ms HIGH refresh-mapping [postings-4180000000][[posting]]
18149517 298ms HIGH refresh-mapping [postings-5360000000][[posting]]
18149518 291ms HIGH refresh-mapping [postings-5430000000][[posting]]
12674966 1.7d NORMAL master ping (from: [Y8LnaPqjTv-4Vn4CWXWWlQ])
18149520 290ms HIGH refresh-mapping [postings-5430000000][[posting]]
12676681 1.7d NORMAL master ping (from: [Y8LnaPqjTv-4Vn4CWXWWlQ])
18149522 289ms HIGH refresh-mapping [postings-5190000000][[posting]]
18149523 288ms HIGH refresh-mapping [postings-5100000000][[posting]]
18149524 288ms HIGH refresh-mapping [postings-4180000000][[posting]]
12678378 1.7d NORMAL master ping (from: [Y8LnaPqjTv-4Vn4CWXWWlQ])
18149526 286ms HIGH refresh-mapping [postings-5430000000][[posting]]
18149527 286ms HIGH refresh-mapping [postings-5190000000][[posting]]
18149528 286ms HIGH refresh-mapping [postings-4180000000][[posting]]
18149529 286ms HIGH refresh-mapping [postings-5500000000][[posting]]
18149530 284ms HIGH refresh-mapping [postings-5500000000][[posting]]
18149531 284ms HIGH refresh-mapping [postings-5360000000][[posting]]
18149532 284ms HIGH refresh-mapping [postings-5100000000][[posting]]
18149533 284ms HIGH refresh-mapping [postings-5500000000][[posting]]
18149534 281ms HIGH refresh-mapping [postings-5360000000][[posting]]
The text was updated successfully, but these errors were encountered: