diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/TagUtil.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/TagUtil.java index 936d8c2..4682035 100644 --- a/hbase-common/src/main/java/org/apache/hadoop/hbase/TagUtil.java +++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/TagUtil.java @@ -277,6 +277,16 @@ public final class TagUtil { // tag-handling). if (tags == null) { tags = new ArrayList<>(1); + } else { + // Remove existing TTL tags if any + Iterator tagsItr = tags.iterator(); + while (tagsItr.hasNext()) { + Tag tag = tagsItr.next(); + if (tag.getType() == TagType.TTL_TAG_TYPE) { + tagsItr.remove(); + break; + } + } } tags.add(new ArrayBackedTag(TagType.TTL_TAG_TYPE, Bytes.toBytes(ttl))); return tags;