You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by GitBox <gi...@apache.org> on 2018/07/10 23:19:38 UTC

[GitHub] Ben-Zvi opened a new pull request #1373: DRILL-6517: Hash-Join: If not OK, exit early from prefetchFirstBatchFromBothSides

Ben-Zvi opened a new pull request #1373: DRILL-6517: Hash-Join: If not OK, exit early from prefetchFirstBatchFromBothSides
URL: https://github.com/apache/drill/pull/1373
 
 
    When a running query is cancelled (e.g., when Disk is full while spilling), many next() calls return a STOP outcome. Any Hash-Join that is "sniffing" its incoming batches (by repeatedly calling next()) would proceed to update the memory manager regardless of the outcomes returned.
      In some abnormal outcomes (like STOP), the batch's container is **not initialized**. The update call needs the batch's row count, which for *RemovingRecordBatch* is implemented (differently) by invoking the container's getRowCount() -- so in this case the call fails.
     The Fix: Move all the checks for the abnormal conditions immediately after the "sniffing", thus returning early and avoiding the update of the memory manager.
     Longer term question: How to implement getRowCount() for the record batch consistently.
   

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