hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Amir Sanjar (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HADOOP-9465) TestJobImpl->testJobNoTasks fails ..
Date Sun, 07 Apr 2013 05:25:21 GMT
Amir Sanjar created HADOOP-9465:
-----------------------------------

             Summary: TestJobImpl->testJobNoTasks fails ..
                 Key: HADOOP-9465
                 URL: https://issues.apache.org/jira/browse/HADOOP-9465
             Project: Hadoop Common
          Issue Type: Bug
          Components: conf
    Affects Versions: 2.0.3-alpha
         Environment: Linux + IBM JAVA 6
            Reporter: Amir Sanjar


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

Mime
View raw message