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/01/16 19:08:10 UTC

[GitHub] jihoonson opened a new pull request #6875: Fix fallback to cursor-based plan in UseIndexesStrategy

jihoonson opened a new pull request #6875: Fix fallback to cursor-based plan in UseIndexesStrategy
URL: https://github.com/apache/incubator-druid/pull/6875
 
 
   `UseIndexesStrategy` falls back to cursor-based plan if filter doesn't support bitmap index as seen in the below, but `nonBitmapSuppDims` is an immutableList.
   
   ```java
           // Index-only plan is used only when any filter is not specified or the filter supports bitmap indexes.
           //
           // Note: if some filters support bitmap indexes but others are not, the current implementation always employs
           // the cursor-based plan. This can be more optimized. One possible optimization is generating a bitmap index
           // from the non-bitmap-support filter, and then use it to compute the filtered result by intersecting bitmaps.
           if (filter == null || filter.supportsBitmapIndex(selector)) {
             final ImmutableBitmap timeFilteredBitmap = makeTimeFilteredBitmap(index, segment, filter, interval);
             builder.add(new IndexOnlyExecutor(query, segment, timeFilteredBitmap, bitmapSuppDims));
           } else {
             // Fall back to cursor-based execution strategy
             nonBitmapSuppDims.addAll(bitmapSuppDims);
           }
   ```

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on 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