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");

Reply via email to