Kuhu Shukla commented on TEZ-3437:

Something like this :
TezProcessorContextImpl :
  public void setProgress(float progress) {
To be consistent we would need to add the following to MRTaskReporter :
if (isProcessorContext) {

This would mean that setProgress does not auto-invoke notifyProgress after this 
change. Would that be acceptable?
Another way would have been as I mentioned above, have runtimeTask available to 
the progress thread, which is not straight forward since we use 
ProcessorContext objects (an interface) and type casting to 
{{TezProcessorContextImpl}} breaks dependency rules and would be restrictive.

> Improve synchronization and the progress report behavior for Inputs from 
> TEZ-3317
> ---------------------------------------------------------------------------------
>                 Key: TEZ-3437
>                 URL: https://issues.apache.org/jira/browse/TEZ-3437
>             Project: Apache Tez
>          Issue Type: Bug
>            Reporter: Kuhu Shukla
>            Assignee: Kuhu Shukla
>         Attachments: TEZ-3437.001.patch, TEZ-3437.002.patch, 
> TEZ-3437.003.patch
> Follow up from TEZ-3317 to improve the getProgress thread synchronization and 
> replace timerTasks with ScheduledExecutorService. 

This message was sent by Atlassian JIRA

Reply via email to