-
Notifications
You must be signed in to change notification settings - Fork 25.6k
ESQL: Improve Lookup Join performance with CachedDirectoryReader #137539
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
base: main
Are you sure you want to change the base?
Conversation
|
Pinging @elastic/es-analytical-engine (Team:Analytics) |
|
Hi @julian-elastic, I've created a changelog YAML for you. |
|
Buildkite benchmark this with esql-joins please |
|
|
||
| @Override | ||
| public void seekExact(BytesRef term, TermState state) throws IOException { | ||
| // TODO: when this can be true? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dnhatn Do you need me to do any research on this one?
|
Buildkite benchmark this with esql-joins please |
| if (terms == null) { | ||
| return null; | ||
| } | ||
| // Return a FilterTerms that always creates a fresh TermsEnum iterator |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@julian-elastic Sorry for the delay. I'm not sure this helps, since super.terms(k) likely gets it from a map as well. Is it possible to enable this cache only for a single term (depending on QueryList type), or to enable caching for DocValues only?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are right, I removed the termCache completely, and I still got the same improvement as without it.
|
Buildkite benchmark this with esql-joins please |
684cc88 to
3e5e9ff
Compare
|
Buildkite benchmark this with esql-joins please |
💚 Build Succeeded
This build ran two esql-joins benchmarks to evaluate performance impact of this PR. History |
Improve Lookup Join performance by caching objects needed for Lucene Queries.
Credit goes to @dnhatn