[ https://issues.apache.org/jira/browse/MAPREDUCE-5136?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Amir Sanjar updated MAPREDUCE-5136: ----------------------------------- Summary: TestJobImpl->testJobNoTasks fails with IBM JAVA .. (was: TestJobImpl->testJobNoTasks fails ..) > TestJobImpl->testJobNoTasks fails with IBM JAVA .. > -------------------------------------------------- > > Key: MAPREDUCE-5136 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-5136 > Project: Hadoop Map/Reduce > Issue Type: Bug > Affects Versions: 2.0.3-alpha > Environment: Linux + IBM JAVA 6 > Reporter: Amir Sanjar > Assignee: Amir Sanjar > Attachments: MAPREDUCE-5136.patch > > > I am not sure if this is a testcase or a design issue. During execution of > TestJobImpl->testJobNoTasks() there is an assertion made based on the order > of key/value pairs stored in adjacency list. However adjacency list was > created by Configuration->getValByRegex() as a HashMap (order is not > guaranteed): > Testcase: > JobSubmittedEventHandler jseHandler = new > JobSubmittedEventHandler("testId", > "testName", "testNodeName", "\"key2\"=\"value2\" \"key1\"=\"value1\" > "); > .... > .... > try { > Assert.assertTrue(jseHandler.getAssertValue()); <=== > Configuration->getValByRegex(): > public Map<String,String> getValByRegex(String regex) { > Pattern p = Pattern.compile(regex); > Map<String,String> result = new HashMap<String,String>(); <======= > > as we all know, HashMap makes absolutely no guarantees about the iteration > order. It can (and will) even change completely when new elements are added. > Changing HashMap to LinkedHashMap fixes the ordering inconsistency, however > with a small performance side effect. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira