You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-issues@hadoop.apache.org by "Jason Lowe (JIRA)" <ji...@apache.org> on 2013/04/11 21:12:14 UTC

[jira] [Commented] (MAPREDUCE-5136) TestJobImpl->testJobNoTasks fails with IBM JAVA

    [ https://issues.apache.org/jira/browse/MAPREDUCE-5136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13629240#comment-13629240 ] 

Jason Lowe commented on MAPREDUCE-5136:
---------------------------------------

+1, looks good to me.  I'll commit this shortly.
                
> 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