Skip to content

Commit d58acad

Browse files
ChenSammiMaksim Myskov
authored andcommitted
HDDS-10594. Update file encryption info when overwriting key (apache#6445)
(cherry picked from commit 3651d6c)
1 parent f7430a5 commit d58acad

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
@@ -249,6 +249,17 @@ static void createAndVerifyKeyData(OzoneBucket bucket) throws Exception {
249249
out.write(value.getBytes(StandardCharsets.UTF_8));
250250
}
251251
verifyKeyData(bucket, keyName, value, testStartTime);
252+
OzoneKeyDetails key1 = bucket.getKey(keyName);
253+
254+
// Overwrite the key
255+
try (OzoneOutputStream out = bucket.createKey(keyName,
256+
value.getBytes(StandardCharsets.UTF_8).length,
257+
ReplicationConfig.fromTypeAndFactor(RATIS, ONE),
258+
new HashMap<>())) {
259+
out.write(value.getBytes(StandardCharsets.UTF_8));
260+
}
261+
OzoneKeyDetails key2 = bucket.getKey(keyName);
262+
assertNotEquals(key1.getFileEncryptionInfo().toString(), key2.getFileEncryptionInfo().toString());
252263
}
253264

254265
static void verifyKeyData(OzoneBucket bucket, String keyName, String value,
@@ -269,7 +280,6 @@ static void verifyKeyData(OzoneBucket bucket, String keyName, String value,
269280
len = is.read(fileContent);
270281
}
271282

272-
273283
assertEquals(len, value.length());
274284
assertTrue(verifyRatisReplication(bucket.getVolumeName(),
275285
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
@@ -735,6 +735,8 @@ protected OmKeyInfo prepareFileInfo(
735735
dbKeyInfo.getMetadata().clear();
736736
dbKeyInfo.getMetadata().putAll(KeyValueUtil.getFromProtobuf(
737737
keyArgs.getMetadataList()));
738+
739+
dbKeyInfo.setFileEncryptionInfo(encInfo);
738740
return dbKeyInfo;
739741
}
740742

0 commit comments

Comments
 (0)