-
Notifications
You must be signed in to change notification settings - Fork 25k
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
[CI] IndexingIT testIndexVersionPropagation failing #72735
Comments
Pinging @elastic/es-distributed (Team:Distributed) |
The failure to reach a green state was because the node that should have held the replica actually hit an
|
The assertion failure message in elastic#72735 did not indicate why it failed because `Translog.Delete#toString()` does not expose all the fields of the problematic operation. This commit adds the missing `id` field.
The assertion failure message in elastic#72735 did not indicate why it failed because `Translog.Delete#toString()` does not expose all the fields of the problematic operation. This commit adds the missing `id` and `type` fields. Backport of elastic#72752 to 7.x
The exception message is unhelpful:
However the |
The assertion failure message in #72735 did not indicate why it failed because `Translog.Delete#toString()` does not expose all the fields of the problematic operation. This commit adds the missing `id` field.
@romseygeek on the assumption that it's the |
Oops, yes, that's a bad backport. I'll open a PR. |
Hm, except that the bad operation here is a Delete, and delete tombstones have a type. So maybe the type isn't getting passed around correctly? |
Here's two more example failures: |
Thanks Julie, the last one has the extra detail in the message which confirms that it's just the type that's wrong:
|
Failed two more times today: |
I think this is actually caused by changes in #72400, specifically the changes to LuceneChangesSnapshot, but I'm not sure how the type information is getting lost yet. |
Looking more closely at the timing, I think this is #72616, specifically I think we have a bug in |
#62616 refactored how we deal with building mapping updates for delete operations against an empty index. In 7x, delete operations include a type as part of the operation UID, and this type needs to be resolved against mappings. In particular, the type _doc can mean either a type called _doc (the general case), or it can mean whatever type this index actually has. There are two code paths in IndexShard.applyDeleteOperation, one for empty mappings and one for the standard case; #62616 was resolving the type for the first code path, but not the second, which meant that some delete operations could be written to the translog with an incorrect type. This commit adds type resolution to the second code path as well. Fixes #72735
Closed by #72809. |
No sure what is going on here.
Build scan:
https://gradle-enterprise.elastic.co/s/q6hptfnh42dw4/tests/:qa:mixed-cluster:v7.13.0%23mixedClusterTest/org.elasticsearch.backwards.IndexingIT/testIndexVersionPropagation
Reproduction line:
./gradlew ':qa:mixed-cluster:v7.13.0#mixedClusterTest' -Dtests.class="org.elasticsearch.backwards.IndexingIT" -Dtests.method="testIndexVersionPropagation" -Dtests.seed=4C1C60629320C40 -Dtests.bwc=true -Dtests.locale=hr-HR -Dtests.timezone=Asia/Damascus -Druntime.java=11
Applicable branches:
7.x
Reproduces locally?:
No
Failure history:
https://gradle-enterprise.elastic.co/scans/tests?tests.container=org.elasticsearch.backwards.IndexingIT&tests.test=testIndexVersionPropagation
Failure excerpt:
The text was updated successfully, but these errors were encountered: