[ 
https://issues.apache.org/jira/browse/DRILL-7583?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17037055#comment-17037055
 ] 

ASF GitHub Bot commented on DRILL-7583:
---------------------------------------

ihuzenko commented on pull request #1981: DRILL-7583: Remove STOP status from 
operator outcome
URL: https://github.com/apache/drill/pull/1981#discussion_r379438509
 
 

 ##########
 File path: 
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/HashJoinBatch.java
 ##########
 @@ -515,99 +536,95 @@ public HashJoinMemoryCalculator getCalculatorImpl() {
   @Override
   public IterOutcome innerNext() {
     if (wasKilled) {
-      // We have received a kill signal. We need to stop processing.
-      this.cleanup();
-      super.close();
+      // We have received a cancel signal. We need to stop processing.
+      cleanup();
       return IterOutcome.NONE;
     }
 
     prefetchFirstBuildBatch();
 
     if (rightUpstream.isError()) {
-      // A termination condition was reached while prefetching the first build 
side data holding batch.
+      // A termination condition was reached while prefetching the first build
+      // side data holding batch.
       // We need to terminate.
       return rightUpstream;
     }
 
     try {
-      /* If we are here for the first time, execute the build phase of the
-       * hash join and setup the run time generated class for the probe side
+      /*
+       * If we are here for the first time, execute the build phase of the hash
+       * join and setup the run time generated class for the probe side
        */
       if (state == BatchState.FIRST) {
         // Build the hash table, using the build side record batches.
         IterOutcome buildExecuteTermination = executeBuildPhase();
 
         if (buildExecuteTermination != null) {
-          // A termination condition was reached while executing the build 
phase.
+          // A termination condition was reached while executing the build
+          // phase.
           // We need to terminate.
           return buildExecuteTermination;
         }
 
         buildComplete = true;
 
         if (isRowKeyJoin) {
-          // discard the first left batch which was fetched by buildSchema, 
and get the new
+          // discard the first left batch which was fetched by buildSchema, and
+          // get the new
 
 Review comment:
   merge with line below
 
----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Remove STOP status in favor of fail-fast
> ----------------------------------------
>
>                 Key: DRILL-7583
>                 URL: https://issues.apache.org/jira/browse/DRILL-7583
>             Project: Apache Drill
>          Issue Type: Improvement
>    Affects Versions: 1.17.0
>            Reporter: Paul Rogers
>            Assignee: Paul Rogers
>            Priority: Major
>             Fix For: 1.18.0
>
>
> The original error solution was a complex process of a) setting a failed 
> flag, b) telling all upstream operators they have failed, c) returning a 
> {{STOP}} status.  Drill has long supported a "fail-fast" error path based on 
> throwing an exception; relying on the fragment executor to clean up the 
> operator stack. Recent revisions have converted most operators to use the 
> simpler fail-fast strategy based on throwing an exception instead of using 
> the older {{STOP}} approach. This change simply removes the old, now-unused 
> {{STOP}} based path.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to