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

Nested and parent child filters should live outside of filter cache #7031

Closed
martijnvg opened this Issue Jul 25, 2014 · 0 comments

Comments

Projects
None yet
2 participants
@martijnvg
Copy link
Member

martijnvg commented Jul 25, 2014

Query and filters that rely on filters to be cached and have random access (FixedBitSet) to run fast should be kept around outside of the filter cache. The filter cache may evict these filters and nested and parent/child need then to be cached in order to be fast.

There should be separate service that keeps just FixedBitSet instance around.

@martijnvg martijnvg added the adoptme label Jul 25, 2014

@dakrone dakrone removed the adoptme label Aug 1, 2014

martijnvg added a commit to martijnvg/elasticsearch that referenced this issue Aug 4, 2014

Introduced the notion of a RandomAccessFilter that guarantees to prod…
…uce a FixedBitSet.

Nested and parent/child rely on the fact that type filters produce a FixedBitSet, the RandomAccessFilter does this.
Also if nested and parent/child is configured the type filters are eagerly loaded by default.

Closes elastic#7037
Closes elastic#7031

martijnvg added a commit to martijnvg/elasticsearch that referenced this issue Aug 27, 2014

Introduced FixedBitSetFilterCache that guarantees to produce a FixedB…
…itSet and does evict based on size or time.

Only when segments are merged away due to merging then entries in this cache are cleaned up.

Nested and parent/child rely on the fact that type filters produce a FixedBitSet, the FixedBitSetFilterCache does this.
Also if nested and parent/child is configured the type filters are eagerly loaded by default via the FixedBitSetFilterCache.

Closes elastic#7037
Closes elastic#7031

martijnvg added a commit to martijnvg/elasticsearch that referenced this issue Aug 27, 2014

Introduced FixedBitSetFilterCache that guarantees to produce a FixedB…
…itSet and does evict based on size or time.

Only when segments are merged away due to merging then entries in this cache are cleaned up.

Nested and parent/child rely on the fact that type filters produce a FixedBitSet, the FixedBitSetFilterCache does this.
Also if nested and parent/child is configured the type filters are eagerly loaded by default via the FixedBitSetFilterCache.

Closes elastic#7037
Closes elastic#7031

@martijnvg martijnvg closed this in 94eed4e Aug 27, 2014

martijnvg added a commit that referenced this issue Aug 27, 2014

Introduced FixedBitSetFilterCache that guarantees to produce a FixedB…
…itSet and does evict based on size or time.

Only when segments are merged away due to merging then entries in this cache are cleaned up.

Nested and parent/child rely on the fact that type filters produce a FixedBitSet, the FixedBitSetFilterCache does this.
Also if nested and parent/child is configured the type filters are eagerly loaded by default via the FixedBitSetFilterCache.

Closes #7037
Closes #7031

martijnvg added a commit that referenced this issue Sep 8, 2014

Introduced FixedBitSetFilterCache that guarantees to produce a FixedB…
…itSet and does evict based on size or time.

Only when segments are merged away due to merging then entries in this cache are cleaned up.

Nested and parent/child rely on the fact that type filters produce a FixedBitSet, the FixedBitSetFilterCache does this.
Also if nested and parent/child is configured the type filters are eagerly loaded by default via the FixedBitSetFilterCache.

Closes #7037
Closes #7031
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.