diff --git a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmKeyInfo.java b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmKeyInfo.java index 4dffb14b11d6..bbb91808a530 100644 --- a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmKeyInfo.java +++ b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmKeyInfo.java @@ -818,6 +818,7 @@ public boolean isKeyInfoSame(OmKeyInfo omKeyInfo, boolean checkPath, replicationConfig.equals(omKeyInfo.replicationConfig) && Objects.equals(getMetadata(), omKeyInfo.getMetadata()) && Objects.equals(acls, omKeyInfo.acls) && + Objects.equals(getTags(), omKeyInfo.getTags()) && getObjectID() == omKeyInfo.getObjectID(); if (isEqual && checkUpdateID) { diff --git a/hadoop-ozone/common/src/test/java/org/apache/hadoop/ozone/om/helpers/TestOmKeyInfo.java b/hadoop-ozone/common/src/test/java/org/apache/hadoop/ozone/om/helpers/TestOmKeyInfo.java index 71353da97365..00ecbed52361 100644 --- a/hadoop-ozone/common/src/test/java/org/apache/hadoop/ozone/om/helpers/TestOmKeyInfo.java +++ b/hadoop-ozone/common/src/test/java/org/apache/hadoop/ozone/om/helpers/TestOmKeyInfo.java @@ -123,6 +123,8 @@ private OmKeyInfo createOmKeyInfo(ReplicationConfig replicationConfig) { .setReplicationConfig(replicationConfig) .addMetadata("key1", "value1") .addMetadata("key2", "value2") + .addTag("tagKey1", "tagValue1") + .addTag("tagKey2", "tagValue2") .setExpectedDataGeneration(5678L) .build(); } @@ -149,6 +151,8 @@ private void createdAndTest(boolean isMPU) { RatisReplicationConfig.getInstance(ReplicationFactor.THREE)) .addMetadata("key1", "value1") .addMetadata("key2", "value2") + .addTag("tagKey1", "tagValue1") + .addTag("tagKey2", "tagValue2") .setOmKeyLocationInfos( Collections.singletonList(createOmKeyLocationInfoGroup(isMPU))) .build(); @@ -194,6 +198,11 @@ private void createdAndTest(boolean isMPU) { cloneKey = key.copyObject(); assertEquals(key.getAcls(), cloneKey.getAcls()); + + // Change object tags and check + key.setTags(Collections.singletonMap("tagKey3", "tagValue3")); + + assertNotEquals(key, cloneKey); }