You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by GitBox <gi...@apache.org> on 2019/08/08 01:12:44 UTC

[GitHub] [incubator-druid] jihoonson opened a new pull request #8257: Add support for parallel native indexing with shuffle for perfect rollup

jihoonson opened a new pull request #8257: Add support for parallel native indexing with shuffle for perfect rollup
URL: https://github.com/apache/incubator-druid/pull/8257
 
 
   Part of https://github.com/apache/incubator-druid/issues/8061.
   
   This PR is based on https://github.com/apache/incubator-druid/pull/8236.
   
   ### Description
   
   This PR adds support for parallel native indexing with shuffle for perfect rollup.
   
   #### New configurations in `tuningConfig` for parallel index task:
   
   - `forceGuaranteedRollup`: parallel indexing is executed in two phases with shuffle if this is set.
   - `maxNumSegmentsToMerge`: Max limit for the number of segments that a single task can merge at the same time in the second phase. Used only `forceGuaranteedRollup` is set.
   - `totalNumMergeTasks`: Total number of tasks to merge segments in the second phase when `forceGuaranteedRollup` is set.
   
   #### Refactoring
   
   - `FiniteFirehoseProcessor` is added to share the duplicate codes to process a firehose
   - `ParallelIndexPhaseRunner` is added to share the duplicate codes in the implementations of ParallelIndexTaskRunner
   - Added `SubTaskReport` interface to support different types of subtask reports
   
   #### Multi-phase indexing
   
   If `forceGuaranteedRollup` is set, `ParallelIndexSupervisorTask` runs `PartialSegmentGenerateParallelIndexTaskRunner` and `PartialSegmentMergeParallelIndexTaskRunner` for the first and second phases, respectively. 
   
   <hr>
   
   This PR has:
   - [x] been self-reviewed.
      - [x] using the [concurrency checklist](https://github.com/apache/incubator-druid/blob/master/dev/code-review/concurrency.md) (Remove this item if the PR doesn't have any relation to concurrency.)
   - [x] added documentation for new or modified features or behaviors.
   - [x] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
   - [x] added unit tests or modified existing tests to cover new code paths.
   - [x] been tested in a test Druid cluster.
     - tested by ingesting the lineitem data of TPC-H@100GB

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org