aswinshakil commented on code in PR #8204:
URL: https://github.com/apache/ozone/pull/8204#discussion_r2029311497
##########
hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/dn/checksum/TestContainerCommandReconciliation.java:
##########
@@ -247,6 +251,35 @@ public void testGetChecksumInfoSuccess() throws Exception {
}
}
+ @Test
+ public void testDataChecksumReportedAtSCM() throws Exception {
+ long containerID = writeDataAndGetContainer(true);
+ // Check non-zero checksum after container close
+ Set<ContainerReplica> containerReplicas =
cluster.getStorageContainerManager().getContainerManager()
+ .getContainerReplicas(ContainerID.valueOf(containerID));
+ for (ContainerReplica containerReplica: containerReplicas) {
+ assertNotEquals(0, containerReplica.getDataChecksum());
+ }
+
cluster.getStorageContainerLocationClient().reconcileContainer(containerID);
+ Thread.sleep(10000);
+
+ // Check non-zero checksum after container reconciliation
+ containerReplicas =
cluster.getStorageContainerManager().getContainerManager()
+ .getContainerReplicas(ContainerID.valueOf(containerID));
+ for (ContainerReplica containerReplica: containerReplicas) {
+ assertNotEquals(0, containerReplica.getDataChecksum());
+ }
+
+ // Check non-zero checksum after datanode restart
+ // Restarting all the nodes take more time in mini ozone cluster, so
restarting only one node
+ cluster.restartHddsDatanode(0, true);
+ containerReplicas =
cluster.getStorageContainerManager().getContainerManager()
+ .getContainerReplicas(ContainerID.valueOf(containerID));
+ for (ContainerReplica containerReplica: containerReplicas) {
+ assertNotEquals(0, containerReplica.getDataChecksum());
Review Comment:
The true flag ensures the Datanode becomes stale and removes it. During the
startup it re-registers with the SCM. I have checked the log messages of these
tests and that's what happens.
##########
hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/dn/checksum/TestContainerCommandReconciliation.java:
##########
@@ -247,6 +251,35 @@ public void testGetChecksumInfoSuccess() throws Exception {
}
}
+ @Test
+ public void testDataChecksumReportedAtSCM() throws Exception {
+ long containerID = writeDataAndGetContainer(true);
+ // Check non-zero checksum after container close
+ Set<ContainerReplica> containerReplicas =
cluster.getStorageContainerManager().getContainerManager()
+ .getContainerReplicas(ContainerID.valueOf(containerID));
+ for (ContainerReplica containerReplica: containerReplicas) {
+ assertNotEquals(0, containerReplica.getDataChecksum());
+ }
+
cluster.getStorageContainerLocationClient().reconcileContainer(containerID);
+ Thread.sleep(10000);
+
+ // Check non-zero checksum after container reconciliation
+ containerReplicas =
cluster.getStorageContainerManager().getContainerManager()
+ .getContainerReplicas(ContainerID.valueOf(containerID));
+ for (ContainerReplica containerReplica: containerReplicas) {
+ assertNotEquals(0, containerReplica.getDataChecksum());
+ }
+
+ // Check non-zero checksum after datanode restart
+ // Restarting all the nodes take more time in mini ozone cluster, so
restarting only one node
+ cluster.restartHddsDatanode(0, true);
+ containerReplicas =
cluster.getStorageContainerManager().getContainerManager()
+ .getContainerReplicas(ContainerID.valueOf(containerID));
+ for (ContainerReplica containerReplica: containerReplicas) {
+ assertNotEquals(0, containerReplica.getDataChecksum());
Review Comment:
The `true` flag ensures the Datanode becomes stale and removes it. During
the startup it re-registers with the SCM. I have checked the log messages of
these tests and that's what happens.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]