QiuMM commented on issue #6517: Tasks got stuck when upload log files to hdfs
URL: 
https://github.com/apache/incubator-druid/issues/6517#issuecomment-433121057
 
 
   I added timeout logic in `ForkingTaskRunner` like this:
   ```java
   final ListenableFuture<Void> uploadLogFuture = MoreExecutors
                                     .sameThreadExecutor()
                                     .submit(() -> {
                                               
taskLogPusher.pushTaskLog(task.getId(), logFile);
                                               if (reportsFile.exists()) {
                                                 
taskLogPusher.pushTaskReports(task.getId(), reportsFile);
                                               }
                                               return null;
                                             }
                                     );
                                 if (taskConfig.getUploadLogTimeout() == 0) {
                                   uploadLogFuture.get();
                                 } else {
                                   try {
                                     
uploadLogFuture.get(taskConfig.getUploadLogTimeout(), TimeUnit.MILLISECONDS);
                                   }
                                   catch (TimeoutException e) {
                                     log.makeAlert("Timed out after [%d] millis 
waiting for upload log file", taskConfig.getUploadLogTimeout())
                                        .addData("TaskId", task.getId())
                                        .emit();
                                   }
                                 }
   ```

----------------------------------------------------------------
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:
[email protected]


With regards,
Apache Git Services

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

Reply via email to