[ https://issues.apache.org/jira/browse/MAPREDUCE-2967?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Allen Wittenauer updated MAPREDUCE-2967: ---------------------------------------- Fix Version/s: (was: 0.24.0) > PB implementations of all records should have getters, setters and getProto() > properly synchronized > --------------------------------------------------------------------------------------------------- > > Key: MAPREDUCE-2967 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-2967 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: mrv2 > Affects Versions: 0.23.0, 3.0.0 > Reporter: Vinod Kumar Vavilapalli > Assignee: Vinod Kumar Vavilapalli > > In the past, I've been bitten by multiple, very hard-to-debug race conditions > with YARN+MR which all boiled down to locking bugs in PB implementation of > various records. > The main reason seems to be that while the _getProto()_ method in each record > rebuilds the protocol object, if someone accesses a filed using a getter, it > returns zero or a null object. Because of this, while _getProto()_ is in > progress, _hashCode()_, _equals()_, _toString()_ etc are all affected, > leading to hard-to-debug races. I corned this down after much logging in > almost all the cases. > Over time, we've fixed this for most of the ID records. > This JIRA should fix it for *all* the records once and for all. -- This message was sent by Atlassian JIRA (v6.3.4#6332)