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

Enable range index on raw columns and push counts down to range index when v2 is in use #8513

Merged
merged 4 commits into from
Apr 19, 2022

Conversation

richardstartin
Copy link
Member

This extends the fast count mechanism to v2 range indexes now that the underlying data structure supports counting. Also does some code cleanup in this area.

@codecov-commenter
Copy link

codecov-commenter commented Apr 12, 2022

Codecov Report

Merging #8513 (49fed85) into master (44da1a0) will decrease coverage by 1.24%.
The diff coverage is 32.22%.

@@             Coverage Diff              @@
##             master    #8513      +/-   ##
============================================
- Coverage     70.59%   69.34%   -1.25%     
- Complexity     4227     4292      +65     
============================================
  Files          1674     1675       +1     
  Lines         87618    87664      +46     
  Branches      13272    13279       +7     
============================================
- Hits          61852    60792    -1060     
- Misses        21477    22607    +1130     
+ Partials       4289     4265      -24     
Flag Coverage Δ
integration1 26.81% <11.11%> (-0.07%) ⬇️
integration2 ?
unittests1 66.96% <31.11%> (-0.05%) ⬇️
unittests2 14.08% <0.00%> (-0.06%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
...lter/predicate/RangePredicateEvaluatorFactory.java 83.90% <ø> (ø)
...al/segment/index/readers/RangeIndexReaderImpl.java 80.21% <0.00%> (-8.81%) ⬇️
...operator/filter/RangeIndexBasedFilterOperator.java 31.57% <26.47%> (-1.12%) ⬇️
...gment/index/readers/BitSlicedRangeIndexReader.java 81.25% <83.33%> (+0.69%) ⬆️
...not/segment/spi/index/reader/RangeIndexReader.java 100.00% <100.00%> (ø)
...apache/pinot/common/helix/ExtraInstanceConfig.java 0.00% <0.00%> (-100.00%) ⬇️
...t/core/plan/StreamingInstanceResponsePlanNode.java 0.00% <0.00%> (-100.00%) ⬇️
...ore/operator/streaming/StreamingResponseUtils.java 0.00% <0.00%> (-100.00%) ⬇️
...ager/realtime/PeerSchemeSplitSegmentCommitter.java 0.00% <0.00%> (-100.00%) ⬇️
...he/pinot/core/plan/StreamingSelectionPlanNode.java 0.00% <0.00%> (-88.89%) ⬇️
... and 109 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 44da1a0...49fed85. Read the comment docs.

Copy link
Contributor

@walterddr walterddr left a comment

Choose a reason for hiding this comment

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

looks good to me overall. I just have 2 questions. please kindly take a look

Copy link
Contributor

@Jackie-Jiang Jackie-Jiang left a comment

Choose a reason for hiding this comment

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

LGTM otherwise. There is a major comment on a copy-pasted bug

@richardstartin richardstartin changed the title push counts down to range index when v2 is in use Enable range index on raw columns and push counts down to range index when v2 is in use Apr 19, 2022
@richardstartin
Copy link
Member Author

richardstartin commented Apr 19, 2022

@Jackie-Jiang the copy-paste bug you spotted was revealing - range indexes over raw columns was not actually supported, despite #5853 aiming to add support. Commit fe28919 addresses that. Commit f30099e addresses your review comments, and adds a test to verify the bug is fixed (and that the code executes).

@richardstartin richardstartin merged commit 6eff177 into apache:master Apr 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants