Skip to content

Commit

Permalink
ozone debug chunkinfo test case for lower bcsId replica
Browse files Browse the repository at this point in the history
  • Loading branch information
Sadanand Shenoy committed Oct 10, 2024
1 parent b3afaec commit 3d59afe
Showing 1 changed file with 43 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,13 @@
import org.apache.hadoop.hdds.client.ReplicationFactor;
import org.apache.hadoop.hdds.client.ReplicationType;
import org.apache.hadoop.hdds.conf.OzoneConfiguration;
import org.apache.hadoop.hdds.protocol.DatanodeDetails;
import org.apache.hadoop.hdds.scm.container.ContainerID;
import org.apache.hadoop.hdds.scm.container.ContainerInfo;
import org.apache.hadoop.hdds.scm.container.replication.ReplicationManager;
import org.apache.hadoop.hdds.scm.pipeline.PipelineID;
import org.apache.hadoop.hdds.utils.IOUtils;
import org.apache.hadoop.ozone.HddsDatanodeService;
import org.apache.hadoop.ozone.MiniOzoneCluster;
import org.apache.hadoop.ozone.OzoneTestUtils;
import org.apache.hadoop.ozone.TestDataUtil;
Expand Down Expand Up @@ -74,6 +77,7 @@
import static org.apache.hadoop.ozone.OzoneConsts.OM_DB_NAME;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;

/**
* Test Ozone Debug shell.
Expand Down Expand Up @@ -134,6 +138,45 @@ public void testChunkInfoCmdBeforeAfterCloseContainer(boolean isEcKey) throws Ex
assertEquals(0, exitCode);
}

@Test
public void testChunkInfoOnAReplicaWithLowerBcsId() throws Exception {
final String volumeName = UUID.randomUUID().toString();
final String bucketName = UUID.randomUUID().toString();
final String keyName = UUID.randomUUID().toString();

writeKey(volumeName, bucketName, keyName, false);
closeContainerForKey(volumeName, bucketName, keyName);

long containerId = client.getObjectStore().getVolume(volumeName)
.getBucket(bucketName)
.getKey(keyName)
.getOzoneKeyLocations().get(0).getContainerID();

PipelineID pipelineID = cluster.getStorageContainerManager()
.getContainerManager()
.getContainer(ContainerID.valueOf(containerId))
.getPipelineID();

DatanodeDetails first = cluster.getStorageContainerManager()
.getPipelineManager()
.getPipeline(pipelineID)
.getNodes().get(0);

HddsDatanodeService dn = cluster.getHddsDatanodes().stream()
.filter(x -> x.getDatanodeDetails().equals(first)).findFirst().get();

dn.getDatanodeStateMachine().getContainer().getContainerSet()
.getContainer(containerId).updateBlockCommitSequenceId(1L);

try (GenericTestUtils.SystemOutCapturer capture = new GenericTestUtils
.SystemOutCapturer()) {
int exitCode = runChunkInfoCommand(volumeName, bucketName, keyName);
assertEquals(0, exitCode);
String sysOut = capture.getOutput();
assertTrue(sysOut.contains("\"files\" : [ ]"));
}
}

@Test
public void testChunkInfoVerifyPathsAreDifferent() throws Exception {
final String volumeName = UUID.randomUUID().toString();
Expand Down

0 comments on commit 3d59afe

Please sign in to comment.