-
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] RangeQueryBuilderTests fails reproducibly #40937
Comments
Pinging @elastic/es-search |
This looks like a rarely triggered case that happens with range queries when from/to being just 1 unit apart and includeLower/includeHigher are both |
Currently (6.7+), when we issue a search on e.g. an integer_range field like this:
We get the following error:
This is technically right because with gt/lt this means the range calculated internally is empty. I wonder if we should fix the test so this cannot happen and keep the error or fix throwing an error and return a MatchNoDocs query here instead. But that would probably mean also not throwing errors on queries where from cleary > to:
Or we could only prevent the error if the lower value <= higher value but the "includeUpper/Lower" setting causes the bounds to reverse... |
Currently we throw an error when a range querys minimum value exceeds the maximum value due to the fact that they are neighbouring values and both upper and lower value are excluded from the interval. Since this is a condition that the user usually doesn't specify conciously (at least in the case of float and double values its difficult to see which values are adjacent) we should ignore those "wrong" intervals and create a MatchNoDocsQuery in those cases. We should still throw errors with an actionable message if the user specifies the query interval in a way that min value > max value. This PR adds those checks and tests for those cases. Closes #40937
Currently we throw an error when a range querys minimum value exceeds the maximum value due to the fact that they are neighbouring values and both upper and lower value are excluded from the interval. Since this is a condition that the user usually doesn't specify conciously (at least in the case of float and double values its difficult to see which values are adjacent) we should ignore those "wrong" intervals and create a MatchNoDocsQuery in those cases. We should still throw errors with an actionable message if the user specifies the query interval in a way that min value > max value. This PR adds those checks and tests for those cases. Closes #40937
Currently we throw an error when a range querys minimum value exceeds the maximum value due to the fact that they are neighbouring values and both upper and lower value are excluded from the interval. Since this is a condition that the user usually doesn't specify conciously (at least in the case of float and double values its difficult to see which values are adjacent) we should ignore those "wrong" intervals and create a MatchNoDocsQuery in those cases. We should still throw errors with an actionable message if the user specifies the query interval in a way that min value > max value. This PR adds those checks and tests for those cases. Closes elastic#40937
It failed on CI for
7.0
, but reproduces on masterhttps://elasticsearch-ci.elastic.co/job/elastic+elasticsearch+7.0+intake/654/console
The text was updated successfully, but these errors were encountered: