-
Notifications
You must be signed in to change notification settings - Fork 24.9k
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] MoreExpressionIT testSpecialValueVariable failing #99156
Comments
Pinging @elastic/es-core-infra (Team:Core/Infra) |
This does fail reasonably reliably with test seed |
So, this is an odd one... Looks like the test only works coincidentally. What is happening is that the source values are getting mixed up, leading to either the smallest or the largest values getting dropped. It's only looking for a min & max, so most of the time it finds what its looking for. But the stats execution is dodgy. In ExpressionAggregationScript each script value is set from each doc, but it's being set on the same instance. This value is then re-used when running the script. The exact order each doc is executed affects the outcome. Execution that succeeds:
Execution that fails:
|
Looks like the threading has changed - it passes reliably on 8.10, with the following traces:
|
A bisect points towards #98567 causing this behaviour change - the concurrency has changed |
Thanks for finding and investigating this @thecoop! Some background:
The problem could be in the way the test is constructed, but it is most likely a real issue that will require investigation. |
I created #99203 to disable concurrency for this test so that we don't have flakey test runs. We may want to keep this issue open for fixing the underlying cause, however. |
Handling of _value in a script agg does not support search concurrency when using the expression script engine. The reason is that the value gets set globally assuming sequential execution. This commit addresses that by setting the value to the values source associated with the correct leaf reader context, while it was previosly being set on a shared data structure. Closes elastic#99156
…cy (#99667) Handling of _value in a script agg does not support search concurrency when using the expression script engine. The reason is that the value gets set globally assuming sequential execution. This commit addresses that by setting the value to the values source associated with the correct leaf reader context, while it was previosly being set on a shared data structure. Closes #99156
Build scan:
https://gradle-enterprise.elastic.co/s/tvr734jx3dias/tests/:modules:lang-expression:internalClusterTest/org.elasticsearch.script.expression.MoreExpressionIT/testSpecialValueVariable
Reproduction line:
Applicable branches:
main
Reproduces locally?:
No
Failure history:
https://gradle-enterprise.elastic.co/scans/tests?tests.container=org.elasticsearch.script.expression.MoreExpressionIT&tests.test=testSpecialValueVariable
Failure excerpt:
The text was updated successfully, but these errors were encountered: