Skip to content

Commit 3651d6c

Browse files
authored
HDDS-10594. Update file encryption info when overwriting key (#6445)
1 parent 7559e1f commit 3651d6c

2 files changed

Lines changed: 13 additions & 1 deletion

File tree

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

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,17 @@ static void createAndVerifyKeyData(OzoneBucket bucket) throws Exception {
284284
out.write(value.getBytes(StandardCharsets.UTF_8));
285285
}
286286
verifyKeyData(bucket, keyName, value, testStartTime);
287+
OzoneKeyDetails key1 = bucket.getKey(keyName);
288+
289+
// Overwrite the key
290+
try (OzoneOutputStream out = bucket.createKey(keyName,
291+
value.getBytes(StandardCharsets.UTF_8).length,
292+
ReplicationConfig.fromTypeAndFactor(RATIS, ONE),
293+
new HashMap<>())) {
294+
out.write(value.getBytes(StandardCharsets.UTF_8));
295+
}
296+
OzoneKeyDetails key2 = bucket.getKey(keyName);
297+
assertNotEquals(key1.getFileEncryptionInfo().toString(), key2.getFileEncryptionInfo().toString());
287298
}
288299

289300
static void createAndVerifyFileSystemData(
@@ -325,7 +336,6 @@ static void verifyKeyData(OzoneBucket bucket, String keyName, String value,
325336
len = is.read(fileContent);
326337
}
327338

328-
329339
assertEquals(len, value.length());
330340
assertTrue(verifyRatisReplication(bucket.getVolumeName(),
331341
bucket.getName(), keyName, RATIS,

hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRequest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -779,6 +779,8 @@ protected OmKeyInfo prepareFileInfo(
779779
dbKeyInfo.getMetadata().clear();
780780
dbKeyInfo.getMetadata().putAll(KeyValueUtil.getFromProtobuf(
781781
keyArgs.getMetadataList()));
782+
783+
dbKeyInfo.setFileEncryptionInfo(encInfo);
782784
return dbKeyInfo;
783785
}
784786

0 commit comments

Comments
 (0)