This is an automated email from the ASF dual-hosted git repository.
adoroszlai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git
The following commit(s) were added to refs/heads/master by this push:
new 5834fcf7c8 HDDS-10091. TestOzoneDebugShell fails with
FILE_SYSTEM_OPTIMIZED bucket layout (#8227)
5834fcf7c8 is described below
commit 5834fcf7c89ab4f80aa3e51823af851e696806f9
Author: Priyesh Karatha <[email protected]>
AuthorDate: Sun Apr 6 15:49:56 2025 +0530
HDDS-10091. TestOzoneDebugShell fails with FILE_SYSTEM_OPTIMIZED bucket
layout (#8227)
---
.../hadoop/ozone/shell/TestOzoneDebugShell.java | 29 +++++++++++++---------
1 file changed, 17 insertions(+), 12 deletions(-)
diff --git
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/shell/TestOzoneDebugShell.java
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/shell/TestOzoneDebugShell.java
index 6e4e9ab063..bc5ee8cc30 100644
---
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/shell/TestOzoneDebugShell.java
+++
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/shell/TestOzoneDebugShell.java
@@ -50,6 +50,7 @@
import org.apache.hadoop.ozone.debug.OzoneDebug;
import org.apache.hadoop.ozone.debug.ldb.RDBParser;
import org.apache.hadoop.ozone.om.OMConfigKeys;
+import org.apache.hadoop.ozone.om.OMMetadataManager;
import org.apache.hadoop.ozone.om.OMStorage;
import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.OmKeyArgs;
@@ -58,9 +59,9 @@
import org.apache.ozone.test.NonHATests;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestInstance;
import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.EnumSource;
import org.junit.jupiter.params.provider.ValueSource;
import picocli.CommandLine;
@@ -72,11 +73,13 @@ public abstract class TestOzoneDebugShell implements
NonHATests.TestCase {
private OzoneClient client;
private OzoneDebug ozoneDebugShell;
+ private OMMetadataManager omMetadataManager;
@BeforeEach
void init() throws Exception {
ozoneDebugShell = new OzoneDebug();
client = cluster().newClient();
+ omMetadataManager = cluster().getOzoneManager().getMetadataManager();
}
@AfterEach
@@ -91,7 +94,7 @@ public void testChunkInfoCmdBeforeAfterCloseContainer(boolean
isEcKey) throws Ex
final String bucketName = UUID.randomUUID().toString();
final String keyName = UUID.randomUUID().toString();
- writeKey(volumeName, bucketName, keyName, isEcKey);
+ writeKey(volumeName, bucketName, keyName, isEcKey,
BucketLayout.FILE_SYSTEM_OPTIMIZED);
int exitCode = runChunkInfoCommand(volumeName, bucketName, keyName);
assertEquals(0, exitCode);
@@ -102,18 +105,21 @@ public void
testChunkInfoCmdBeforeAfterCloseContainer(boolean isEcKey) throws Ex
assertEquals(0, exitCode);
}
- @Test
- public void testChunkInfoVerifyPathsAreDifferent() throws Exception {
+ @ParameterizedTest
+ @EnumSource
+ public void testChunkInfoVerifyPathsAreDifferent(BucketLayout layout) 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);
+ writeKey(volumeName, bucketName, keyName, false, layout);
int exitCode = runChunkInfoAndVerifyPaths(volumeName, bucketName, keyName);
assertEquals(0, exitCode);
}
- @Test
- public void testLdbCliForOzoneSnapshot() throws Exception {
+ @ParameterizedTest
+ @EnumSource
+ public void testLdbCliForOzoneSnapshot(BucketLayout layout) throws Exception
{
+ String columnFamily = omMetadataManager.getKeyTable(layout).getName();
StringWriter stdout = new StringWriter();
PrintWriter pstdout = new PrintWriter(stdout);
CommandLine cmd = new CommandLine(new RDBParser())
@@ -122,7 +128,7 @@ public void testLdbCliForOzoneSnapshot() throws Exception {
final String bucketName = UUID.randomUUID().toString();
final String keyName = UUID.randomUUID().toString();
- writeKey(volumeName, bucketName, keyName, false);
+ writeKey(volumeName, bucketName, keyName, false, layout);
String snapshotName =
client.getObjectStore().createSnapshot(volumeName, bucketName,
"snap1");
@@ -135,7 +141,7 @@ public void testLdbCliForOzoneSnapshot() throws Exception {
GenericTestUtils
.waitFor(() -> new File(snapshotCurrent).exists(), 1000, 120000);
String[] args =
- new String[] {"--db=" + dbPath, "scan", "--cf", "keyTable"};
+ new String[] {"--db=" + dbPath, "scan", "--cf", columnFamily};
int exitCode = cmd.execute(args);
assertEquals(0, exitCode);
String cmdOut = stdout.toString();
@@ -149,7 +155,7 @@ private String getSnapshotDBPath(String checkPointDir) {
}
private void writeKey(String volumeName, String bucketName,
- String keyName, boolean isEcKey) throws IOException {
+ String keyName, boolean isEcKey, BucketLayout layout) throws IOException
{
ReplicationConfig repConfig;
if (isEcKey) {
repConfig = new ECReplicationConfig(3, 2);
@@ -157,9 +163,8 @@ private void writeKey(String volumeName, String bucketName,
repConfig = ReplicationConfig.fromTypeAndFactor(ReplicationType.RATIS,
ReplicationFactor.THREE);
}
- // see HDDS-10091 for making this work with FILE_SYSTEM_OPTIMIZED layout
TestDataUtil.createVolumeAndBucket(client, volumeName, bucketName,
- BucketLayout.LEGACY);
+ layout);
TestDataUtil.createKey(
client.getObjectStore().getVolume(volumeName).getBucket(bucketName),
keyName, repConfig, "test".getBytes(StandardCharsets.UTF_8));
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]