You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by dl...@apache.org on 2023/11/27 16:53:45 UTC
(accumulo) branch elasticity updated: Removed MetadataBulkLoadFilter class, iterator on upgrade (#3962)
This is an automated email from the ASF dual-hosted git repository.
dlmarion 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 07cb0727cf Removed MetadataBulkLoadFilter class, iterator on upgrade (#3962)
07cb0727cf is described below
commit 07cb0727cfb7d0a057fef7eea85b18cbffe1c80f
Author: Dave Marion <dl...@apache.org>
AuthorDate: Mon Nov 27 11:53:40 2023 -0500
Removed MetadataBulkLoadFilter class, iterator on upgrade (#3962)
Fixes #3353
---
.../accumulo/server/init/InitialConfiguration.java | 3 --
.../server/iterators/MetadataBulkLoadFilter.java | 62 ----------------------
.../accumulo/manager/upgrade/Upgrader12to13.java | 11 ++++
3 files changed, 11 insertions(+), 65 deletions(-)
diff --git a/server/base/src/main/java/org/apache/accumulo/server/init/InitialConfiguration.java b/server/base/src/main/java/org/apache/accumulo/server/init/InitialConfiguration.java
index 9ef4a3f515..bd083b00c2 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/init/InitialConfiguration.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/init/InitialConfiguration.java
@@ -31,7 +31,6 @@ import org.apache.accumulo.core.metadata.schema.MetadataSchema;
import org.apache.accumulo.core.spi.compaction.SimpleCompactionDispatcher;
import org.apache.accumulo.core.volume.VolumeConfiguration;
import org.apache.accumulo.server.constraints.MetadataConstraints;
-import org.apache.accumulo.server.iterators.MetadataBulkLoadFilter;
import org.apache.hadoop.conf.Configuration;
class InitialConfiguration {
@@ -71,8 +70,6 @@ class InitialConfiguration {
"10," + VersioningIterator.class.getName());
initialRootMetaConf.put(Property.TABLE_ITERATOR_PREFIX.getKey() + "majc.vers.opt.maxVersions",
"1");
- initialRootMetaConf.put(Property.TABLE_ITERATOR_PREFIX.getKey() + "majc.bulkLoadFilter",
- "20," + MetadataBulkLoadFilter.class.getName());
initialRootMetaConf.put(Property.TABLE_FAILURES_IGNORE.getKey(), "false");
initialRootMetaConf.put(Property.TABLE_LOCALITY_GROUP_PREFIX.getKey() + "tablet",
String.format("%s,%s", MetadataSchema.TabletsSection.TabletColumnFamily.NAME,
diff --git a/server/base/src/main/java/org/apache/accumulo/server/iterators/MetadataBulkLoadFilter.java b/server/base/src/main/java/org/apache/accumulo/server/iterators/MetadataBulkLoadFilter.java
deleted file mode 100644
index 7254fc56ac..0000000000
--- a/server/base/src/main/java/org/apache/accumulo/server/iterators/MetadataBulkLoadFilter.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.accumulo.server.iterators;
-
-import java.io.IOException;
-import java.util.Map;
-
-import org.apache.accumulo.core.data.Key;
-import org.apache.accumulo.core.data.Value;
-import org.apache.accumulo.core.iterators.Filter;
-import org.apache.accumulo.core.iterators.IteratorEnvironment;
-import org.apache.accumulo.core.iterators.IteratorUtil.IteratorScope;
-import org.apache.accumulo.core.iterators.SortedKeyValueIterator;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A special iterator for the metadata table that removes inactive bulk load flags
- */
-// ELASTICITY_TODO remove this class AND its config from metadata table AND handle metadata config
-// in upgrade
-public class MetadataBulkLoadFilter extends Filter {
- private static final Logger log = LoggerFactory.getLogger(MetadataBulkLoadFilter.class);
-
- enum Status {
- ACTIVE, INACTIVE
- }
-
- Map<Long,Status> bulkTxStatusCache;
-
- @Override
- public boolean accept(Key k, Value v) {
- // this class was turned into a no-op until its removed
- return true;
- }
-
- @Override
- public void init(SortedKeyValueIterator<Key,Value> source, Map<String,String> options,
- IteratorEnvironment env) throws IOException {
- super.init(source, options, env);
-
- if (env.getIteratorScope() == IteratorScope.scan) {
- throw new IOException("This iterator not intended for use at scan time");
- }
- }
-}
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 1906d05ae5..be140d845e 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
@@ -20,9 +20,11 @@ package org.apache.accumulo.manager.upgrade;
import static org.apache.accumulo.core.metadata.schema.MetadataSchema.RESERVED_PREFIX;
+import java.util.List;
import java.util.Map;
import org.apache.accumulo.core.client.admin.TabletHostingGoal;
+import org.apache.accumulo.core.conf.Property;
import org.apache.accumulo.core.data.Key;
import org.apache.accumulo.core.data.Mutation;
import org.apache.accumulo.core.data.TableId;
@@ -37,6 +39,8 @@ 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.server.ServerContext;
+import org.apache.accumulo.server.conf.store.TablePropKey;
+import org.apache.accumulo.server.util.PropUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -56,6 +60,7 @@ public class Upgrader12to13 implements Upgrader {
public void upgradeRoot(ServerContext context) {
LOG.info("setting metadata table hosting goal");
addHostingGoalToMetadataTable(context);
+ removeMetaDataBulkLoadFilter(context, RootTable.ID);
}
@Override
@@ -64,6 +69,12 @@ public class Upgrader12to13 implements Upgrader {
addHostingGoalToUserTables(context);
deleteExternalCompactionFinalStates(context);
deleteExternalCompactions(context);
+ removeMetaDataBulkLoadFilter(context, MetadataTable.ID);
+ }
+
+ private void removeMetaDataBulkLoadFilter(ServerContext context, TableId tableId) {
+ final String propName = Property.TABLE_ITERATOR_PREFIX.getKey() + "majc.bulkLoadFilter";
+ PropUtil.removeProperties(context, TablePropKey.of(context, tableId), List.of(propName));
}
private void deleteExternalCompactionFinalStates(ServerContext context) {