Skip to content

Commit 9cef3f6

Browse files
authored
HDDS-4176. Fix failed UT: test2WayCommitForTimeoutException (#1370)
1 parent 13fe31b commit 9cef3f6

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/ContainerTestHelper.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -583,6 +583,11 @@ public static String getFixedLengthString(String string, int length) {
583583

584584
private static RaftServerImpl getRaftServerImpl(HddsDatanodeService dn,
585585
Pipeline pipeline) throws Exception {
586+
if (!pipeline.getNodes().contains(dn.getDatanodeDetails())) {
587+
throw new IllegalArgumentException("Pipeline:" + pipeline.getId() +
588+
" not exist in datanode:" + dn.getDatanodeDetails().getUuid());
589+
}
590+
586591
XceiverServerSpi server = dn.getDatanodeStateMachine().
587592
getContainer().getWriteChannel();
588593
RaftServerProxy proxy =

hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestWatchForCommit.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import org.apache.hadoop.hdds.client.ReplicationType;
2222
import org.apache.hadoop.hdds.conf.DatanodeRatisServerConfig;
2323
import org.apache.hadoop.hdds.conf.OzoneConfiguration;
24+
import org.apache.hadoop.hdds.protocol.DatanodeDetails;
2425
import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
2526
import org.apache.hadoop.hdds.ratis.conf.RatisClientConfig;
2627
import org.apache.hadoop.hdds.scm.*;
@@ -297,9 +298,11 @@ public void test2WayCommitForTimeoutException() throws Exception {
297298
xceiverClient.getPipeline()));
298299
reply.getResponse().get();
299300
Assert.assertEquals(3, ratisClient.getCommitInfoMap().size());
301+
List<DatanodeDetails> nodesInPipeline = pipeline.getNodes();
300302
for (HddsDatanodeService dn : cluster.getHddsDatanodes()) {
301303
// shutdown the ratis follower
302-
if (ContainerTestHelper.isRatisFollower(dn, pipeline)) {
304+
if (nodesInPipeline.contains(dn.getDatanodeDetails())
305+
&& ContainerTestHelper.isRatisFollower(dn, pipeline)) {
303306
cluster.shutdownHddsDatanode(dn.getDatanodeDetails());
304307
break;
305308
}

0 commit comments

Comments
 (0)