This is an automated email from the ASF dual-hosted git repository. kturner pushed a commit to branch elasticity in repository https://gitbox.apache.org/repos/asf/accumulo.git
The following commit(s) were added to refs/heads/elasticity by this push: new 4ea73d88d7 tests seeing cloned marker in merge (#4621) 4ea73d88d7 is described below commit 4ea73d88d7a7b17846aea2bd0a4d828e8d4e76d5 Author: Keith Turner <ktur...@apache.org> AuthorDate: Fri May 31 09:25:16 2024 -0400 tests seeing cloned marker in merge (#4621) --- .../main/java/org/apache/accumulo/core/metadata/schema/Ample.java | 2 ++ .../accumulo/core/metadata/schema/TabletMetadataBuilder.java | 8 ++++++++ .../apache/accumulo/core/metadata/schema/TabletMutatorBase.java | 7 +++++++ .../apache/accumulo/core/metadata/schema/TabletMetadataTest.java | 3 ++- .../apache/accumulo/manager/tableOps/merge/MergeTabletsTest.java | 3 +-- 5 files changed, 20 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/org/apache/accumulo/core/metadata/schema/Ample.java b/core/src/main/java/org/apache/accumulo/core/metadata/schema/Ample.java index d3875ca826..7143d8a8aa 100644 --- a/core/src/main/java/org/apache/accumulo/core/metadata/schema/Ample.java +++ b/core/src/main/java/org/apache/accumulo/core/metadata/schema/Ample.java @@ -422,6 +422,8 @@ public interface Ample { T deleteUnSplittable(); + T putCloned(); + /** * By default the server lock is automatically added to mutations unless this method is set to * false. diff --git a/core/src/main/java/org/apache/accumulo/core/metadata/schema/TabletMetadataBuilder.java b/core/src/main/java/org/apache/accumulo/core/metadata/schema/TabletMetadataBuilder.java index 9bfd2831bf..9016e1652a 100644 --- a/core/src/main/java/org/apache/accumulo/core/metadata/schema/TabletMetadataBuilder.java +++ b/core/src/main/java/org/apache/accumulo/core/metadata/schema/TabletMetadataBuilder.java @@ -19,6 +19,7 @@ package org.apache.accumulo.core.metadata.schema; import static org.apache.accumulo.core.metadata.schema.TabletMetadata.ColumnType.AVAILABILITY; +import static org.apache.accumulo.core.metadata.schema.TabletMetadata.ColumnType.CLONED; import static org.apache.accumulo.core.metadata.schema.TabletMetadata.ColumnType.COMPACTED; import static org.apache.accumulo.core.metadata.schema.TabletMetadata.ColumnType.DIR; import static org.apache.accumulo.core.metadata.schema.TabletMetadata.ColumnType.ECOMP; @@ -304,6 +305,13 @@ public class TabletMetadataBuilder implements Ample.TabletUpdates<TabletMetadata throw new UnsupportedOperationException(); } + @Override + public TabletMetadataBuilder putCloned() { + fetched.add(CLONED); + internalBuilder.putCloned(); + return this; + } + @Override public TabletMetadataBuilder automaticallyPutServerLock(boolean b) { throw new UnsupportedOperationException(); diff --git a/core/src/main/java/org/apache/accumulo/core/metadata/schema/TabletMutatorBase.java b/core/src/main/java/org/apache/accumulo/core/metadata/schema/TabletMutatorBase.java index 25db5e1c16..6052c73a79 100644 --- a/core/src/main/java/org/apache/accumulo/core/metadata/schema/TabletMutatorBase.java +++ b/core/src/main/java/org/apache/accumulo/core/metadata/schema/TabletMutatorBase.java @@ -36,6 +36,7 @@ import org.apache.accumulo.core.metadata.StoredTabletFile; import org.apache.accumulo.core.metadata.SuspendingTServer; import org.apache.accumulo.core.metadata.TServerInstance; import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.BulkFileColumnFamily; +import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.ClonedColumnFamily; import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.CompactedColumnFamily; import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.CurrentLocationColumnFamily; import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.DataFileColumnFamily; @@ -377,6 +378,12 @@ public abstract class TabletMutatorBase<T extends Ample.TabletUpdates<T>> return getThis(); } + @Override + public T putCloned() { + mutation.at().family(ClonedColumnFamily.NAME).qualifier("").put("OK"); + return getThis(); + } + @Override public T automaticallyPutServerLock(boolean b) { putServerLock = b; diff --git a/core/src/test/java/org/apache/accumulo/core/metadata/schema/TabletMetadataTest.java b/core/src/test/java/org/apache/accumulo/core/metadata/schema/TabletMetadataTest.java index 84bb870f99..06571407e3 100644 --- a/core/src/test/java/org/apache/accumulo/core/metadata/schema/TabletMetadataTest.java +++ b/core/src/test/java/org/apache/accumulo/core/metadata/schema/TabletMetadataTest.java @@ -615,7 +615,7 @@ public class TabletMetadataTest { .putTabletAvailability(TabletAvailability.UNHOSTED).putLocation(Location.future(ser1)) .putFile(sf1, dfv1).putFile(sf2, dfv2).putBulkFile(rf1, loadedFateId1) .putBulkFile(rf2, loadedFateId2).putFlushId(27).putDirName("dir1").putScan(sf3).putScan(sf4) - .putCompacted(compactFateId1).putCompacted(compactFateId2) + .putCompacted(compactFateId1).putCompacted(compactFateId2).putCloned() .build(ECOMP, HOSTING_REQUESTED, MERGED, USER_COMPACTION_REQUESTED, UNSPLITTABLE); assertEquals(extent, tm.getExtent()); @@ -634,6 +634,7 @@ public class TabletMetadataTest { assertTrue(tm.getUserCompactionsRequested().isEmpty()); assertFalse(tm.hasMerged()); assertNull(tm.getUnSplittable()); + assertEquals("OK", tm.getCloned()); assertThrows(IllegalStateException.class, tm::getOperationId); assertThrows(IllegalStateException.class, tm::getSuspend); assertThrows(IllegalStateException.class, tm::getTime); diff --git a/server/manager/src/test/java/org/apache/accumulo/manager/tableOps/merge/MergeTabletsTest.java b/server/manager/src/test/java/org/apache/accumulo/manager/tableOps/merge/MergeTabletsTest.java index fb09876ab4..76a475105e 100644 --- a/server/manager/src/test/java/org/apache/accumulo/manager/tableOps/merge/MergeTabletsTest.java +++ b/server/manager/src/test/java/org/apache/accumulo/manager/tableOps/merge/MergeTabletsTest.java @@ -322,8 +322,7 @@ public class MergeTabletsTest { testUnexpectedColumn(tmb -> tmb.putSelectedFiles(selectedFiles), "has unexpected selected file"); - // ELASTICITY_TODO need to test cloned marker, need to add it to TabletMetadataBuilder - + testUnexpectedColumn(TabletMetadataBuilder::putCloned, "has unexpected cloned column"); } private void testUnexpectedColumn(Consumer<TabletMetadataBuilder> badColumnSetter,