-
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
Also mmap terms index (.tip
) files for hybridfs
#43150
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This change adds the terms index (`.tip`) to the list of extensions that are memory-mapped by hybridfs. These files used to be accessed only once to load the terms index on-heap but since elastic#42838 they can now be used to read the binary FST directly so it is benefical to memory-map them instead of accessing them via NIO.
jimczi
added
>enhancement
:Distributed Indexing/Engine
Anything around managing Lucene and the Translog in an open shard.
v8.0.0
v7.3.0
labels
Jun 12, 2019
Pinging @elastic/es-distributed |
jpountz
approved these changes
Jun 12, 2019
awesome! |
s1monw
approved these changes
Jun 12, 2019
s1monw
added a commit
to s1monw/elasticsearch
that referenced
this pull request
Jun 12, 2019
…ctionary Given the significant performance impact that NIOFS has when term dicts are loaded off-heap this change enforces FstLoadMode#AUTO that loads term dicts off heap only if the underlying index input indicates a memory map. Relates to elastic#43150
jimczi
added a commit
that referenced
this pull request
Jun 12, 2019
This change adds the terms index (`.tip`) to the list of extensions that are memory-mapped by hybridfs. These files used to be accessed only once to load the terms index on-heap but since #42838 they can now be used to read the binary FST directly so it is benefical to memory-map them instead of accessing them via NIO.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
:Distributed Indexing/Engine
Anything around managing Lucene and the Translog in an open shard.
>enhancement
v7.3.0
v8.0.0-alpha1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change adds the terms index (
.tip
) to the list of extensionsthat are memory-mapped by hybridfs. These files used to be accessed
only once to load the terms index on-heap but since #42838 they can
now be used to read the binary FST directly so it is beneficial to
memory-map them instead of accessing them via NIO.
This commit should fix the slowdowns that appeared in the large
terms
query (nightly-oss-geonames-add-defaults-large_terms-latency) of the geonames rally track after #42838:https://elasticsearch-benchmarks.elastic.co/index.html#tracks/geonames/nightly/oss/
I ran the same benchmark locally with and without this patch and it seems that the patch restores the original performance: