-
Notifications
You must be signed in to change notification settings - Fork 25.2k
Should ReadOnlyEngine always load terms dictionary off-heap ? #51247
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
Comments
Pinging @elastic/es-distributed (:Distributed/Engine) |
This was explicitly changed for
Can we quantify the performance impact? |
The main impact would be on queries that needs to read heavily from the terms dictionary (big Another option would be to deprecate/remove the I opened this issue with searchable snapshots in mind so even if we decide that we want to keep the current behavior for frozen indices we should add a way to override the default for new engines. |
We discussed this in the distrib sync, and are fine moving forward with this. |
This is a partial restore of elastic#43158, following decision taken in elastic#51247
Today
ReadOnlyEngine
loads the terms dictionary for all fields off-heap only if the underlying directory is usingmmap
to access the file. This means that frozen indices can consume more heap if they are opened withniofs
, which defeats one of the main benefit since they could use more memory than a non-frozen index opened with the default directory.I am opening this issue to discuss whether we should always load terms dictionary off-heap for fields contained in a read-only index. Currently only frozen indices would be concerned but this decision would affect searchable snapshots too since they cannot use
mmap
to load data from a remote filesystem.The text was updated successfully, but these errors were encountered: