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
Failures in constructing aggs can cause pages not to be released #5703
Labels
Comments
kimchy
added a commit
that referenced
this issue
Apr 7, 2014
kimchy
added a commit
that referenced
this issue
Apr 7, 2014
jpountz
added a commit
to jpountz/elasticsearch
that referenced
this issue
Apr 14, 2014
For resources that have their life time effectively defined by the search context they are attached to, it is convenient to use the search context to schedule the release of such resources. This commit changes aggregations to use this mechanism and also introduces a `Lifetime` object that can be used to define how long the object should live: - COLLECTION: if the object only needs to live during collection time and is what SearchContext.addReleasable would have chosen before this change (used for p/c queries), - SEARCH_PHASE for resources that only need to live during the current search phase (DFS, QUERY or FETCH), - SEARCH_CONTEXT for resources that need to live until the context is destroyed. Aggregators are currently registed with SEARCH_CONTEXT. The reason is that when using the DFS_QUERY_THEN_FETCH search type, they are allocated during the DFS phase but only used during the QUERY phase. However we should fix it in order to only allocate them during the QUERY phase and use SEARCH_PHASE as a life time. Close elastic#5703
jpountz
added a commit
that referenced
this issue
Apr 14, 2014
For resources that have their life time effectively defined by the search context they are attached to, it is convenient to use the search context to schedule the release of such resources. This commit changes aggregations to use this mechanism and also introduces a `Lifetime` object that can be used to define how long the object should live: - COLLECTION: if the object only needs to live during collection time and is what SearchContext.addReleasable would have chosen before this change (used for p/c queries), - SEARCH_PHASE for resources that only need to live during the current search phase (DFS, QUERY or FETCH), - SEARCH_CONTEXT for resources that need to live until the context is destroyed. Aggregators are currently registed with SEARCH_CONTEXT. The reason is that when using the DFS_QUERY_THEN_FETCH search type, they are allocated during the DFS phase but only used during the QUERY phase. However we should fix it in order to only allocate them during the QUERY phase and use SEARCH_PHASE as a life time. Close #5703
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
When constructing aggs, there might be failures (like validation failures) that can cause pages obtained at a previous step in the agg construction not to be released.
The text was updated successfully, but these errors were encountered: