-
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] FollowingEngineTests testOptimizeMultipleVersions failing #72527
Comments
Pinging @elastic/es-distributed (Team:Distributed) |
This test failed 4 times in the last 90 days: https://build-stats.elastic.co/goto/8cd6df90651053be872090be9477a948 |
I wonder if this case:
combined with the check in
could lead to this assertion firing. The check in |
This was difficult to reproduce. The scenario that's causing this failure can be summarized as:
I created a test that reproduces the issue in https://github.com/elastic/elasticsearch/compare/master...fcofdez:reproduce-failure?expand=1 For me it seems wrong that we're not checking if the present version was a delete in elasticsearch/server/src/main/java/org/elasticsearch/index/engine/InternalEngine.java Line 702 in 7cedc3e
but this behaviour doesn't affect the correctness of the system, so maybe we should relax the assertions in FollowingEngine ?wdyt @henningandersen? |
Great find @fcofdez . I agree to your evaluation. Can we add a more systematic test catching the case? I would prefer to relax the assertion to handle this case, at least for now. I do think it would be safe to rely on the delete flag since we check this while holding a lock for the id and having checked the The comment here may need refinement. "extra safe in production code" signals to me that it really never does anything. But with the change done previously to compare against local checkpoint and also now the relaxation done for this issue, we should probably refine that to explain that the update should not matter in production code. |
In certain concurrent indexing scenarios where there are deletes executed and then a new indexing operation, the following engine considers those as updates breaking one of the assumed invariants. Closes elastic#72527
In certain concurrent indexing scenarios where there are deletes executed and then a new indexing operation, the following engine considers those as updates breaking one of the assumed invariants. Closes #72527
In certain concurrent indexing scenarios where there are deletes executed and then a new indexing operation, the following engine considers those as updates breaking one of the assumed invariants. Closes elastic#72527
Build scan:
https://gradle-enterprise.elastic.co/s/ul4broxaituxw/tests/:x-pack:plugin:ccr:test/org.elasticsearch.xpack.ccr.index.engine.FollowingEngineTests/testOptimizeMultipleVersions
Reproduction line:
./gradlew ':x-pack:plugin:ccr:test' --tests "org.elasticsearch.xpack.ccr.index.engine.FollowingEngineTests.testOptimizeMultipleVersions" -Dtests.seed=D5DEA1124A7EA74B -Dtests.locale=bg-BG -Dtests.timezone=Mexico/BajaNorte -Druntime.java=11 -Dtests.fips.enabled=true
Applicable branches:
master, 7.x
Reproduces locally?:
No
Failure history:
https://gradle-enterprise.elastic.co/scans/tests?tests.container=org.elasticsearch.xpack.ccr.index.engine.FollowingEngineTests&tests.test=testOptimizeMultipleVersions
Failure excerpt:
The text was updated successfully, but these errors were encountered: