pinot icon indicating copy to clipboard operation
pinot copied to clipboard

[multisage] support ORDER BY

Open walterddr opened this issue 3 years ago • 1 comments

Support ORDER BY in intermediate stage. Similar to AGG operator without GROUP BY, this ORDER BY implementation only supported a final stage, single-server reduce logic.

TODOs

  • introduce multi-stage order-by
  • introduce K-sorted merge algorithm.

Also related to #9292

walterddr avatar Aug 25 '22 17:08 walterddr

Codecov Report

Merging #9279 (e2f3d4c) into master (0f4bcfc) will decrease coverage by 0.00%. The diff coverage is 81.29%.

@@             Coverage Diff              @@
##             master    #9279      +/-   ##
============================================
- Coverage     69.80%   69.79%   -0.01%     
+ Complexity     4777     4775       -2     
============================================
  Files          1875     1877       +2     
  Lines         99860    99944      +84     
  Branches      15194    15211      +17     
============================================
+ Hits          69706    69760      +54     
- Misses        25231    25261      +30     
  Partials       4923     4923              
Flag Coverage Δ
integration1 26.19% <20.14%> (-0.02%) :arrow_down:
integration2 24.86% <20.14%> (-0.13%) :arrow_down:
unittests1 67.09% <81.29%> (+<0.01%) :arrow_up:
unittests2 15.31% <49.64%> (+0.05%) :arrow_up:

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

Impacted Files Coverage Δ
...pinot/query/parser/CalciteRexExpressionParser.java 50.00% <0.00%> (+3.06%) :arrow_up:
.../pinot/query/runtime/utils/ServerRequestUtils.java 80.35% <0.00%> (-13.40%) :arrow_down:
...not/query/planner/logical/RelToStageConverter.java 75.00% <57.14%> (+1.08%) :arrow_up:
...ot/query/runtime/executor/WorkerQueryExecutor.java 95.16% <80.00%> (+0.42%) :arrow_up:
...che/pinot/query/runtime/operator/SortOperator.java 83.01% <83.01%> (ø)
...t/core/query/selection/SelectionOperatorUtils.java 96.30% <97.67%> (+0.23%) :arrow_up:
...core/query/selection/SelectionOperatorService.java 94.44% <100.00%> (-1.39%) :arrow_down:
...org/apache/pinot/query/planner/stage/SortNode.java 100.00% <100.00%> (ø)
...pinot/query/planner/stage/StageNodeSerDeUtils.java 94.28% <100.00%> (+0.16%) :arrow_up:
...g/apache/pinot/server/api/resources/ErrorInfo.java 0.00% <0.00%> (-100.00%) :arrow_down:
... and 35 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

codecov-commenter avatar Aug 27 '22 18:08 codecov-commenter