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

Make sure to include class name in Query hash codes #75871

Merged
merged 1 commit into from
Aug 3, 2021

Conversation

jtibshirani
Copy link
Contributor

In some Query subclasses, we forgot to include the class name when computing
hashCode. This could increase the chance of collision between query hash codes.
Hash code collisions shouldn't affect correctness, but could change query
caching behavior since UsageTrackingQueryCachingPolicy tracks query frequency
based on hash codes.

The PR also simplifies some 'equals' methods to use the helper method
sameClassAs.

In some Query subclasses, we forgot to include the class name when computing
hashCode. This could increase the chance of collision between query hash codes.
Hash code collisions shouldn't affect correctness, but could change query
caching behavior since UsageTrackingQueryCachingPolicy tracks query frequency
based on hash codes.

The PR also simplifies some 'equals' methods to use the helper method
sameClassAs.
@jtibshirani jtibshirani added >non-issue :Search/Search Search-related issues that do not fall into other categories v8.0.0 v7.15.0 labels Jul 30, 2021
@elasticmachine elasticmachine added the Team:Search Meta label for search team label Jul 30, 2021
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-search (Team:Search)

@jtibshirani
Copy link
Contributor Author

I noticed this while investigating #75848. I don't have evidence it was actually causing the surprising caching behavior, but seems worth fixing on its own.

@jtibshirani jtibshirani requested a review from markharwood July 30, 2021 09:25
Copy link
Contributor

@ywelsch ywelsch left a comment

Choose a reason for hiding this comment

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

LGTM

@jtibshirani
Copy link
Contributor Author

Thanks for the review !

@jtibshirani jtibshirani merged commit 0350307 into elastic:master Aug 3, 2021
@jtibshirani jtibshirani deleted the query-hash-code branch August 3, 2021 08:38
jtibshirani added a commit that referenced this pull request Aug 3, 2021
In some Query subclasses, we forgot to include the class name when computing
hashCode. This could increase the chance of collision between query hash codes.
Hash code collisions shouldn't affect correctness, but could change query
caching behavior since UsageTrackingQueryCachingPolicy tracks query frequency
based on hash codes.

The PR also simplifies some 'equals' methods to use the helper method
sameClassAs.
lockewritesdocs pushed a commit to lockewritesdocs/elasticsearch that referenced this pull request Aug 3, 2021
In some Query subclasses, we forgot to include the class name when computing
hashCode. This could increase the chance of collision between query hash codes.
Hash code collisions shouldn't affect correctness, but could change query
caching behavior since UsageTrackingQueryCachingPolicy tracks query frequency
based on hash codes.

The PR also simplifies some 'equals' methods to use the helper method
sameClassAs.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
>non-issue :Search/Search Search-related issues that do not fall into other categories Team:Search Meta label for search team v7.15.0 v8.0.0-alpha1
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants