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 e975a68291 allows compact column in metadata constraint (#4155) e975a68291 is described below commit e975a68291e1029598e30ff3c97740ec11585ee7 Author: Keith Turner <ktur...@apache.org> AuthorDate: Wed Jan 24 15:27:11 2024 -0500 allows compact column in metadata constraint (#4155) The upgrade code deletes the compact column in the metadata table. The metadata constraint would cause this to fail (confirmed w/ a manual test). This change adds the compact column to the metadata constraint so the upgrade code can delete it. --- .../main/java/org/apache/accumulo/core/fate/AbstractFateStore.java | 1 - .../org/apache/accumulo/core/metadata/schema/MetadataSchema.java | 5 ++++- .../apache/accumulo/server/constraints/MetadataConstraints.java | 3 ++- .../java/org/apache/accumulo/manager/upgrade/Upgrader12to13.java | 7 ++----- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/core/src/main/java/org/apache/accumulo/core/fate/AbstractFateStore.java b/core/src/main/java/org/apache/accumulo/core/fate/AbstractFateStore.java index f67079b0ef..51670aacfd 100644 --- a/core/src/main/java/org/apache/accumulo/core/fate/AbstractFateStore.java +++ b/core/src/main/java/org/apache/accumulo/core/fate/AbstractFateStore.java @@ -372,6 +372,5 @@ public abstract class AbstractFateStore<T> implements FateStore<T> { throw new IllegalStateException("Bad node data " + txInfo); } } - } } diff --git a/core/src/main/java/org/apache/accumulo/core/metadata/schema/MetadataSchema.java b/core/src/main/java/org/apache/accumulo/core/metadata/schema/MetadataSchema.java index ceecfb0a77..286885dd28 100644 --- a/core/src/main/java/org/apache/accumulo/core/metadata/schema/MetadataSchema.java +++ b/core/src/main/java/org/apache/accumulo/core/metadata/schema/MetadataSchema.java @@ -421,7 +421,7 @@ public class MetadataSchema { public static final ColumnFQ REQUESTED_COLUMN = new ColumnFQ(NAME, new Text(REQUESTED_QUAL)); } - // These can be removed when the corresponding upgrade code is removed + // TODO when removing the Upgrader12to13 class in the upgrade package, also remove this class. public static class Upgrade12to13 { /** @@ -436,6 +436,9 @@ public class MetadataSchema { public static final String SPLIT_RATIO_QUAL = "splitRatio"; public static final ColumnFQ SPLIT_RATIO_COLUMN = new ColumnFQ(TabletColumnFamily.NAME, new Text(SPLIT_RATIO_QUAL)); + + public static final ColumnFQ COMPACT_COL = + new ColumnFQ(ServerColumnFamily.NAME, new Text("compact")); } } diff --git a/server/base/src/main/java/org/apache/accumulo/server/constraints/MetadataConstraints.java b/server/base/src/main/java/org/apache/accumulo/server/constraints/MetadataConstraints.java index ff44a152df..e36f74025c 100644 --- a/server/base/src/main/java/org/apache/accumulo/server/constraints/MetadataConstraints.java +++ b/server/base/src/main/java/org/apache/accumulo/server/constraints/MetadataConstraints.java @@ -93,7 +93,8 @@ public class MetadataConstraints implements Constraint { ServerColumnFamily.OPID_COLUMN, HostingColumnFamily.GOAL_COLUMN, HostingColumnFamily.REQUESTED_COLUMN, - ServerColumnFamily.SELECTED_COLUMN); + ServerColumnFamily.SELECTED_COLUMN, + Upgrade12to13.COMPACT_COL); @SuppressWarnings("deprecation") private static final Text CHOPPED = ChoppedColumnFamily.NAME; diff --git a/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/Upgrader12to13.java b/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/Upgrader12to13.java index 0e52b56a4c..fec2d0aa26 100644 --- a/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/Upgrader12to13.java +++ b/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/Upgrader12to13.java @@ -21,6 +21,7 @@ package org.apache.accumulo.manager.upgrade; import static java.nio.charset.StandardCharsets.UTF_8; import static org.apache.accumulo.core.metadata.RootTable.ZROOT_TABLET; import static org.apache.accumulo.core.metadata.schema.MetadataSchema.RESERVED_PREFIX; +import static org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.Upgrade12to13.COMPACT_COL; import java.util.ArrayList; import java.util.List; @@ -46,11 +47,9 @@ import org.apache.accumulo.core.metadata.schema.TabletMetadata.ColumnType; import org.apache.accumulo.core.metadata.schema.TabletsMetadata; import org.apache.accumulo.core.schema.Section; import org.apache.accumulo.core.security.Authorizations; -import org.apache.accumulo.core.util.ColumnFQ; import org.apache.accumulo.server.ServerContext; import org.apache.accumulo.server.conf.store.TablePropKey; import org.apache.accumulo.server.util.PropUtil; -import org.apache.hadoop.io.Text; import org.apache.zookeeper.KeeperException; import org.apache.zookeeper.data.Stat; import org.slf4j.Logger; @@ -58,13 +57,11 @@ import org.slf4j.LoggerFactory; import com.google.common.base.Preconditions; +//TODO when removing this class, also remove MetadataSchema.Upgrader12to13 public class Upgrader12to13 implements Upgrader { private static final Logger LOG = LoggerFactory.getLogger(Upgrader12to13.class); - private static final ColumnFQ COMPACT_COL = - new ColumnFQ(MetadataSchema.TabletsSection.ServerColumnFamily.NAME, new Text("compact")); - @Override public void upgradeZookeeper(ServerContext context) { LOG.info("Setting root table stored hosting goal");