Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-9535

Newly completed blocks in IBR should not be considered under-replicated too quickly

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.8.0
    • Fix Version/s: 2.8.0, 3.0.0-alpha1
    • Component/s: namenode
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      TestReplication#testNoExtraReplicationWhenBlockReceivedIsLate failed in several Jenkins run (e.g., https://builds.apache.org/job/PreCommit-HDFS-Build/13818/testReport/). The failure is on the last assertNoReplicationWasPerformed check.

      This test failure reveals a scenario that HDFS-1172 missed: if a block is first committed by the client, and then the first IBR comes to the NN, as proposed by HDFS-1172, we should still put the remaining expected replicas into the pending queue, instead of the under-replicated queue. Please see Mingliang Liu's comment here for more details.

      1. HDFS-9535.000.patch
        2 kB
        Mingliang Liu
      2. HDFS-9535.001.patch
        0.9 kB
        Mingliang Liu
      3. HDFS-9535.002.patch
        1.0 kB
        Mingliang Liu

        Issue Links

          Activity

          Hide
          jingzhao Jing Zhao added a comment -

          The failure is because:

          1. In HDFS-1172 we update the pending replication queue if a block has minimum required number of replicas but the NN has not received block-received report from some DN
          2. The test writes two blocks into a file. For the first block, it is possible that NN receives 0 block-received msg from DN but still commit the block when the client tries to get the next block. In that case we will add the block into under-replicated queue instead of the pending queue, and block recovery will happen in the cluster.
          3. This usually will not happen when closing the file since the client will retry the completeFile call until the minimum replication is satisfied. Thus a simple fix can be changing the file length to 1 block.
          Show
          jingzhao Jing Zhao added a comment - The failure is because: In HDFS-1172 we update the pending replication queue if a block has minimum required number of replicas but the NN has not received block-received report from some DN The test writes two blocks into a file. For the first block, it is possible that NN receives 0 block-received msg from DN but still commit the block when the client tries to get the next block. In that case we will add the block into under-replicated queue instead of the pending queue, and block recovery will happen in the cluster. This usually will not happen when closing the file since the client will retry the completeFile call until the minimum replication is satisfied. Thus a simple fix can be changing the file length to 1 block.
          Hide
          iwasakims Masatake Iwasaki added a comment -

          Thanks for reporting this.

               final boolean b = commitBlock(lastBlock, commitBlock);
               if (hasMinStorage(lastBlock)) {
                if (b && !bc.isStriped()) {
                   addExpectedReplicasToPending(lastBlock);
                 }
                 completeBlock(lastBlock, false);
          

          Hmm.. If the block is committed but not satisfy if (hasMinStorage(lastBlock)), addExpectedReplicasToPending will never be called before completeBlock on the next time commitOrCompleteLastBlock is called from the code path of addBlock because commitBlock will return false for already committed block.

          The if (b && !bc.isStriped()) checks the return value of commitBlock in order to avoid adding same nodes to pendingReplication multiple times. How about replace the condition with another logic such as pendingReplications.getNumReplicas(lastBlock) == 0?

          Show
          iwasakims Masatake Iwasaki added a comment - Thanks for reporting this. final boolean b = commitBlock(lastBlock, commitBlock); if (hasMinStorage(lastBlock)) { if (b && !bc.isStriped()) { addExpectedReplicasToPending(lastBlock); } completeBlock(lastBlock, false ); Hmm.. If the block is committed but not satisfy if (hasMinStorage(lastBlock)) , addExpectedReplicasToPending will never be called before completeBlock on the next time commitOrCompleteLastBlock is called from the code path of addBlock because commitBlock will return false for already committed block. The if (b && !bc.isStriped()) checks the return value of commitBlock in order to avoid adding same nodes to pendingReplication multiple times. How about replace the condition with another logic such as pendingReplications.getNumReplicas(lastBlock) == 0 ?
          Hide
          iwasakims Masatake Iwasaki added a comment -

          For the first block, it is possible that NN receives 0 block-received msg from DN but still commit the block when the client tries to get the next block. In that case we will add the block into under-replicated queue instead of the pending queue, and block recovery will happen in the cluster.

          BlockManager#processMisReplicatedBlock will not process incomplete block. I think the case is that block is completed but there is still pending block-received msg.

              if (!block.isComplete()) {
              // Incomplete blocks are never considered mis-replicated --
              // they'll be reached when they are completed or recovered.
                return MisReplicationResult.UNDER_CONSTRUCTION;
              }
          
          Show
          iwasakims Masatake Iwasaki added a comment - For the first block, it is possible that NN receives 0 block-received msg from DN but still commit the block when the client tries to get the next block. In that case we will add the block into under-replicated queue instead of the pending queue, and block recovery will happen in the cluster. BlockManager#processMisReplicatedBlock will not process incomplete block. I think the case is that block is completed but there is still pending block-received msg. if (!block.isComplete()) { // Incomplete blocks are never considered mis-replicated -- // they'll be reached when they are completed or recovered. return MisReplicationResult.UNDER_CONSTRUCTION; }
          Hide
          liuml07 Mingliang Liu added a comment -

          Thanks for the insightful discussion.

          When client closes the file, it happens that the last block is committed while no live replicas reported yet. In this case, the hasMinStorage() is false and thus the last block is not added to pending replicas. When one IBR is later received, the last block is completed (via addStoredBlock()). Next time the client retries to complete the file, the commitOrCompleteLastBlock() simply returns false (see beginning of the code snippet), instead of completing it again. As the code brought by HDFS-1172 is not really called, it fails to stop the replication work from being scheduled. The unit test fails in this case.

          code snippet of BlockManager#commitOrCompleteLastBlock()
              if(lastBlock.isComplete())
                return false; // already completed (e.g. by syncBlock)
          
              final boolean b = commitBlock(lastBlock, commitBlock);
              if (hasMinStorage(lastBlock)) {
                if (b && !bc.isStriped()) {
                  addExpectedReplicasToPending(lastBlock);
                }
                completeBlock(lastBlock, false);
              }
          

          I think we should correct the unit test before changing any logic in the commitOrCompleteLastBlock.

          Show
          liuml07 Mingliang Liu added a comment - Thanks for the insightful discussion. When client closes the file, it happens that the last block is committed while no live replicas reported yet. In this case, the hasMinStorage() is false and thus the last block is not added to pending replicas. When one IBR is later received, the last block is completed (via addStoredBlock() ). Next time the client retries to complete the file, the commitOrCompleteLastBlock() simply returns false (see beginning of the code snippet), instead of completing it again. As the code brought by HDFS-1172 is not really called, it fails to stop the replication work from being scheduled. The unit test fails in this case. code snippet of BlockManager#commitOrCompleteLastBlock() if (lastBlock.isComplete()) return false ; // already completed (e.g. by syncBlock) final boolean b = commitBlock(lastBlock, commitBlock); if (hasMinStorage(lastBlock)) { if (b && !bc.isStriped()) { addExpectedReplicasToPending(lastBlock); } completeBlock(lastBlock, false ); } I think we should correct the unit test before changing any logic in the commitOrCompleteLastBlock .
          Hide
          liuml07 Mingliang Liu added a comment -

          The v0 patch mocks the BlockManager#hasMinStorage. This way, the if (hasMinStorage(lastBlock)) will always be true in commitOrCompleteLastBlock, called by:

          1. either getting additional block (1st block).
          2. or completing file (the 2nd block)
          Show
          liuml07 Mingliang Liu added a comment - The v0 patch mocks the BlockManager#hasMinStorage . This way, the if (hasMinStorage(lastBlock)) will always be true in commitOrCompleteLastBlock , called by: either getting additional block (1st block). or completing file (the 2nd block)
          Hide
          jingzhao Jing Zhao added a comment -

          Thanks for the analysis, Mingliang Liu and Masatake Iwasaki. I think Mingliang Liu's analysis is correct. In that sense maybe we should consider add the new "adding replicas to pending queue" in addStoredBlock:

              if(storedBlock.getBlockUCState() == BlockUCState.COMMITTED &&
                  hasMinStorage(storedBlock, numLiveReplicas)) {
                completeBlock(storedBlock, false);
              } else if (storedBlock.isComplete() && result == AddBlockResult.ADDED) {
          

          At this time the client has already committed the block, and the minimum replica number is also met. Thus we actually have the same guarantee as in commitOrCompleteLastBlock.

          Show
          jingzhao Jing Zhao added a comment - Thanks for the analysis, Mingliang Liu and Masatake Iwasaki . I think Mingliang Liu 's analysis is correct. In that sense maybe we should consider add the new "adding replicas to pending queue" in addStoredBlock : if (storedBlock.getBlockUCState() == BlockUCState.COMMITTED && hasMinStorage(storedBlock, numLiveReplicas)) { completeBlock(storedBlock, false ); } else if (storedBlock.isComplete() && result == AddBlockResult.ADDED) { At this time the client has already committed the block, and the minimum replica number is also met. Thus we actually have the same guarantee as in commitOrCompleteLastBlock .
          Hide
          iwasakims Masatake Iwasaki added a comment -

          When one IBR is later received, the last block is completed (via addStoredBlock()).

          Yeah. You are right. Thanks for the analysis, Mingliang Liu.

          Show
          iwasakims Masatake Iwasaki added a comment - When one IBR is later received, the last block is completed (via addStoredBlock()). Yeah. You are right. Thanks for the analysis, Mingliang Liu .
          Hide
          liuml07 Mingliang Liu added a comment -

          Thanks Jing Zhao and Masatake Iwasaki for your comments. The guarantee Jing Zhao proposed in addStoredBlock makes sense to me. So we can add the just completed replicas to pending queue in order to avoiding under-replication work.

          hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java
          @@ -2876,6 +2876,7 @@ private Block addStoredBlock(final BlockInfo block,
          
               if(storedBlock.getBlockUCState() == BlockUCState.COMMITTED &&
                   hasMinStorage(storedBlock, numLiveReplicas)) {
          +      addExpectedReplicasToPending(storedBlock);
                 completeBlock(storedBlock, false);
               } else if (storedBlock.isComplete() && result == AddBlockResult.ADDED) {
                 // check whether safe replication is reached for the block
          

          This way, the unit test will pass because newly completed blocks will be added to pending replications either by client's complete file request, or IBR. Masatake Iwasaki, what's your opinion?

          Show
          liuml07 Mingliang Liu added a comment - Thanks Jing Zhao and Masatake Iwasaki for your comments. The guarantee Jing Zhao proposed in addStoredBlock makes sense to me. So we can add the just completed replicas to pending queue in order to avoiding under-replication work. hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java @@ -2876,6 +2876,7 @@ private Block addStoredBlock( final BlockInfo block, if (storedBlock.getBlockUCState() == BlockUCState.COMMITTED && hasMinStorage(storedBlock, numLiveReplicas)) { + addExpectedReplicasToPending(storedBlock); completeBlock(storedBlock, false ); } else if (storedBlock.isComplete() && result == AddBlockResult.ADDED) { // check whether safe replication is reached for the block This way, the unit test will pass because newly completed blocks will be added to pending replications either by client's complete file request, or IBR. Masatake Iwasaki , what's your opinion?
          Hide
          jingzhao Jing Zhao added a comment -

          Thanks for the patch, Mingliang! One comment is that for now we should skip this logic for a striped block, since we cannot guarantee that the remaining expected internal blocks are healthy even if the client commits the block. Other than this the patch looks good to me.

          Show
          jingzhao Jing Zhao added a comment - Thanks for the patch, Mingliang! One comment is that for now we should skip this logic for a striped block, since we cannot guarantee that the remaining expected internal blocks are healthy even if the client commits the block. Other than this the patch looks good to me.
          Hide
          iwasakims Masatake Iwasaki added a comment -

          The guarantee Jing Zhao proposed in addStoredBlock makes sense to me.

          I too agree with the fix. Should we have checking if (!bc.isStriped()) around addExpectedReplicasToPending?

          Show
          iwasakims Masatake Iwasaki added a comment - The guarantee Jing Zhao proposed in addStoredBlock makes sense to me. I too agree with the fix. Should we have checking if (!bc.isStriped()) around addExpectedReplicasToPending ?
          Hide
          liuml07 Mingliang Liu added a comment -

          Thank you both for the comment. The v2 patch is to address this.

          Show
          liuml07 Mingliang Liu added a comment - Thank you both for the comment. The v2 patch is to address this.
          Hide
          hadoopqa Hadoop QA added a comment -
          -1 overall



          Vote Subsystem Runtime Comment
          0 reexec 0m 0s Docker mode activated.
          +1 @author 0m 0s The patch does not contain any @author tags.
          +1 test4tests 0m 0s The patch appears to include 1 new or modified test files.
          +1 mvninstall 10m 35s trunk passed
          +1 compile 1m 18s trunk passed with JDK v1.8.0_66
          +1 compile 1m 0s trunk passed with JDK v1.7.0_91
          +1 checkstyle 0m 22s trunk passed
          +1 mvnsite 1m 21s trunk passed
          +1 mvneclipse 0m 17s trunk passed
          +1 findbugs 2m 40s trunk passed
          +1 javadoc 1m 46s trunk passed with JDK v1.8.0_66
          +1 javadoc 2m 45s trunk passed with JDK v1.7.0_91
          +1 mvninstall 1m 11s the patch passed
          +1 compile 1m 16s the patch passed with JDK v1.8.0_66
          +1 javac 1m 16s the patch passed
          +1 compile 0m 58s the patch passed with JDK v1.7.0_91
          +1 javac 0m 58s the patch passed
          +1 checkstyle 0m 22s the patch passed
          +1 mvnsite 1m 13s the patch passed
          +1 mvneclipse 0m 17s the patch passed
          +1 whitespace 0m 0s Patch has no whitespace issues.
          +1 findbugs 2m 42s the patch passed
          +1 javadoc 1m 36s the patch passed with JDK v1.8.0_66
          +1 javadoc 2m 46s the patch passed with JDK v1.7.0_91
          -1 unit 80m 48s hadoop-hdfs in the patch failed with JDK v1.8.0_66.
          -1 unit 82m 21s hadoop-hdfs in the patch failed with JDK v1.7.0_91.
          -1 asflicense 0m 31s Patch generated 57 ASF License warnings.
          202m 7s



          Reason Tests
          JDK v1.8.0_66 Failed junit tests hadoop.hdfs.TestDFSStripedOutputStreamWithFailure060
            hadoop.hdfs.server.datanode.TestDataNodeHotSwapVolumes
            hadoop.hdfs.server.namenode.ha.TestSeveralNameNodes
            hadoop.hdfs.TestFileAppend
            hadoop.hdfs.security.TestDelegationTokenForProxyUser
            hadoop.hdfs.server.namenode.TestCacheDirectives
            hadoop.hdfs.TestDataTransferKeepalive
            hadoop.hdfs.shortcircuit.TestShortCircuitCache
            hadoop.hdfs.server.namenode.ha.TestHAAppend
          JDK v1.8.0_66 Timed out junit tests org.apache.hadoop.hdfs.server.balancer.TestBalancerWithMultipleNameNodes
            org.apache.hadoop.hdfs.server.balancer.TestBalancer
            org.apache.hadoop.hdfs.server.balancer.TestBalancerWithNodeGroup
            org.apache.hadoop.hdfs.server.namenode.metrics.TestNameNodeMetrics
          JDK v1.7.0_91 Failed junit tests hadoop.hdfs.server.datanode.TestBlockReplacement
            hadoop.hdfs.security.TestDelegationTokenForProxyUser
            hadoop.hdfs.server.namenode.ha.TestDFSUpgradeWithHA
            hadoop.hdfs.server.datanode.TestDirectoryScanner



          Subsystem Report/Notes
          Docker Image:yetus/hadoop:0ca8df7
          JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12777183/HDFS-9535.000.patch
          JIRA Issue HDFS-9535
          Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle
          uname Linux 73cf8fcc7ed6 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
          Build tool maven
          Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh
          git revision trunk / 576b569
          findbugs v3.0.0
          unit https://builds.apache.org/job/PreCommit-HDFS-Build/13840/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs-jdk1.8.0_66.txt
          unit https://builds.apache.org/job/PreCommit-HDFS-Build/13840/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs-jdk1.7.0_91.txt
          unit test logs https://builds.apache.org/job/PreCommit-HDFS-Build/13840/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs-jdk1.8.0_66.txt https://builds.apache.org/job/PreCommit-HDFS-Build/13840/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs-jdk1.7.0_91.txt
          JDK v1.7.0_91 Test Results https://builds.apache.org/job/PreCommit-HDFS-Build/13840/testReport/
          asflicense https://builds.apache.org/job/PreCommit-HDFS-Build/13840/artifact/patchprocess/patch-asflicense-problems.txt
          modules C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs
          Max memory used 76MB
          Powered by Apache Yetus 0.1.0-SNAPSHOT http://yetus.apache.org
          Console output https://builds.apache.org/job/PreCommit-HDFS-Build/13840/console

          This message was automatically generated.

          Show
          hadoopqa Hadoop QA added a comment - -1 overall Vote Subsystem Runtime Comment 0 reexec 0m 0s Docker mode activated. +1 @author 0m 0s The patch does not contain any @author tags. +1 test4tests 0m 0s The patch appears to include 1 new or modified test files. +1 mvninstall 10m 35s trunk passed +1 compile 1m 18s trunk passed with JDK v1.8.0_66 +1 compile 1m 0s trunk passed with JDK v1.7.0_91 +1 checkstyle 0m 22s trunk passed +1 mvnsite 1m 21s trunk passed +1 mvneclipse 0m 17s trunk passed +1 findbugs 2m 40s trunk passed +1 javadoc 1m 46s trunk passed with JDK v1.8.0_66 +1 javadoc 2m 45s trunk passed with JDK v1.7.0_91 +1 mvninstall 1m 11s the patch passed +1 compile 1m 16s the patch passed with JDK v1.8.0_66 +1 javac 1m 16s the patch passed +1 compile 0m 58s the patch passed with JDK v1.7.0_91 +1 javac 0m 58s the patch passed +1 checkstyle 0m 22s the patch passed +1 mvnsite 1m 13s the patch passed +1 mvneclipse 0m 17s the patch passed +1 whitespace 0m 0s Patch has no whitespace issues. +1 findbugs 2m 42s the patch passed +1 javadoc 1m 36s the patch passed with JDK v1.8.0_66 +1 javadoc 2m 46s the patch passed with JDK v1.7.0_91 -1 unit 80m 48s hadoop-hdfs in the patch failed with JDK v1.8.0_66. -1 unit 82m 21s hadoop-hdfs in the patch failed with JDK v1.7.0_91. -1 asflicense 0m 31s Patch generated 57 ASF License warnings. 202m 7s Reason Tests JDK v1.8.0_66 Failed junit tests hadoop.hdfs.TestDFSStripedOutputStreamWithFailure060   hadoop.hdfs.server.datanode.TestDataNodeHotSwapVolumes   hadoop.hdfs.server.namenode.ha.TestSeveralNameNodes   hadoop.hdfs.TestFileAppend   hadoop.hdfs.security.TestDelegationTokenForProxyUser   hadoop.hdfs.server.namenode.TestCacheDirectives   hadoop.hdfs.TestDataTransferKeepalive   hadoop.hdfs.shortcircuit.TestShortCircuitCache   hadoop.hdfs.server.namenode.ha.TestHAAppend JDK v1.8.0_66 Timed out junit tests org.apache.hadoop.hdfs.server.balancer.TestBalancerWithMultipleNameNodes   org.apache.hadoop.hdfs.server.balancer.TestBalancer   org.apache.hadoop.hdfs.server.balancer.TestBalancerWithNodeGroup   org.apache.hadoop.hdfs.server.namenode.metrics.TestNameNodeMetrics JDK v1.7.0_91 Failed junit tests hadoop.hdfs.server.datanode.TestBlockReplacement   hadoop.hdfs.security.TestDelegationTokenForProxyUser   hadoop.hdfs.server.namenode.ha.TestDFSUpgradeWithHA   hadoop.hdfs.server.datanode.TestDirectoryScanner Subsystem Report/Notes Docker Image:yetus/hadoop:0ca8df7 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12777183/HDFS-9535.000.patch JIRA Issue HDFS-9535 Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle uname Linux 73cf8fcc7ed6 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux Build tool maven Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh git revision trunk / 576b569 findbugs v3.0.0 unit https://builds.apache.org/job/PreCommit-HDFS-Build/13840/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs-jdk1.8.0_66.txt unit https://builds.apache.org/job/PreCommit-HDFS-Build/13840/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs-jdk1.7.0_91.txt unit test logs https://builds.apache.org/job/PreCommit-HDFS-Build/13840/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs-jdk1.8.0_66.txt https://builds.apache.org/job/PreCommit-HDFS-Build/13840/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs-jdk1.7.0_91.txt JDK v1.7.0_91 Test Results https://builds.apache.org/job/PreCommit-HDFS-Build/13840/testReport/ asflicense https://builds.apache.org/job/PreCommit-HDFS-Build/13840/artifact/patchprocess/patch-asflicense-problems.txt modules C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs Max memory used 76MB Powered by Apache Yetus 0.1.0-SNAPSHOT http://yetus.apache.org Console output https://builds.apache.org/job/PreCommit-HDFS-Build/13840/console This message was automatically generated.
          Hide
          hadoopqa Hadoop QA added a comment -
          -1 overall



          Vote Subsystem Runtime Comment
          0 reexec 0m 0s Docker mode activated.
          +1 @author 0m 0s The patch does not contain any @author tags.
          -1 test4tests 0m 0s 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 mvninstall 11m 11s trunk passed
          +1 compile 1m 4s trunk passed with JDK v1.8.0_66
          +1 compile 0m 55s trunk passed with JDK v1.7.0_91
          +1 checkstyle 0m 21s trunk passed
          +1 mvnsite 1m 10s trunk passed
          +1 mvneclipse 0m 18s trunk passed
          +1 findbugs 2m 27s trunk passed
          +1 javadoc 1m 32s trunk passed with JDK v1.8.0_66
          +1 javadoc 2m 25s trunk passed with JDK v1.7.0_91
          +1 mvninstall 1m 4s the patch passed
          +1 compile 1m 3s the patch passed with JDK v1.8.0_66
          +1 javac 1m 3s the patch passed
          +1 compile 0m 56s the patch passed with JDK v1.7.0_91
          +1 javac 0m 56s the patch passed
          -1 checkstyle 0m 20s Patch generated 1 new checkstyle issues in hadoop-hdfs-project/hadoop-hdfs (total was 161, now 161).
          +1 mvnsite 1m 9s the patch passed
          +1 mvneclipse 0m 18s the patch passed
          +1 whitespace 0m 0s Patch has no whitespace issues.
          +1 findbugs 2m 41s the patch passed
          +1 javadoc 1m 32s the patch passed with JDK v1.8.0_66
          +1 javadoc 2m 21s the patch passed with JDK v1.7.0_91
          -1 unit 80m 13s hadoop-hdfs in the patch failed with JDK v1.8.0_66.
          -1 unit 70m 56s hadoop-hdfs in the patch failed with JDK v1.7.0_91.
          -1 asflicense 0m 26s Patch generated 56 ASF License warnings.
          187m 58s



          Reason Tests
          JDK v1.8.0_66 Failed junit tests hadoop.hdfs.security.TestDelegationTokenForProxyUser
            hadoop.hdfs.TestDFSStorageStateRecovery
            hadoop.hdfs.server.namenode.ha.TestSeveralNameNodes
            hadoop.hdfs.TestRecoverStripedFile
            hadoop.hdfs.server.datanode.fsdataset.impl.TestLazyPersistReplicaRecovery
          JDK v1.7.0_91 Failed junit tests hadoop.hdfs.TestBlockReaderLocal
            hadoop.hdfs.shortcircuit.TestShortCircuitCache
            hadoop.hdfs.TestHDFSFileSystemContract



          Subsystem Report/Notes
          Docker Image:yetus/hadoop:0ca8df7
          JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12777214/HDFS-9535.001.patch
          JIRA Issue HDFS-9535
          Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle
          uname Linux 52fad37c4269 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
          Build tool maven
          Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh
          git revision trunk / 576b569
          findbugs v3.0.0
          checkstyle https://builds.apache.org/job/PreCommit-HDFS-Build/13844/artifact/patchprocess/diff-checkstyle-hadoop-hdfs-project_hadoop-hdfs.txt
          unit https://builds.apache.org/job/PreCommit-HDFS-Build/13844/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs-jdk1.8.0_66.txt
          unit https://builds.apache.org/job/PreCommit-HDFS-Build/13844/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs-jdk1.7.0_91.txt
          unit test logs https://builds.apache.org/job/PreCommit-HDFS-Build/13844/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs-jdk1.8.0_66.txt https://builds.apache.org/job/PreCommit-HDFS-Build/13844/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs-jdk1.7.0_91.txt
          JDK v1.7.0_91 Test Results https://builds.apache.org/job/PreCommit-HDFS-Build/13844/testReport/
          asflicense https://builds.apache.org/job/PreCommit-HDFS-Build/13844/artifact/patchprocess/patch-asflicense-problems.txt
          modules C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs
          Max memory used 75MB
          Powered by Apache Yetus 0.1.0-SNAPSHOT http://yetus.apache.org
          Console output https://builds.apache.org/job/PreCommit-HDFS-Build/13844/console

          This message was automatically generated.

          Show
          hadoopqa Hadoop QA added a comment - -1 overall Vote Subsystem Runtime Comment 0 reexec 0m 0s Docker mode activated. +1 @author 0m 0s The patch does not contain any @author tags. -1 test4tests 0m 0s 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 mvninstall 11m 11s trunk passed +1 compile 1m 4s trunk passed with JDK v1.8.0_66 +1 compile 0m 55s trunk passed with JDK v1.7.0_91 +1 checkstyle 0m 21s trunk passed +1 mvnsite 1m 10s trunk passed +1 mvneclipse 0m 18s trunk passed +1 findbugs 2m 27s trunk passed +1 javadoc 1m 32s trunk passed with JDK v1.8.0_66 +1 javadoc 2m 25s trunk passed with JDK v1.7.0_91 +1 mvninstall 1m 4s the patch passed +1 compile 1m 3s the patch passed with JDK v1.8.0_66 +1 javac 1m 3s the patch passed +1 compile 0m 56s the patch passed with JDK v1.7.0_91 +1 javac 0m 56s the patch passed -1 checkstyle 0m 20s Patch generated 1 new checkstyle issues in hadoop-hdfs-project/hadoop-hdfs (total was 161, now 161). +1 mvnsite 1m 9s the patch passed +1 mvneclipse 0m 18s the patch passed +1 whitespace 0m 0s Patch has no whitespace issues. +1 findbugs 2m 41s the patch passed +1 javadoc 1m 32s the patch passed with JDK v1.8.0_66 +1 javadoc 2m 21s the patch passed with JDK v1.7.0_91 -1 unit 80m 13s hadoop-hdfs in the patch failed with JDK v1.8.0_66. -1 unit 70m 56s hadoop-hdfs in the patch failed with JDK v1.7.0_91. -1 asflicense 0m 26s Patch generated 56 ASF License warnings. 187m 58s Reason Tests JDK v1.8.0_66 Failed junit tests hadoop.hdfs.security.TestDelegationTokenForProxyUser   hadoop.hdfs.TestDFSStorageStateRecovery   hadoop.hdfs.server.namenode.ha.TestSeveralNameNodes   hadoop.hdfs.TestRecoverStripedFile   hadoop.hdfs.server.datanode.fsdataset.impl.TestLazyPersistReplicaRecovery JDK v1.7.0_91 Failed junit tests hadoop.hdfs.TestBlockReaderLocal   hadoop.hdfs.shortcircuit.TestShortCircuitCache   hadoop.hdfs.TestHDFSFileSystemContract Subsystem Report/Notes Docker Image:yetus/hadoop:0ca8df7 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12777214/HDFS-9535.001.patch JIRA Issue HDFS-9535 Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle uname Linux 52fad37c4269 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux Build tool maven Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh git revision trunk / 576b569 findbugs v3.0.0 checkstyle https://builds.apache.org/job/PreCommit-HDFS-Build/13844/artifact/patchprocess/diff-checkstyle-hadoop-hdfs-project_hadoop-hdfs.txt unit https://builds.apache.org/job/PreCommit-HDFS-Build/13844/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs-jdk1.8.0_66.txt unit https://builds.apache.org/job/PreCommit-HDFS-Build/13844/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs-jdk1.7.0_91.txt unit test logs https://builds.apache.org/job/PreCommit-HDFS-Build/13844/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs-jdk1.8.0_66.txt https://builds.apache.org/job/PreCommit-HDFS-Build/13844/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs-jdk1.7.0_91.txt JDK v1.7.0_91 Test Results https://builds.apache.org/job/PreCommit-HDFS-Build/13844/testReport/ asflicense https://builds.apache.org/job/PreCommit-HDFS-Build/13844/artifact/patchprocess/patch-asflicense-problems.txt modules C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs Max memory used 75MB Powered by Apache Yetus 0.1.0-SNAPSHOT http://yetus.apache.org Console output https://builds.apache.org/job/PreCommit-HDFS-Build/13844/console This message was automatically generated.
          Hide
          hadoopqa Hadoop QA added a comment -
          -1 overall



          Vote Subsystem Runtime Comment
          0 reexec 0m 0s Docker mode activated.
          +1 @author 0m 0s The patch does not contain any @author tags.
          -1 test4tests 0m 0s 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 mvninstall 7m 37s trunk passed
          +1 compile 0m 41s trunk passed with JDK v1.8.0_66
          +1 compile 0m 42s trunk passed with JDK v1.7.0_91
          +1 checkstyle 0m 16s trunk passed
          +1 mvnsite 0m 53s trunk passed
          +1 mvneclipse 0m 14s trunk passed
          +1 findbugs 1m 50s trunk passed
          +1 javadoc 1m 8s trunk passed with JDK v1.8.0_66
          +1 javadoc 1m 49s trunk passed with JDK v1.7.0_91
          +1 mvninstall 0m 51s the patch passed
          +1 compile 0m 45s the patch passed with JDK v1.8.0_66
          +1 javac 0m 45s the patch passed
          +1 compile 0m 43s the patch passed with JDK v1.7.0_91
          +1 javac 0m 43s the patch passed
          -1 checkstyle 0m 15s Patch generated 1 new checkstyle issues in hadoop-hdfs-project/hadoop-hdfs (total was 160, now 160).
          +1 mvnsite 0m 52s the patch passed
          +1 mvneclipse 0m 13s the patch passed
          +1 whitespace 0m 0s Patch has no whitespace issues.
          +1 findbugs 2m 3s the patch passed
          +1 javadoc 1m 8s the patch passed with JDK v1.8.0_66
          +1 javadoc 1m 49s the patch passed with JDK v1.7.0_91
          -1 unit 51m 56s hadoop-hdfs in the patch failed with JDK v1.8.0_66.
          -1 unit 49m 53s hadoop-hdfs in the patch failed with JDK v1.7.0_91.
          -1 asflicense 0m 19s Patch generated 58 ASF License warnings.
          128m 34s



          Reason Tests
          JDK v1.8.0_66 Failed junit tests hadoop.hdfs.server.datanode.TestBlockScanner
            hadoop.hdfs.server.namenode.ha.TestHarFileSystemWithHA
            hadoop.hdfs.server.namenode.metrics.TestNameNodeMetrics
          JDK v1.7.0_91 Failed junit tests hadoop.hdfs.TestRecoverStripedFile
            hadoop.hdfs.server.namenode.snapshot.TestRenameWithSnapshots
            hadoop.hdfs.TestDFSStripedOutputStreamWithFailure



          Subsystem Report/Notes
          Docker Image:yetus/hadoop:0ca8df7
          JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12777230/HDFS-9535.002.patch
          JIRA Issue HDFS-9535
          Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle
          uname Linux d408c839af51 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
          Build tool maven
          Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh
          git revision trunk / 796a676
          findbugs v3.0.0
          checkstyle https://builds.apache.org/job/PreCommit-HDFS-Build/13846/artifact/patchprocess/diff-checkstyle-hadoop-hdfs-project_hadoop-hdfs.txt
          unit https://builds.apache.org/job/PreCommit-HDFS-Build/13846/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs-jdk1.8.0_66.txt
          unit https://builds.apache.org/job/PreCommit-HDFS-Build/13846/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs-jdk1.7.0_91.txt
          unit test logs https://builds.apache.org/job/PreCommit-HDFS-Build/13846/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs-jdk1.8.0_66.txt https://builds.apache.org/job/PreCommit-HDFS-Build/13846/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs-jdk1.7.0_91.txt
          JDK v1.7.0_91 Test Results https://builds.apache.org/job/PreCommit-HDFS-Build/13846/testReport/
          asflicense https://builds.apache.org/job/PreCommit-HDFS-Build/13846/artifact/patchprocess/patch-asflicense-problems.txt
          modules C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs
          Max memory used 75MB
          Powered by Apache Yetus 0.1.0-SNAPSHOT http://yetus.apache.org
          Console output https://builds.apache.org/job/PreCommit-HDFS-Build/13846/console

          This message was automatically generated.

          Show
          hadoopqa Hadoop QA added a comment - -1 overall Vote Subsystem Runtime Comment 0 reexec 0m 0s Docker mode activated. +1 @author 0m 0s The patch does not contain any @author tags. -1 test4tests 0m 0s 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 mvninstall 7m 37s trunk passed +1 compile 0m 41s trunk passed with JDK v1.8.0_66 +1 compile 0m 42s trunk passed with JDK v1.7.0_91 +1 checkstyle 0m 16s trunk passed +1 mvnsite 0m 53s trunk passed +1 mvneclipse 0m 14s trunk passed +1 findbugs 1m 50s trunk passed +1 javadoc 1m 8s trunk passed with JDK v1.8.0_66 +1 javadoc 1m 49s trunk passed with JDK v1.7.0_91 +1 mvninstall 0m 51s the patch passed +1 compile 0m 45s the patch passed with JDK v1.8.0_66 +1 javac 0m 45s the patch passed +1 compile 0m 43s the patch passed with JDK v1.7.0_91 +1 javac 0m 43s the patch passed -1 checkstyle 0m 15s Patch generated 1 new checkstyle issues in hadoop-hdfs-project/hadoop-hdfs (total was 160, now 160). +1 mvnsite 0m 52s the patch passed +1 mvneclipse 0m 13s the patch passed +1 whitespace 0m 0s Patch has no whitespace issues. +1 findbugs 2m 3s the patch passed +1 javadoc 1m 8s the patch passed with JDK v1.8.0_66 +1 javadoc 1m 49s the patch passed with JDK v1.7.0_91 -1 unit 51m 56s hadoop-hdfs in the patch failed with JDK v1.8.0_66. -1 unit 49m 53s hadoop-hdfs in the patch failed with JDK v1.7.0_91. -1 asflicense 0m 19s Patch generated 58 ASF License warnings. 128m 34s Reason Tests JDK v1.8.0_66 Failed junit tests hadoop.hdfs.server.datanode.TestBlockScanner   hadoop.hdfs.server.namenode.ha.TestHarFileSystemWithHA   hadoop.hdfs.server.namenode.metrics.TestNameNodeMetrics JDK v1.7.0_91 Failed junit tests hadoop.hdfs.TestRecoverStripedFile   hadoop.hdfs.server.namenode.snapshot.TestRenameWithSnapshots   hadoop.hdfs.TestDFSStripedOutputStreamWithFailure Subsystem Report/Notes Docker Image:yetus/hadoop:0ca8df7 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12777230/HDFS-9535.002.patch JIRA Issue HDFS-9535 Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle uname Linux d408c839af51 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux Build tool maven Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh git revision trunk / 796a676 findbugs v3.0.0 checkstyle https://builds.apache.org/job/PreCommit-HDFS-Build/13846/artifact/patchprocess/diff-checkstyle-hadoop-hdfs-project_hadoop-hdfs.txt unit https://builds.apache.org/job/PreCommit-HDFS-Build/13846/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs-jdk1.8.0_66.txt unit https://builds.apache.org/job/PreCommit-HDFS-Build/13846/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs-jdk1.7.0_91.txt unit test logs https://builds.apache.org/job/PreCommit-HDFS-Build/13846/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs-jdk1.8.0_66.txt https://builds.apache.org/job/PreCommit-HDFS-Build/13846/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs-jdk1.7.0_91.txt JDK v1.7.0_91 Test Results https://builds.apache.org/job/PreCommit-HDFS-Build/13846/testReport/ asflicense https://builds.apache.org/job/PreCommit-HDFS-Build/13846/artifact/patchprocess/patch-asflicense-problems.txt modules C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs Max memory used 75MB Powered by Apache Yetus 0.1.0-SNAPSHOT http://yetus.apache.org Console output https://builds.apache.org/job/PreCommit-HDFS-Build/13846/console This message was automatically generated.
          Hide
          liuml07 Mingliang Liu added a comment -

          Failing tests can not be re-produced locally. Seem unrelated?

          Show
          liuml07 Mingliang Liu added a comment - Failing tests can not be re-produced locally. Seem unrelated?
          Hide
          jingzhao Jing Zhao added a comment -

          The fix looks good to me. The test failures should be unrelated. +1. I will commit the patch shortly.

          Show
          jingzhao Jing Zhao added a comment - The fix looks good to me. The test failures should be unrelated. +1. I will commit the patch shortly.
          Hide
          liuml07 Mingliang Liu added a comment -

          Thanks to Jing Zhao for cutting this jira, reviewing and committing the patch. Thanks to Masatake Iwasaki for useful comments.

          Show
          liuml07 Mingliang Liu added a comment - Thanks to Jing Zhao for cutting this jira, reviewing and committing the patch. Thanks to Masatake Iwasaki for useful comments.
          Hide
          hudson Hudson added a comment -

          FAILURE: Integrated in Hadoop-trunk-Commit #8962 (See https://builds.apache.org/job/Hadoop-trunk-Commit/8962/)
          HDFS-9535. Newly completed blocks in IBR should not be considered (jing9: rev e53456981474d6e16e3c134e3777b3588dc6fedf)

          • hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java
          • hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
          Show
          hudson Hudson added a comment - FAILURE: Integrated in Hadoop-trunk-Commit #8962 (See https://builds.apache.org/job/Hadoop-trunk-Commit/8962/ ) HDFS-9535 . Newly completed blocks in IBR should not be considered (jing9: rev e53456981474d6e16e3c134e3777b3588dc6fedf) hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
          Hide
          jingzhao Jing Zhao added a comment -

          I've committed the patch into trunk, branch-2, and branch-2.8.

          Show
          jingzhao Jing Zhao added a comment - I've committed the patch into trunk, branch-2, and branch-2.8.
          Hide
          hudson Hudson added a comment -

          ABORTED: Integrated in Hadoop-Hdfs-trunk-Java8 #692 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk-Java8/692/)
          HDFS-9535. Newly completed blocks in IBR should not be considered (jing9: rev e53456981474d6e16e3c134e3777b3588dc6fedf)

          • hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java
          • hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
          Show
          hudson Hudson added a comment - ABORTED: Integrated in Hadoop-Hdfs-trunk-Java8 #692 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk-Java8/692/ ) HDFS-9535 . Newly completed blocks in IBR should not be considered (jing9: rev e53456981474d6e16e3c134e3777b3588dc6fedf) hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt

            People

            • Assignee:
              liuml07 Mingliang Liu
              Reporter:
              jingzhao Jing Zhao
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development