[
https://issues.apache.org/jira/browse/HDFS-3374?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Brandon Li updated HDFS-3374:
-----------------------------
Resolution: Fixed
Target Version/s: 1.0.3 (was: 1.0.3, 2.0.0-alpha)
Status: Resolved (was: Patch Available)
The race condition in TestDelegationToken doesn't exist in trunk or 2.0.
This is because of the changed introduced in HDFS-2579 though HDFS-2579 was
intended to fix a different issue.
In trunk and 2.0, the editlog write(logUpdateMasterKey) is protected by a
noInterruptsLock object.
> hdfs' TestDelegationToken fails intermittently with a race condition
> --------------------------------------------------------------------
>
> Key: HDFS-3374
> URL: https://issues.apache.org/jira/browse/HDFS-3374
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: namenode
> Reporter: Owen O'Malley
> Assignee: Owen O'Malley
> Fix For: 1.0.3
>
> Attachments: HDFS-3374-branch-1.0.patch, hdfs-3374.patch,
> HDFS-3374.patch, HDFS-3374.trunk.patch
>
>
> The testcase is failing because the MiniDFSCluster is shutdown before the
> secret manager can change the key, which calls system.exit with no edit
> streams available.
> {code}
> [junit] 2012-05-04 15:03:51,521 WARN common.Storage
> (FSImage.java:updateRemovedDirs(224)) - Removing storage dir
> /home/horton/src/hadoop/build/test/data/dfs/name1
> [junit] 2012-05-04 15:03:51,522 FATAL namenode.FSNamesystem
> (FSEditLog.java:fatalExit(388)) - No edit streams are accessible
> [junit] java.lang.Exception: No edit streams are accessible
> [junit] at
> org.apache.hadoop.hdfs.server.namenode.FSEditLog.fatalExit(FSEditLog.java:388)
> [junit] at
> org.apache.hadoop.hdfs.server.namenode.FSEditLog.exitIfNoStreams(FSEditLog.java:407)
> [junit] at
> org.apache.hadoop.hdfs.server.namenode.FSEditLog.removeEditsAndStorageDir(FSEditLog.java:432)
> [junit] at
> org.apache.hadoop.hdfs.server.namenode.FSEditLog.removeEditsStreamsAndStorageDirs(FSEditLog.java:468)
> [junit] at
> org.apache.hadoop.hdfs.server.namenode.FSEditLog.logSync(FSEditLog.java:1028)
> [junit] at
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.logUpdateMasterKey(FSNamesystem.java:5641)
> [junit] at
> org.apache.hadoop.hdfs.security.token.delegation.DelegationTokenSecretManager.logUpdateMasterKey(DelegationTokenSecretManager.java:286)
> [junit] at
> org.apache.hadoop.security.token.delegation.AbstractDelegationTokenSecretManager.updateCurrentKey(AbstractDelegationTokenSecretManager.java:150)
> [junit] at
> org.apache.hadoop.security.token.delegation.AbstractDelegationTokenSecretManager.rollMasterKey(AbstractDelegationTokenSecretManager.java:174)
> [junit] at
> org.apache.hadoop.security.token.delegation.AbstractDelegationTokenSecretManager$ExpiredTokenRemover.run(AbstractDelegationTokenSecretManager.java:385)
> [junit] at java.lang.Thread.run(Thread.java:662)
> [junit] Running org.apache.hadoop.hdfs.security.TestDelegationToken
> [junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec
> [junit] Test org.apache.hadoop.hdfs.security.TestDelegationToken FAILED
> (crashed)
> {code}
--
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