gianm opened a new pull request, #20466:
URL: https://github.com/apache/druid/pull/20466

   The skipVectorize parameter is inherently susceptible to masking bugs, 
because it skips vectorization tests completely rather than asserting some 
specific problem. This patch moves most usages of skipVectorize to 
cannotVectorize, where appropriate, or else deals with them some other way.
   
   Production changes:
   
   1) The native Scan and TopN implementations are updated to always throw
      when "vectorize: force" is used. The same change is made to the MSQ
      Scan implementation when it runs over an input channel. These changes
      aid in writing test cases and are also arguably more correct behavior.
   
   2) Subquery errors were lost in ClientQuerySegmentWalker when
      maxSubqueryBytes was set. This is because the groupBy, topN, and
      timeseries toolchests would run the subquery in resultsAsFrames, and
      all exceptions were caught and suppressed. Now, the code is
      restructured to avoid catching errors unnecessarily.
   
   3) Scan subquery results were not previously closed properly, due to
      a closeable iterator being passed to Sequences.simple. This is fixed
      by migrating the Iterator to a Sequence itself.
   
   4) Decoupled + preplanned Dart queries ignored query context when
      building stages. In the context of this patch, this had caused
      the "vectorize" context parameter to be lost.
   
   As a result of (3), previously decoupled Dart tests were never actually 
testing vectorization. Fixing the bug revealed that many of them cannot 
vectorize due to adding extra stages beyond what is necessary. To avoid needing 
to deal with that, the decoupled Dart tests are updated to explicitly skip 
vectorization.


-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to