Skip to content
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

Fix UOE on search requests that match a sparse role query #43668

Merged
merged 3 commits into from
Jun 27, 2019

Conversation

jimczi
Copy link
Contributor

@jimczi jimczi commented Jun 27, 2019

Search requests executed through the SecurityIndexSearcherWrapper throw
an UnsupportedOperationException if they match a sparse role query.
When low level cancellation is activated (which is the default since #42857),
the context index searcher creates a weight that doesn't handle #scorer.
This change fixes this bug and adds a test to ensure that we check this case.

jimczi added 2 commits June 27, 2019 03:26
Search requests executed through the SecurityIndexSearcherWrapper throw
an UnsupportedOperationException if they match a sparse role query.
When low level cancellation is activated (which is the default since elastic#42857),
the context index searcher creates a weight that doesn't handle #scorer.
This change fixes this bug and adds a test to ensure that we check this case.
@jimczi jimczi added >bug :Search/Search Search-related issues that do not fall into other categories :Security/Security Security issues without another label v8.0.0 v7.3.0 v7.2.1 labels Jun 27, 2019
@jimczi jimczi requested a review from jpountz June 27, 2019 01:29
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-search

@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-security

public boolean isCacheable(LeafReaderContext ctx) {
throw new UnsupportedOperationException();
public Scorer scorer(LeafReaderContext context) throws IOException {
return weight.scorer(context);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe leave a comment why this method might be called at times

@jimczi
Copy link
Contributor Author

jimczi commented Jun 27, 2019

@elasticmachine run elasticsearch-ci/2

@jimczi jimczi merged commit 0a0eb97 into elastic:master Jun 27, 2019
@jimczi jimczi deleted the bug/index_searcher_wrapper_weight branch June 27, 2019 14:56
jimczi added a commit that referenced this pull request Jun 27, 2019
Search requests executed through the SecurityIndexSearcherWrapper throw
an UnsupportedOperationException if they match a sparse role query.
When low level cancellation is activated (which is the default since #42857),
the context index searcher creates a weight that doesn't handle #scorer.
This change fixes this bug and adds a test to ensure that we check this case.
jimczi added a commit that referenced this pull request Jun 27, 2019
Search requests executed through the SecurityIndexSearcherWrapper throw
an UnsupportedOperationException if they match a sparse role query.
When low level cancellation is activated (which is the default since #42857),
the context index searcher creates a weight that doesn't handle #scorer.
This change fixes this bug and adds a test to ensure that we check this case.
@jpountz jpountz added :Search/Search Search-related issues that do not fall into other categories and removed :Search/Search Search-related issues that do not fall into other categories :Security/Security Security issues without another label labels Jul 5, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
>bug :Search/Search Search-related issues that do not fall into other categories v7.2.1 v7.3.0 v8.0.0-alpha1
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants