Details

    • Type: Sub-task Sub-task
    • Status: Closed
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: 0.23.0, 2.0.0-alpha, 3.0.0
    • Fix Version/s: 2.0.3-alpha, 0.23.6
    • Component/s: namenode
    • Labels:
      None

      Description

      Dangling leases to non-existent paths cause the NN to fail to start.

      1. HDFS-4247.patch
        4 kB
        Daryn Sharp
      2. HDFS-4247.branch-0.23.patch
        5 kB
        Daryn Sharp

        Activity

        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Patch Available Patch Available
        1h 3m 1 Daryn Sharp 30/Nov/12 16:49
        Patch Available Patch Available Resolved Resolved
        1d 1h 36m 1 Daryn Sharp 01/Dec/12 18:25
        Resolved Resolved Closed Closed
        75d 18h 46m 1 Arun C Murthy 15/Feb/13 13:12
        Allen Wittenauer made changes -
        Fix Version/s 3.0.0 [ 12320356 ]
        Arun C Murthy made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Mapreduce-trunk #1275 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk/1275/)
        HDFS-4247. saveNamespace should be tolerant of dangling lease (daryn) (Revision 1416034)

        Result = SUCCESS
        daryn : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1416034
        Files :

        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java
        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/LeaseManager.java
        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestSaveNamespace.java
        Show
        Hudson added a comment - Integrated in Hadoop-Mapreduce-trunk #1275 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk/1275/ ) HDFS-4247 . saveNamespace should be tolerant of dangling lease (daryn) (Revision 1416034) Result = SUCCESS daryn : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1416034 Files : /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/LeaseManager.java /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestSaveNamespace.java
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Hdfs-trunk #1244 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk/1244/)
        HDFS-4247. saveNamespace should be tolerant of dangling lease (daryn) (Revision 1416034)

        Result = FAILURE
        daryn : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1416034
        Files :

        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java
        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/LeaseManager.java
        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestSaveNamespace.java
        Show
        Hudson added a comment - Integrated in Hadoop-Hdfs-trunk #1244 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk/1244/ ) HDFS-4247 . saveNamespace should be tolerant of dangling lease (daryn) (Revision 1416034) Result = FAILURE daryn : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1416034 Files : /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/LeaseManager.java /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestSaveNamespace.java
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Hdfs-0.23-Build #453 (See https://builds.apache.org/job/Hadoop-Hdfs-0.23-Build/453/)
        HDFS-4247. saveNamespace should be tolerant of dangling lease (daryn) (Revision 1416036)

        Result = SUCCESS
        daryn : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1416036
        Files :

        • /hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
        • /hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java
        • /hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/LeaseManager.java
        • /hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestSaveNamespace.java
        Show
        Hudson added a comment - Integrated in Hadoop-Hdfs-0.23-Build #453 (See https://builds.apache.org/job/Hadoop-Hdfs-0.23-Build/453/ ) HDFS-4247 . saveNamespace should be tolerant of dangling lease (daryn) (Revision 1416036) Result = SUCCESS daryn : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1416036 Files : /hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt /hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java /hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/LeaseManager.java /hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestSaveNamespace.java
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Yarn-trunk #54 (See https://builds.apache.org/job/Hadoop-Yarn-trunk/54/)
        HDFS-4247. saveNamespace should be tolerant of dangling lease (daryn) (Revision 1416034)

        Result = SUCCESS
        daryn : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1416034
        Files :

        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java
        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/LeaseManager.java
        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestSaveNamespace.java
        Show
        Hudson added a comment - Integrated in Hadoop-Yarn-trunk #54 (See https://builds.apache.org/job/Hadoop-Yarn-trunk/54/ ) HDFS-4247 . saveNamespace should be tolerant of dangling lease (daryn) (Revision 1416034) Result = SUCCESS daryn : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1416034 Files : /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/LeaseManager.java /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestSaveNamespace.java
        Hide
        Tsz Wo Nicholas Sze added a comment -

        > ... but will this cause any future callers of getINodesUnderConstruction to encounter iteration errors if sortedLeasesByPath is modified by someone not synchronizing on the lease manager object but instead relying on the synchronization of the lease manager's methods?

        I don't quite understand this. Are synchronization on the lease manager object and lease manager's methods the same thing?

        Show
        Tsz Wo Nicholas Sze added a comment - > ... but will this cause any future callers of getINodesUnderConstruction to encounter iteration errors if sortedLeasesByPath is modified by someone not synchronizing on the lease manager object but instead relying on the synchronization of the lease manager's methods? I don't quite understand this. Are synchronization on the lease manager object and lease manager's methods the same thing?
        Hide
        Hudson added a comment -

        Integrated in Hadoop-trunk-Commit #3080 (See https://builds.apache.org/job/Hadoop-trunk-Commit/3080/)
        HDFS-4247. saveNamespace should be tolerant of dangling lease (daryn) (Revision 1416034)

        Result = SUCCESS
        daryn : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1416034
        Files :

        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java
        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/LeaseManager.java
        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestSaveNamespace.java
        Show
        Hudson added a comment - Integrated in Hadoop-trunk-Commit #3080 (See https://builds.apache.org/job/Hadoop-trunk-Commit/3080/ ) HDFS-4247 . saveNamespace should be tolerant of dangling lease (daryn) (Revision 1416034) Result = SUCCESS daryn : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1416034 Files : /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/LeaseManager.java /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestSaveNamespace.java
        Daryn Sharp made changes -
        Status Patch Available [ 10002 ] Resolved [ 5 ]
        Hadoop Flags Reviewed [ 10343 ]
        Fix Version/s 3.0.0 [ 12320356 ]
        Fix Version/s 2.0.3-alpha [ 12323274 ]
        Fix Version/s 0.23.6 [ 12323503 ]
        Resolution Fixed [ 1 ]
        Hide
        Daryn Sharp added a comment -

        I've committed to trunk, branch 2 & 23. Thanks Nicholas!

        Show
        Daryn Sharp added a comment - I've committed to trunk, branch 2 & 23. Thanks Nicholas!
        Hide
        Daryn Sharp added a comment -

        I'll remove the synch and commit, but will this cause any future callers of getINodesUnderConstruction to encounter iteration errors if sortedLeasesByPath is modified by someone not synchronizing on the lease manager object but instead relying on the synchronization of the lease manager's methods?

        Show
        Daryn Sharp added a comment - I'll remove the synch and commit, but will this cause any future callers of getINodesUnderConstruction to encounter iteration errors if sortedLeasesByPath is modified by someone not synchronizing on the lease manager object but instead relying on the synchronization of the lease manager's methods?
        Hide
        Tsz Wo Nicholas Sze added a comment -

        One minor comment: we should remove synchronized(leaseManager) from saveFilesUnderConstruction(..).

        +1 once it is addressed.

        Show
        Tsz Wo Nicholas Sze added a comment - One minor comment: we should remove synchronized(leaseManager) from saveFilesUnderConstruction(..). +1 once it is addressed.
        Hide
        Jing Zhao added a comment -

        +1 for the patch.

        Show
        Jing Zhao added a comment - +1 for the patch.
        Hide
        Hadoop QA added a comment -

        +1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12555521/HDFS-4247.patch
        against trunk revision .

        +1 @author. The patch does not contain any @author tags.

        +1 tests included. The patch appears to include 1 new or modified test files.

        +1 javac. The applied patch does not increase the total number of javac compiler warnings.

        +1 javadoc. The javadoc tool did not generate any warning messages.

        +1 eclipse:eclipse. The patch built with eclipse:eclipse.

        +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

        +1 release audit. The applied patch does not increase the total number of release audit warnings.

        +1 core tests. The patch passed unit tests in hadoop-hdfs-project/hadoop-hdfs.

        +1 contrib tests. The patch passed contrib unit tests.

        Test results: https://builds.apache.org/job/PreCommit-HDFS-Build/3580//testReport/
        Console output: https://builds.apache.org/job/PreCommit-HDFS-Build/3580//console

        This message is automatically generated.

        Show
        Hadoop QA added a comment - +1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12555521/HDFS-4247.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 1 new or modified test files. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 javadoc . The javadoc tool did not generate any warning messages. +1 eclipse:eclipse . The patch built with eclipse:eclipse. +1 findbugs . The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. +1 core tests . The patch passed unit tests in hadoop-hdfs-project/hadoop-hdfs. +1 contrib tests . The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-HDFS-Build/3580//testReport/ Console output: https://builds.apache.org/job/PreCommit-HDFS-Build/3580//console This message is automatically generated.
        Hide
        Kihwal Lee added a comment -

        The patch looks good to me. There is no value in stopping namenode from starting in this case. Rather than permanently disabling the cluster, it should be able to come up. I hope we do not hit this once HDFS-4248 is done.

        Show
        Kihwal Lee added a comment - The patch looks good to me. There is no value in stopping namenode from starting in this case. Rather than permanently disabling the cluster, it should be able to come up. I hope we do not hit this once HDFS-4248 is done.
        Daryn Sharp made changes -
        Status Open [ 1 ] Patch Available [ 10002 ]
        Daryn Sharp made changes -
        Attachment HDFS-4247.patch [ 12555521 ]
        Hide
        Daryn Sharp added a comment -

        Patch for trunk since code is different.

        Show
        Daryn Sharp added a comment - Patch for trunk since code is different.
        Daryn Sharp made changes -
        Field Original Value New Value
        Attachment HDFS-4247.branch-0.23.patch [ 12555520 ]
        Daryn Sharp created issue -

          People

          • Assignee:
            Daryn Sharp
            Reporter:
            Daryn Sharp
          • Votes:
            0 Vote for this issue
            Watchers:
            12 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development