deniskuzZ commented on code in PR #4899:
URL: https://github.com/apache/hive/pull/4899#discussion_r2324126394


##########
ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezProcessor.java:
##########
@@ -293,6 +293,13 @@ protected void initializeAndRunProcessor(Map<String, 
LogicalInput> inputs,
       rproc.run();
 
       perfLogger.perfLogEnd(CLASS_NAME, PerfLogger.TEZ_RUN_PROCESSOR);
+
+      // Try to call canCommit to AM. If there is no other speculative attempt 
execute canCommit, then continue.
+      // If there are other speculative attempt execute canCommit first, then 
wait until the attempt is killed
+      // or the committed task fails.
+      while (!this.processorContext.canCommit()) {

Review Comment:
   @zhengchenyu, sleep is light. what about  `canCommit()` invocation every 100 
msec? @abstractdog was proposing a capped back-off not to sleep too long
   ````
   static final long MAX_SLEEP = 500;      
   long nextSleep = 50
   while (!processorContext.canCommit()) {
     nextSleep = backoff(nextSleep);
   }
   
   private void backoff(Long nextSleep) {
     try {
       Thread.sleep(nextSleep);
     } catch (InterruptedException e) {
     }
     if (nextSleep < MAX_SLEEP) {
       nextSleep = Math.min(MAX_SLEEP, nextSleep * 2);
     }
     return nextSleep;
   }
   ````



-- 
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: gitbox-unsubscr...@hive.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org
For additional commands, e-mail: gitbox-h...@hive.apache.org

Reply via email to