You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-commits@hadoop.apache.org by co...@apache.org on 2010/12/06 05:35:41 UTC
svn commit: r1042518 - in /hadoop/hdfs/branches/branch-0.21: ./
src/c++/libhdfs/ src/contrib/hdfsproxy/ src/java/
src/java/org/apache/hadoop/hdfs/server/datanode/ src/test/hdfs/
src/test/unit/org/apache/hadoop/hdfs/server/datanode/ src/webapps/datanode...
Author: cos
Date: Mon Dec 6 04:35:40 2010
New Revision: 1042518
URL: http://svn.apache.org/viewvc?rev=1042518&view=rev
Log:
HDFS-1502. svn merge -c 1042517 from trunk
Modified:
hadoop/hdfs/branches/branch-0.21/ (props changed)
hadoop/hdfs/branches/branch-0.21/CHANGES.txt
hadoop/hdfs/branches/branch-0.21/build.xml (props changed)
hadoop/hdfs/branches/branch-0.21/src/c++/libhdfs/ (props changed)
hadoop/hdfs/branches/branch-0.21/src/contrib/hdfsproxy/ (props changed)
hadoop/hdfs/branches/branch-0.21/src/java/ (props changed)
hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/datanode/ReplicaInfo.java (props changed)
hadoop/hdfs/branches/branch-0.21/src/test/hdfs/ (props changed)
hadoop/hdfs/branches/branch-0.21/src/test/unit/org/apache/hadoop/hdfs/server/datanode/TestBlockRecovery.java
hadoop/hdfs/branches/branch-0.21/src/webapps/datanode/ (props changed)
hadoop/hdfs/branches/branch-0.21/src/webapps/hdfs/ (props changed)
hadoop/hdfs/branches/branch-0.21/src/webapps/secondary/ (props changed)
Propchange: hadoop/hdfs/branches/branch-0.21/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Dec 6 04:35:40 2010
@@ -1,4 +1,4 @@
/hadoop/core/branches/branch-0.19/hdfs:713112
/hadoop/hdfs/branches/HDFS-265:796829-820463
/hadoop/hdfs/branches/branch-0.21:820487
-/hadoop/hdfs/trunk:947194,950323,952861,959324,959827,964123,964925,964928,966394,966952,982820,1004110,1021554,1026178
+/hadoop/hdfs/trunk:947194,950323,952861,959324,959827,964123,964925,964928,966394,966952,982820,1004110,1021554,1026178,1042517
Modified: hadoop/hdfs/branches/branch-0.21/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/CHANGES.txt?rev=1042518&r1=1042517&r2=1042518&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/CHANGES.txt (original)
+++ hadoop/hdfs/branches/branch-0.21/CHANGES.txt Mon Dec 6 04:35:40 2010
@@ -1,5 +1,7 @@
Hadoop HDFS Change Log
+ HDFS-1502. TestBlockRecovery triggers NPE in assert. (hairong via cos)
+
Release 0.21.1 - Unreleased
IMPROVEMENTS
Propchange: hadoop/hdfs/branches/branch-0.21/build.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Dec 6 04:35:40 2010
@@ -2,4 +2,4 @@
/hadoop/core/trunk/build.xml:779102
/hadoop/hdfs/branches/HDFS-265/build.xml:796829-820463
/hadoop/hdfs/branches/branch-0.21/build.xml:820487
-/hadoop/hdfs/trunk/build.xml:947194,950323,952861,959324,959827,964123,964925,964928,966394,966952,982820,1004110,1021554,1026178
+/hadoop/hdfs/trunk/build.xml:947194,950323,952861,959324,959827,964123,964925,964928,966394,966952,982820,1004110,1021554,1026178,1042517
Propchange: hadoop/hdfs/branches/branch-0.21/src/c++/libhdfs/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Dec 6 04:35:40 2010
@@ -1,3 +1,3 @@
/hadoop/core/branches/branch-0.19/mapred/src/c++/libhdfs:713112
/hadoop/core/trunk/src/c++/libhdfs:776175-784663
-/hadoop/hdfs/trunk/src/c++/libhdfs:947194,950323,952861,959324,959827,964123,964925,964928,966394,966952,982820,1004110,1021554,1026178
+/hadoop/hdfs/trunk/src/c++/libhdfs:947194,950323,952861,959324,959827,964123,964925,964928,966394,966952,982820,1004110,1021554,1026178,1042517
Propchange: hadoop/hdfs/branches/branch-0.21/src/contrib/hdfsproxy/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Dec 6 04:35:40 2010
@@ -2,4 +2,4 @@
/hadoop/core/trunk/src/contrib/hdfsproxy:776175-784663
/hadoop/hdfs/branches/HDFS-265/src/contrib/hdfsproxy:796829-820463
/hadoop/hdfs/branches/branch-0.21/src/contrib/hdfsproxy:820487
-/hadoop/hdfs/trunk/src/contrib/hdfsproxy:947194,950323,952861,959324,959827,964123,964925,964928,966394,966952,982820,1004110,1021554,1026178
+/hadoop/hdfs/trunk/src/contrib/hdfsproxy:947194,950323,952861,959324,959827,964123,964925,964928,966394,966952,982820,1004110,1021554,1026178,1042517
Propchange: hadoop/hdfs/branches/branch-0.21/src/java/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Dec 6 04:35:40 2010
@@ -2,4 +2,4 @@
/hadoop/core/trunk/src/hdfs:776175-785643,785929-786278
/hadoop/hdfs/branches/HDFS-265/src/java:796829-820463
/hadoop/hdfs/branches/branch-0.21/src/java:820487
-/hadoop/hdfs/trunk/src/java:947194,950323,952861,959324,959827,964123,964925,964928,966394,966952,982820,1004110,1021554,1026178
+/hadoop/hdfs/trunk/src/java:947194,950323,952861,959324,959827,964123,964925,964928,966394,966952,982820,1004110,1021554,1026178,1042517
Propchange: hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/datanode/ReplicaInfo.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Dec 6 04:35:40 2010
@@ -4,4 +4,4 @@
/hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/server/datanode/ReplicaInfo.java:776175-785643,785929-786278
/hadoop/hdfs/branches/HDFS-265/src/java/org/apache/hadoop/hdfs/server/datanode/ReplicaInfo.java:796829-820463
/hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/datanode/ReplicaInfo.java:820487
-/hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/server/datanode/ReplicaInfo.java:947194,950323,952861,959324,959827,964123,964925,964928,966394,966952,982820,1004110,1021554,1026178
+/hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/server/datanode/ReplicaInfo.java:947194,950323,952861,959324,959827,964123,964925,964928,966394,966952,982820,1004110,1021554,1026178,1042517
Propchange: hadoop/hdfs/branches/branch-0.21/src/test/hdfs/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Dec 6 04:35:40 2010
@@ -2,4 +2,4 @@
/hadoop/core/trunk/src/test/hdfs:776175-785643
/hadoop/hdfs/branches/HDFS-265/src/test/hdfs:796829-820463
/hadoop/hdfs/branches/branch-0.21/src/test/hdfs:820487
-/hadoop/hdfs/trunk/src/test/hdfs:947194,950323,952861,959324,959827,964123,964925,964928,966394,966952,982820,1004110,1021554,1026178
+/hadoop/hdfs/trunk/src/test/hdfs:947194,950323,952861,959324,959827,964123,964925,964928,966394,966952,982820,1004110,1021554,1026178,1042517
Modified: hadoop/hdfs/branches/branch-0.21/src/test/unit/org/apache/hadoop/hdfs/server/datanode/TestBlockRecovery.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/test/unit/org/apache/hadoop/hdfs/server/datanode/TestBlockRecovery.java?rev=1042518&r1=1042517&r2=1042518&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/test/unit/org/apache/hadoop/hdfs/server/datanode/TestBlockRecovery.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/test/unit/org/apache/hadoop/hdfs/server/datanode/TestBlockRecovery.java Mon Dec 6 04:35:40 2010
@@ -128,7 +128,8 @@ public class TestBlockRecovery {
private void testSyncReplicas(ReplicaRecoveryInfo replica1,
ReplicaRecoveryInfo replica2,
InterDatanodeProtocol dn1,
- InterDatanodeProtocol dn2) throws IOException {
+ InterDatanodeProtocol dn2,
+ long expectLen) throws IOException {
DatanodeInfo[] locs = new DatanodeInfo[]{
mock(DatanodeInfo.class), mock(DatanodeInfo.class)};
@@ -141,6 +142,13 @@ public class TestBlockRecovery {
new DatanodeID("aa", "bb", 11, 22), dn2, replica2);
syncList.add(record1);
syncList.add(record2);
+
+ when(dn1.updateReplicaUnderRecovery((Block)anyObject(), anyLong(),
+ anyLong())).thenReturn(new Block(block.getBlockId(),
+ expectLen, block.getGenerationStamp()));
+ when(dn2.updateReplicaUnderRecovery((Block)anyObject(), anyLong(),
+ anyLong())).thenReturn(new Block(block.getBlockId(),
+ expectLen, block.getGenerationStamp()));
dn.syncBlock(rBlock, syncList);
}
@@ -160,7 +168,7 @@ public class TestBlockRecovery {
InterDatanodeProtocol dn1 = mock(InterDatanodeProtocol.class);
InterDatanodeProtocol dn2 = mock(InterDatanodeProtocol.class);
- testSyncReplicas(replica1, replica2, dn1, dn2);
+ testSyncReplicas(replica1, replica2, dn1, dn2, REPLICA_LEN1);
verify(dn1).updateReplicaUnderRecovery(block, RECOVERY_ID, REPLICA_LEN1);
verify(dn2).updateReplicaUnderRecovery(block, RECOVERY_ID, REPLICA_LEN1);
@@ -171,7 +179,7 @@ public class TestBlockRecovery {
REPLICA_LEN2, GEN_STAMP-2, ReplicaState.FINALIZED);
try {
- testSyncReplicas(replica1, replica2, dn1, dn2);
+ testSyncReplicas(replica1, replica2, dn1, dn2, REPLICA_LEN1);
Assert.fail("Two finalized replicas should not have different lengthes!");
} catch (IOException e) {
Assert.assertTrue(e.getMessage().startsWith(
@@ -197,7 +205,7 @@ public class TestBlockRecovery {
InterDatanodeProtocol dn1 = mock(InterDatanodeProtocol.class);
InterDatanodeProtocol dn2 = mock(InterDatanodeProtocol.class);
- testSyncReplicas(replica1, replica2, dn1, dn2);
+ testSyncReplicas(replica1, replica2, dn1, dn2, REPLICA_LEN1);
verify(dn1).updateReplicaUnderRecovery(block, RECOVERY_ID, REPLICA_LEN1);
verify(dn2).updateReplicaUnderRecovery(block, RECOVERY_ID, REPLICA_LEN1);
@@ -210,7 +218,7 @@ public class TestBlockRecovery {
dn1 = mock(InterDatanodeProtocol.class);
dn2 = mock(InterDatanodeProtocol.class);
- testSyncReplicas(replica1, replica2, dn1, dn2);
+ testSyncReplicas(replica1, replica2, dn1, dn2, REPLICA_LEN1);
verify(dn1).updateReplicaUnderRecovery(block, RECOVERY_ID, REPLICA_LEN1);
verify(dn2, never()).updateReplicaUnderRecovery(
block, RECOVERY_ID, REPLICA_LEN1);
@@ -234,7 +242,7 @@ public class TestBlockRecovery {
InterDatanodeProtocol dn1 = mock(InterDatanodeProtocol.class);
InterDatanodeProtocol dn2 = mock(InterDatanodeProtocol.class);
- testSyncReplicas(replica1, replica2, dn1, dn2);
+ testSyncReplicas(replica1, replica2, dn1, dn2, REPLICA_LEN1);
verify(dn1).updateReplicaUnderRecovery(block, RECOVERY_ID, REPLICA_LEN1);
verify(dn2, never()).updateReplicaUnderRecovery(
block, RECOVERY_ID, REPLICA_LEN1);
@@ -248,7 +256,7 @@ public class TestBlockRecovery {
dn1 = mock(InterDatanodeProtocol.class);
dn2 = mock(InterDatanodeProtocol.class);
- testSyncReplicas(replica1, replica2, dn1, dn2);
+ testSyncReplicas(replica1, replica2, dn1, dn2, REPLICA_LEN1);
verify(dn1).updateReplicaUnderRecovery(block, RECOVERY_ID, REPLICA_LEN1);
verify(dn2, never()).updateReplicaUnderRecovery(
block, RECOVERY_ID, REPLICA_LEN1);
@@ -270,8 +278,8 @@ public class TestBlockRecovery {
InterDatanodeProtocol dn1 = mock(InterDatanodeProtocol.class);
InterDatanodeProtocol dn2 = mock(InterDatanodeProtocol.class);
- testSyncReplicas(replica1, replica2, dn1, dn2);
long minLen = Math.min(REPLICA_LEN1, REPLICA_LEN2);
+ testSyncReplicas(replica1, replica2, dn1, dn2, minLen);
verify(dn1).updateReplicaUnderRecovery(block, RECOVERY_ID, minLen);
verify(dn2).updateReplicaUnderRecovery(block, RECOVERY_ID, minLen);
}
@@ -292,7 +300,7 @@ public class TestBlockRecovery {
InterDatanodeProtocol dn1 = mock(InterDatanodeProtocol.class);
InterDatanodeProtocol dn2 = mock(InterDatanodeProtocol.class);
- testSyncReplicas(replica1, replica2, dn1, dn2);
+ testSyncReplicas(replica1, replica2, dn1, dn2, REPLICA_LEN1);
verify(dn1).updateReplicaUnderRecovery(block, RECOVERY_ID, REPLICA_LEN1);
verify(dn2, never()).updateReplicaUnderRecovery(
block, RECOVERY_ID, REPLICA_LEN1);
@@ -314,9 +322,9 @@ public class TestBlockRecovery {
InterDatanodeProtocol dn1 = mock(InterDatanodeProtocol.class);
InterDatanodeProtocol dn2 = mock(InterDatanodeProtocol.class);
- testSyncReplicas(replica1, replica2, dn1, dn2);
-
long minLen = Math.min(REPLICA_LEN1, REPLICA_LEN2);
+ testSyncReplicas(replica1, replica2, dn1, dn2, minLen);
+
verify(dn1).updateReplicaUnderRecovery(block, RECOVERY_ID, minLen);
verify(dn2).updateReplicaUnderRecovery(block, RECOVERY_ID, minLen);
}
Propchange: hadoop/hdfs/branches/branch-0.21/src/webapps/datanode/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Dec 6 04:35:40 2010
@@ -2,4 +2,4 @@
/hadoop/core/trunk/src/webapps/datanode:776175-784663
/hadoop/hdfs/branches/HDFS-265/src/webapps/datanode:796829-820463
/hadoop/hdfs/branches/branch-0.21/src/webapps/datanode:820487
-/hadoop/hdfs/trunk/src/webapps/datanode:947194,950323,952861,959324,959827,964123,964925,964928,966394,966952,982820,1004110,1021554,1026178
+/hadoop/hdfs/trunk/src/webapps/datanode:947194,950323,952861,959324,959827,964123,964925,964928,966394,966952,982820,1004110,1021554,1026178,1042517
Propchange: hadoop/hdfs/branches/branch-0.21/src/webapps/hdfs/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Dec 6 04:35:40 2010
@@ -2,4 +2,4 @@
/hadoop/core/trunk/src/webapps/hdfs:776175-784663
/hadoop/hdfs/branches/HDFS-265/src/webapps/hdfs:796829-820463
/hadoop/hdfs/branches/branch-0.21/src/webapps/hdfs:820487
-/hadoop/hdfs/trunk/src/webapps/hdfs:947194,950323,952861,959324,959827,964123,964925,964928,966394,966952,982820,1004110,1021554,1026178
+/hadoop/hdfs/trunk/src/webapps/hdfs:947194,950323,952861,959324,959827,964123,964925,964928,966394,966952,982820,1004110,1021554,1026178,1042517
Propchange: hadoop/hdfs/branches/branch-0.21/src/webapps/secondary/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Dec 6 04:35:40 2010
@@ -2,4 +2,4 @@
/hadoop/core/trunk/src/webapps/secondary:776175-784663
/hadoop/hdfs/branches/HDFS-265/src/webapps/secondary:796829-820463
/hadoop/hdfs/branches/branch-0.21/src/webapps/secondary:820487
-/hadoop/hdfs/trunk/src/webapps/secondary:947194,950323,952861,959324,959827,964123,964925,964928,966394,966952,982820,1004110,1021554,1026178
+/hadoop/hdfs/trunk/src/webapps/secondary:947194,950323,952861,959324,959827,964123,964925,964928,966394,966952,982820,1004110,1021554,1026178,1042517