Skip to content

Conversation

@jimczi
Copy link
Contributor

@jimczi jimczi commented Dec 7, 2020

This commit removes the rollup thread pool and replaces all its usage
with the generic one. The rollup indexer uses the internal client to
perform asynchronous search and indexation tasks so we don't need a
separate pool to handle these requests.

This commit refactors the rollup action in order to execute on a per shard basis.
Each shard is responsible for sending its local buckets to the target rollup index.
The shard action is executed in the rollup thread pool in order to limit the
number of shards that can rollup concurrently per node.
Buckets are computed on the fly using the index searcher and they are sorted
using a compressed offline sorter.

This commit also removes the rollup thread pool usage in the RollupAsyncIndexer that is used by
the legacy rollup and transforms. All actions performed by this indexer are asynchronous so
using the generic thread pool to fire search and bulk requests is ok.
This commit removes the rollup thread pool and replaces all its usage
with the generic one. The rollup indexer uses the internal client to
perform asynchronous search and indexation tasks so we don't need a
separate pool to handle these requests.
@jimczi jimczi added >enhancement :StorageEngine/Rollup Turn fine-grained time-based data into coarser-grained data v8.0.0 v7.11.0 labels Dec 7, 2020
@jimczi jimczi requested review from csoulios and talevy December 7, 2020 16:01
@elasticmachine elasticmachine added the Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) label Dec 7, 2020
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-analytics-geo (Team:Analytics)

Copy link
Contributor

@talevy talevy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall looks great!

we're positive that this is OK with Transforms as well?

@jimczi jimczi merged commit cbf6499 into elastic:master Dec 16, 2020
@jimczi jimczi deleted the rollup_thread_pool branch December 16, 2020 16:55
jimczi added a commit that referenced this pull request Dec 18, 2020
This commit removes the rollup thread pool usage in the RollupAsyncIndexer that is used by
the legacy rollup and transforms. All actions performed by this indexer are asynchronous so
using the generic thread pool to fire search and bulk requests is ok.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

>enhancement :StorageEngine/Rollup Turn fine-grained time-based data into coarser-grained data Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) v7.12.0 v8.0.0-alpha1

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants