[ 
https://issues.apache.org/jira/browse/HADOOP-1105?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12486058
 ] 

David Bowen commented on HADOOP-1105:
-------------------------------------


I don't think it is useful to use volatile in these two cases:

  private volatile Progress taskProgress = new Progress();  
  private volatile Counters counters = new Counters(); 

These would be useful if one thread was assigning to  the variables 
taskProgress and counters, and another reading them.  What we have instead is 
one thread calling updater methods on the objects, and another calling getters.

I think the threading issues need to be handled in the objects themselves.  
Counters already aims to be thread-safe.  If you don't want to put 
synchroniztion in Progress, you might want to make its status, progress and 
currentPhase fields volatile.



> Reducers don't make "progress" while iterating through values
> -------------------------------------------------------------
>
>                 Key: HADOOP-1105
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1105
>             Project: Hadoop
>          Issue Type: Bug
>          Components: mapred
>    Affects Versions: 0.12.0
>            Reporter: Owen O'Malley
>         Assigned To: Owen O'Malley
>             Fix For: 0.12.3
>
>         Attachments: 1105.patch, 1105.patch
>
>
> Reduces make progress when they go to a new key, but not when they read the 
> next value, which could cause reduces to time out when they have a lot of 
> values for the same key.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to