Hadoop HDFS
  1. Hadoop HDFS
  2. HDFS-3574

Fix small race and do some cleanup in GetImageServlet

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 3.0.0
    • Fix Version/s: 2.0.2-alpha
    • Component/s: namenode
    • Labels:
      None

      Description

      There's a very small race window in GetImageServlet, if the following interleaving occurs:

      • The Storage object returns some local file in the storage directory (eg an edits file or image file)
      • Race: some other process removes the file
      • GetImageServlet calls file.length() which returns 0, since it doesn't exist. It thus faithfully sets the Content-Length header to 0
      • getFileClient() throws FileNotFoundException when trying to open the file. But, since we call response.getOutputStream() before this, the headers have already been sent, so we fail to send the "404" or "500" response that we should.

      Thus, the client sees a 0-length Content-Length followed by 0 lengths of content, and thinks it successfully has downloaded the target file, where in fact it downloads an empty one.

      I saw this in practice during the "edits synchronization" phase of recovery while working on HDFS-3077, though it could apply on existing code paths, as well, I believe.

      1. hdfs-3574.txt
        10 kB
        Todd Lipcon
      2. hdfs-3574.txt
        10 kB
        Todd Lipcon
      3. hdfs-3574.txt
        11 kB
        Todd Lipcon
      4. hdfs-3574.txt
        10 kB
        Todd Lipcon

        Activity

        Todd Lipcon created issue -
        Todd Lipcon made changes -
        Field Original Value New Value
        Description There's a very small race window in GetImageServlet, if the following interleaving occurs:
        - The Storage object returns some local file in the storage directory (eg an edits file or image file)
        - *Race*: some other process removes the file
        - GetImageServlet calls file.length() which returns 0, since it doesn't exist. It thus faithfully sets the Content-Length header to 0
        - getFileClient() throws FileNotFoundException when trying to open the file. But, since we call response.getOutputStream() before this, the headers have already been sent, so we fail to send the "404" or "500" response that we should.

        Thus, the client sees a 0-length Content-Length followed by 0 lengths of content, and thinks it successfully has downloaded the target file, where in fact it downloads an empty one.

        I have filed this as a subtask of HDFS-3077 since I saw it only in practice during the "edits synchronization" phase of recovery during that work. Though it could apply on existing code paths, as well, I believe.
        There's a very small race window in GetImageServlet, if the following interleaving occurs:
        - The Storage object returns some local file in the storage directory (eg an edits file or image file)
        - *Race*: some other process removes the file
        - GetImageServlet calls file.length() which returns 0, since it doesn't exist. It thus faithfully sets the Content-Length header to 0
        - getFileClient() throws FileNotFoundException when trying to open the file. But, since we call response.getOutputStream() before this, the headers have already been sent, so we fail to send the "404" or "500" response that we should.

        Thus, the client sees a 0-length Content-Length followed by 0 lengths of content, and thinks it successfully has downloaded the target file, where in fact it downloads an empty one.

        I saw this in practice during the "edits synchronization" phase of recovery while working on HDFS-3077, though it could apply on existing code paths, as well, I believe.
        Hide
        Todd Lipcon added a comment -

        This patch fixes the above race as follows:

        • after setting the headers, we check again to see that the file exists. If it doesn't exist at that point, we throw the FNFE before opening the response output stream. We pass the already-opened stream (from before the exists check) into getFileServer(...) so that we don't have a Time-of-check-to-time-of-use bug here.

        I also did a little cleanup and made some stuff public for later use in HDFS-3077. I hope it's OK to do these trivial changes in this same JIRA. If it's a big problem I'll move them elsewhere.

        Unfortunately I didn't write a unit test for this, as it's a somewhat difficult race.

        Show
        Todd Lipcon added a comment - This patch fixes the above race as follows: after setting the headers, we check again to see that the file exists. If it doesn't exist at that point, we throw the FNFE before opening the response output stream. We pass the already-opened stream (from before the exists check) into getFileServer(...) so that we don't have a Time-of-check-to-time-of-use bug here. I also did a little cleanup and made some stuff public for later use in HDFS-3077 . I hope it's OK to do these trivial changes in this same JIRA. If it's a big problem I'll move them elsewhere. Unfortunately I didn't write a unit test for this, as it's a somewhat difficult race.
        Todd Lipcon made changes -
        Attachment hdfs-3574.txt [ 12533590 ]
        Todd Lipcon made changes -
        Status Open [ 1 ] Patch Available [ 10002 ]
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12533590/hdfs-3574.txt
        against trunk revision .

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

        -1 tests included. The patch doesn't appear to include any new or modified tests.
        Please justify why no new tests are needed for this patch.
        Also please list what manual steps were performed to verify this patch.

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

        -1 javadoc. The javadoc tool appears to have generated 2 warning messages.

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

        -1 findbugs. The patch appears to introduce 2 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 failed these unit tests in hadoop-common-project/hadoop-common hadoop-hdfs-project/hadoop-hdfs:

        org.apache.hadoop.fs.viewfs.TestViewFsTrash

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

        Test results: https://builds.apache.org/job/PreCommit-HDFS-Build/2709//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HDFS-Build/2709//artifact/trunk/patchprocess/newPatchFindbugsWarningshadoop-hdfs.html
        Console output: https://builds.apache.org/job/PreCommit-HDFS-Build/2709//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/12533590/hdfs-3574.txt against trunk revision . +1 @author. The patch does not contain any @author tags. -1 tests included. The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. +1 javac. The applied patch does not increase the total number of javac compiler warnings. -1 javadoc. The javadoc tool appears to have generated 2 warning messages. +1 eclipse:eclipse. The patch built with eclipse:eclipse. -1 findbugs. The patch appears to introduce 2 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 failed these unit tests in hadoop-common-project/hadoop-common hadoop-hdfs-project/hadoop-hdfs: org.apache.hadoop.fs.viewfs.TestViewFsTrash +1 contrib tests. The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-HDFS-Build/2709//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HDFS-Build/2709//artifact/trunk/patchprocess/newPatchFindbugsWarningshadoop-hdfs.html Console output: https://builds.apache.org/job/PreCommit-HDFS-Build/2709//console This message is automatically generated.
        Hide
        Colin Patrick McCabe added a comment -

        It seems like there is still some TOCTOUs here, since we're getting the length of the file and then reading the file afterwards. What if the length of the file changes? Maybe we don't care about this case, but perhaps there should be a comment that this race exists.

        I also don't completely understand the logic behind this:

        if (!imageFile.exists()) {
          // Potential race where the file was deleted while we were in the
          // process of setting headers!
          throw new FileNotFoundException();
        }
        // send fsImage
        TransferFsImage.getFileServer(response, imageFile, fis, getThrottler(conf));
        

        Can't the imageFile be deleted immediately after the imageFile.exists() check and before the call to TransferFsImage#getFileServer? So the original TOCTOU isn't really fixed either.

        It seems like the only real fix would be creating a hardlink to a temporary file, so that if a user deleted the original file we were concerned with, the data would not be lost. Alternately we could buffer the file in memory ahead of time, so that we know the length of what we're going to send and it can't disappear. But that probably isn't feasible for large files, at least.

        Show
        Colin Patrick McCabe added a comment - It seems like there is still some TOCTOUs here, since we're getting the length of the file and then reading the file afterwards. What if the length of the file changes? Maybe we don't care about this case, but perhaps there should be a comment that this race exists. I also don't completely understand the logic behind this: if (!imageFile.exists()) { // Potential race where the file was deleted while we were in the // process of setting headers! throw new FileNotFoundException(); } // send fsImage TransferFsImage.getFileServer(response, imageFile, fis, getThrottler(conf)); Can't the imageFile be deleted immediately after the imageFile.exists() check and before the call to TransferFsImage#getFileServer? So the original TOCTOU isn't really fixed either. It seems like the only real fix would be creating a hardlink to a temporary file, so that if a user deleted the original file we were concerned with, the data would not be lost. Alternately we could buffer the file in memory ahead of time, so that we know the length of what we're going to send and it can't disappear. But that probably isn't feasible for large files, at least.
        Hide
        Todd Lipcon added a comment -

        It seems like there is still some TOCTOUs here, since we're getting the length of the file and then reading the file afterwards. What if the length of the file changes? Maybe we don't care about this case, but perhaps there should be a comment that this race exists.

        That's a good point - we're relying on the fact that we're transferring files which shouldn't be changing length once we start transferring them. I'll add a comment.

        Can't the imageFile be deleted immediately after the imageFile.exists() check and before the call to TransferFsImage#getFileServer? So the original TOCTOU isn't really fixed either.

        That's why we pass the already-open stream (fis) at this point, instead of just the file path. If the file is deleted after the exists check, the stream is still valid.

        Show
        Todd Lipcon added a comment - It seems like there is still some TOCTOUs here, since we're getting the length of the file and then reading the file afterwards. What if the length of the file changes? Maybe we don't care about this case, but perhaps there should be a comment that this race exists. That's a good point - we're relying on the fact that we're transferring files which shouldn't be changing length once we start transferring them. I'll add a comment. Can't the imageFile be deleted immediately after the imageFile.exists() check and before the call to TransferFsImage#getFileServer? So the original TOCTOU isn't really fixed either. That's why we pass the already-open stream ( fis ) at this point, instead of just the file path. If the file is deleted after the exists check, the stream is still valid.
        Hide
        Todd Lipcon added a comment -

        Added comments to explain the above better.

        Show
        Todd Lipcon added a comment - Added comments to explain the above better.
        Todd Lipcon made changes -
        Attachment hdfs-3574.txt [ 12533724 ]
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12533724/hdfs-3574.txt
        against trunk revision .

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

        -1 tests included. The patch doesn't appear to include any new or modified tests.
        Please justify why no new tests are needed for this patch.
        Also please list what manual steps were performed to verify this patch.

        +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 appears to introduce 2 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 failed these unit tests in hadoop-common-project/hadoop-common hadoop-hdfs-project/hadoop-hdfs:

        org.apache.hadoop.fs.viewfs.TestViewFsTrash
        org.apache.hadoop.ha.TestZKFailoverController
        org.apache.hadoop.io.file.tfile.TestTFileByteArrays
        org.apache.hadoop.io.file.tfile.TestTFileJClassComparatorByteArrays
        org.apache.hadoop.hdfs.server.namenode.metrics.TestNameNodeMetrics
        org.apache.hadoop.hdfs.server.datanode.TestBPOfferService

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

        Test results: https://builds.apache.org/job/PreCommit-HDFS-Build/2716//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HDFS-Build/2716//artifact/trunk/patchprocess/newPatchFindbugsWarningshadoop-hdfs.html
        Console output: https://builds.apache.org/job/PreCommit-HDFS-Build/2716//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/12533724/hdfs-3574.txt against trunk revision . +1 @author. The patch does not contain any @author tags. -1 tests included. The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. +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 appears to introduce 2 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 failed these unit tests in hadoop-common-project/hadoop-common hadoop-hdfs-project/hadoop-hdfs: org.apache.hadoop.fs.viewfs.TestViewFsTrash org.apache.hadoop.ha.TestZKFailoverController org.apache.hadoop.io.file.tfile.TestTFileByteArrays org.apache.hadoop.io.file.tfile.TestTFileJClassComparatorByteArrays org.apache.hadoop.hdfs.server.namenode.metrics.TestNameNodeMetrics org.apache.hadoop.hdfs.server.datanode.TestBPOfferService +1 contrib tests. The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-HDFS-Build/2716//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HDFS-Build/2716//artifact/trunk/patchprocess/newPatchFindbugsWarningshadoop-hdfs.html Console output: https://builds.apache.org/job/PreCommit-HDFS-Build/2716//console This message is automatically generated.
        Hide
        Todd Lipcon added a comment -

        The failed tests don't seem at all related (none of them use this servlet)

        Show
        Todd Lipcon added a comment - The failed tests don't seem at all related (none of them use this servlet)
        Hide
        Aaron T. Myers added a comment -

        The patch looks pretty good to me. One small comment. +1 once this is addressed:

        1. "throw new FileNotFoundException();" - would be nice to say which file, in two places.
        Show
        Aaron T. Myers added a comment - The patch looks pretty good to me. One small comment. +1 once this is addressed: "throw new FileNotFoundException();" - would be nice to say which file, in two places.
        Hide
        Todd Lipcon added a comment -

        Attached patch adds the file path to the FileNotFoundException thrown.

        I also refactored the common code into a new serveFile() function.

        Show
        Todd Lipcon added a comment - Attached patch adds the file path to the FileNotFoundException thrown. I also refactored the common code into a new serveFile() function.
        Todd Lipcon made changes -
        Attachment hdfs-3574.txt [ 12534472 ]
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12534472/hdfs-3574.txt
        against trunk revision .

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

        -1 tests included. The patch doesn't appear to include any new or modified tests.
        Please justify why no new tests are needed for this patch.
        Also please list what manual steps were performed to verify this patch.

        +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 appears to introduce 2 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 failed these unit tests in hadoop-common-project/hadoop-common hadoop-hdfs-project/hadoop-hdfs:

        org.apache.hadoop.util.TestShell
        org.apache.hadoop.ha.TestZKFailoverController
        org.apache.hadoop.hdfs.server.datanode.TestBPOfferService
        org.apache.hadoop.hdfs.server.namenode.metrics.TestNameNodeMetrics

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

        Test results: https://builds.apache.org/job/PreCommit-HDFS-Build/2731//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HDFS-Build/2731//artifact/trunk/patchprocess/newPatchFindbugsWarningshadoop-hdfs.html
        Console output: https://builds.apache.org/job/PreCommit-HDFS-Build/2731//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/12534472/hdfs-3574.txt against trunk revision . +1 @author. The patch does not contain any @author tags. -1 tests included. The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. +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 appears to introduce 2 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 failed these unit tests in hadoop-common-project/hadoop-common hadoop-hdfs-project/hadoop-hdfs: org.apache.hadoop.util.TestShell org.apache.hadoop.ha.TestZKFailoverController org.apache.hadoop.hdfs.server.datanode.TestBPOfferService org.apache.hadoop.hdfs.server.namenode.metrics.TestNameNodeMetrics +1 contrib tests. The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-HDFS-Build/2731//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HDFS-Build/2731//artifact/trunk/patchprocess/newPatchFindbugsWarningshadoop-hdfs.html Console output: https://builds.apache.org/job/PreCommit-HDFS-Build/2731//console This message is automatically generated.
        Hide
        Todd Lipcon added a comment -

        New patch tries to address findbugs warnings.

        Show
        Todd Lipcon added a comment - New patch tries to address findbugs warnings.
        Todd Lipcon made changes -
        Attachment hdfs-3574.txt [ 12534561 ]
        Hide
        Todd Lipcon added a comment -

        The precommit ran here: https://builds.apache.org/job/PreCommit-HDFS-Build/2735/console but failed to post to JIRA because of the recent JIRA outage. Here is its comment:

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12534561/hdfs-3574.txt
        against trunk revision .

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

        -1 tests included. The patch doesn't appear to include any new or modified tests.
        Please justify why no new tests are needed for this patch.
        Also please list what manual steps were performed to verify this patch.

        +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 failed these unit tests in hadoop-common-project/hadoop-common hadoop-hdfs-project/hadoop-hdfs:

        org.apache.hadoop.fs.viewfs.TestViewFsTrash

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

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

        This message is automatically generated.

        Aaron, mind taking a quick look at the updated patch? Fairly trivial changes since the version you +1ed.

        Show
        Todd Lipcon added a comment - The precommit ran here: https://builds.apache.org/job/PreCommit-HDFS-Build/2735/console but failed to post to JIRA because of the recent JIRA outage. Here is its comment: -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12534561/hdfs-3574.txt against trunk revision . +1 @author. The patch does not contain any @author tags. -1 tests included. The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. +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 failed these unit tests in hadoop-common-project/hadoop-common hadoop-hdfs-project/hadoop-hdfs: org.apache.hadoop.fs.viewfs.TestViewFsTrash +1 contrib tests. The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-HDFS-Build/2735//testReport/ Console output: https://builds.apache.org/job/PreCommit-HDFS-Build/2735//console This message is automatically generated. Aaron, mind taking a quick look at the updated patch? Fairly trivial changes since the version you +1ed.
        Hide
        Aaron T. Myers added a comment -

        +1, latest patch looks great.

        Show
        Aaron T. Myers added a comment - +1, latest patch looks great.
        Hide
        Todd Lipcon added a comment -

        Committed to branch-2 and trunk, thanks Aaron.

        Show
        Todd Lipcon added a comment - Committed to branch-2 and trunk, thanks Aaron.
        Todd Lipcon made changes -
        Status Patch Available [ 10002 ] Resolved [ 5 ]
        Hadoop Flags Reviewed [ 10343 ]
        Fix Version/s 2.0.1-alpha [ 12321440 ]
        Resolution Fixed [ 1 ]
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Common-trunk-Commit #2422 (See https://builds.apache.org/job/Hadoop-Common-trunk-Commit/2422/)
        HDFS-3574. Fix small race and do some cleanup in GetImageServlet. Contributed by Todd Lipcon. (Revision 1356939)

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

        • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ServletUtil.java
        • /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/GetImageServlet.java
        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/TransferFsImage.java
        Show
        Hudson added a comment - Integrated in Hadoop-Common-trunk-Commit #2422 (See https://builds.apache.org/job/Hadoop-Common-trunk-Commit/2422/ ) HDFS-3574 . Fix small race and do some cleanup in GetImageServlet. Contributed by Todd Lipcon. (Revision 1356939) Result = SUCCESS todd : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1356939 Files : /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ServletUtil.java /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/GetImageServlet.java /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/TransferFsImage.java
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Hdfs-trunk-Commit #2490 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk-Commit/2490/)
        HDFS-3574. Fix small race and do some cleanup in GetImageServlet. Contributed by Todd Lipcon. (Revision 1356939)

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

        • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ServletUtil.java
        • /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/GetImageServlet.java
        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/TransferFsImage.java
        Show
        Hudson added a comment - Integrated in Hadoop-Hdfs-trunk-Commit #2490 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk-Commit/2490/ ) HDFS-3574 . Fix small race and do some cleanup in GetImageServlet. Contributed by Todd Lipcon. (Revision 1356939) Result = SUCCESS todd : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1356939 Files : /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ServletUtil.java /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/GetImageServlet.java /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/TransferFsImage.java
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Mapreduce-trunk-Commit #2439 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk-Commit/2439/)
        HDFS-3574. Fix small race and do some cleanup in GetImageServlet. Contributed by Todd Lipcon. (Revision 1356939)

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

        • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ServletUtil.java
        • /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/GetImageServlet.java
        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/TransferFsImage.java
        Show
        Hudson added a comment - Integrated in Hadoop-Mapreduce-trunk-Commit #2439 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk-Commit/2439/ ) HDFS-3574 . Fix small race and do some cleanup in GetImageServlet. Contributed by Todd Lipcon. (Revision 1356939) Result = FAILURE todd : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1356939 Files : /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ServletUtil.java /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/GetImageServlet.java /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/TransferFsImage.java
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Hdfs-trunk #1094 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk/1094/)
        HDFS-3574. Fix small race and do some cleanup in GetImageServlet. Contributed by Todd Lipcon. (Revision 1356939)

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

        • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ServletUtil.java
        • /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/GetImageServlet.java
        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/TransferFsImage.java
        Show
        Hudson added a comment - Integrated in Hadoop-Hdfs-trunk #1094 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk/1094/ ) HDFS-3574 . Fix small race and do some cleanup in GetImageServlet. Contributed by Todd Lipcon. (Revision 1356939) Result = FAILURE todd : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1356939 Files : /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ServletUtil.java /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/GetImageServlet.java /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/TransferFsImage.java
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Mapreduce-trunk #1127 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk/1127/)
        HDFS-3574. Fix small race and do some cleanup in GetImageServlet. Contributed by Todd Lipcon. (Revision 1356939)

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

        • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ServletUtil.java
        • /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/GetImageServlet.java
        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/TransferFsImage.java
        Show
        Hudson added a comment - Integrated in Hadoop-Mapreduce-trunk #1127 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk/1127/ ) HDFS-3574 . Fix small race and do some cleanup in GetImageServlet. Contributed by Todd Lipcon. (Revision 1356939) Result = SUCCESS todd : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1356939 Files : /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ServletUtil.java /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/GetImageServlet.java /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/TransferFsImage.java
        Arun C Murthy made changes -
        Fix Version/s 2.0.2-alpha [ 12322472 ]
        Fix Version/s 2.1.0-alpha [ 12321440 ]
        Arun C Murthy made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Patch Available Patch Available
        7m 1s 1 Todd Lipcon 27/Jun/12 03:34
        Patch Available Patch Available Resolved Resolved
        6d 18h 20m 1 Todd Lipcon 03/Jul/12 21:55
        Resolved Resolved Closed Closed
        99d 20h 50m 1 Arun C Murthy 11/Oct/12 18:46

          People

          • Assignee:
            Todd Lipcon
            Reporter:
            Todd Lipcon
          • Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development