You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by cs...@apache.org on 2022/12/16 12:53:28 UTC
[accumulo] branch main updated: Remove deprecated properties (#3106)
This is an automated email from the ASF dual-hosted git repository.
cshannon pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo.git
The following commit(s) were added to refs/heads/main by this push:
new 14186ad915 Remove deprecated properties (#3106)
14186ad915 is described below
commit 14186ad9156e803f5828819751f394c85e516fe8
Author: Christopher L. Shannon <ch...@gmail.com>
AuthorDate: Fri Dec 16 07:53:22 2022 -0500
Remove deprecated properties (#3106)
Clean up and remove several deprecated properties for the 3.0.0 release
This closes #3105
---
.../accumulo/core/classloader/ClassLoaderUtil.java | 3 +-
.../accumulo/core/conf/AccumuloConfiguration.java | 50 +------
.../accumulo/core/conf/DeprecatedPropertyUtil.java | 30 +---
.../org/apache/accumulo/core/conf/Property.java | 161 ---------------------
.../accumulo/core/conf/SiteConfiguration.java | 3 -
.../accumulo/core/util/threads/ThreadPools.java | 9 +-
.../core/conf/AccumuloConfigurationTest.java | 110 ++++++++------
.../core/conf/DeprecatedPropertyUtilTest.java | 33 -----
.../apache/accumulo/core/conf/PropertyTest.java | 14 +-
.../server/master/recovery/HadoopLogCloser.java | 42 ------
.../org/apache/accumulo/server/util/ZooZap.java | 9 --
.../accumulo/manager/recovery/RecoveryManager.java | 5 +-
.../manager/tableOps/bulkVer1/BulkImport.java | 4 +-
.../manager/tableOps/bulkVer2/BulkImportMove.java | 4 +-
.../org/apache/accumulo/tserver/TabletServer.java | 20 +--
.../org/apache/accumulo/tserver/log/DfsLogger.java | 4 +-
.../org/apache/accumulo/tserver/log/LogSorter.java | 10 +-
.../org/apache/accumulo/tserver/tablet/Tablet.java | 5 +-
.../main/java/org/apache/accumulo/shell/Shell.java | 26 +---
19 files changed, 87 insertions(+), 455 deletions(-)
diff --git a/core/src/main/java/org/apache/accumulo/core/classloader/ClassLoaderUtil.java b/core/src/main/java/org/apache/accumulo/core/classloader/ClassLoaderUtil.java
index 47e7ef584a..f8b88030b4 100644
--- a/core/src/main/java/org/apache/accumulo/core/classloader/ClassLoaderUtil.java
+++ b/core/src/main/java/org/apache/accumulo/core/classloader/ClassLoaderUtil.java
@@ -93,9 +93,8 @@ public class ClassLoaderUtil {
/**
* Retrieve the classloader context from a table's configuration.
*/
- @SuppressWarnings("removal")
public static String tableContext(AccumuloConfiguration conf) {
- return conf.get(conf.resolve(Property.TABLE_CLASSLOADER_CONTEXT, Property.TABLE_CLASSPATH));
+ return conf.get(Property.TABLE_CLASSLOADER_CONTEXT);
}
}
diff --git a/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java b/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
index 3a4bc0f044..f1131894b5 100644
--- a/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
+++ b/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
@@ -45,7 +45,6 @@ import java.util.stream.Stream;
import java.util.stream.StreamSupport;
import org.apache.accumulo.core.conf.PropertyType.PortRange;
-import org.apache.accumulo.core.spi.scan.SimpleScanDispatcher;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -411,11 +410,6 @@ public abstract class AccumuloConfiguration implements Iterable<Entry<String,Str
* Re-reads the max threads from the configuration that created this class
*/
public int getCurrentMaxThreads() {
- Integer depThreads = getDeprecatedScanThreads(name, isScanServer);
- if (depThreads != null) {
- return depThreads;
- }
-
if (isScanServer) {
String prop =
Property.SSERV_SCAN_EXECUTORS_PREFIX.getKey() + name + "." + SCAN_EXEC_THREADS;
@@ -432,43 +426,6 @@ public abstract class AccumuloConfiguration implements Iterable<Entry<String,Str
public abstract boolean isPropertySet(Property prop);
- // deprecation property warning could get spammy in tserver so only warn once
- boolean depPropWarned = false;
-
- @SuppressWarnings("deprecation")
- Integer getDeprecatedScanThreads(String name, boolean isScanServer) {
-
- Property prop;
- Property deprecatedProp;
-
- if (name.equals(SimpleScanDispatcher.DEFAULT_SCAN_EXECUTOR_NAME)) {
- prop = isScanServer ? Property.SSERV_SCAN_EXECUTORS_DEFAULT_THREADS
- : Property.TSERV_SCAN_EXECUTORS_DEFAULT_THREADS;
- deprecatedProp = Property.TSERV_READ_AHEAD_MAXCONCURRENT;
- } else if (name.equals("meta")) {
- prop = isScanServer ? Property.SSERV_SCAN_EXECUTORS_META_THREADS
- : Property.TSERV_SCAN_EXECUTORS_META_THREADS;
- deprecatedProp = Property.TSERV_METADATA_READ_AHEAD_MAXCONCURRENT;
- } else {
- return null;
- }
-
- if (!isPropertySet(prop) && isPropertySet(deprecatedProp)) {
- if (!depPropWarned) {
- depPropWarned = true;
- log.warn("Property {} is deprecated, use {} instead.", deprecatedProp.getKey(),
- prop.getKey());
- }
- return Integer.valueOf(get(deprecatedProp));
- } else if (isPropertySet(prop) && isPropertySet(deprecatedProp) && !depPropWarned) {
- depPropWarned = true;
- log.warn("Deprecated property {} ignored because {} is set", deprecatedProp.getKey(),
- prop.getKey());
- }
-
- return null;
- }
-
private static class RefCount<T> {
T obj;
long count;
@@ -587,12 +544,7 @@ public abstract class AccumuloConfiguration implements Iterable<Entry<String,Str
String val = subEntry.getValue();
if (opt.equals(SCAN_EXEC_THREADS)) {
- Integer depThreads = getDeprecatedScanThreads(name, isScanServer);
- if (depThreads == null) {
- threads = Integer.parseInt(val);
- } else {
- threads = depThreads;
- }
+ threads = Integer.parseInt(val);
} else if (opt.equals(SCAN_EXEC_PRIORITY)) {
prio = Integer.parseInt(val);
} else if (opt.equals(SCAN_EXEC_PRIORITIZER)) {
diff --git a/core/src/main/java/org/apache/accumulo/core/conf/DeprecatedPropertyUtil.java b/core/src/main/java/org/apache/accumulo/core/conf/DeprecatedPropertyUtil.java
index 11521030fd..18c587206d 100644
--- a/core/src/main/java/org/apache/accumulo/core/conf/DeprecatedPropertyUtil.java
+++ b/core/src/main/java/org/apache/accumulo/core/conf/DeprecatedPropertyUtil.java
@@ -22,14 +22,10 @@ import static java.util.Objects.requireNonNull;
import java.util.ArrayList;
import java.util.List;
-import java.util.Spliterator;
-import java.util.Spliterators;
import java.util.function.BiConsumer;
import java.util.function.Predicate;
import java.util.function.UnaryOperator;
-import java.util.stream.StreamSupport;
-import org.apache.commons.configuration2.AbstractConfiguration;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -52,15 +48,10 @@ public class DeprecatedPropertyUtil {
private static final Logger log = LoggerFactory.getLogger(DeprecatedPropertyUtil.class);
- @SuppressWarnings("deprecation")
- public static final PropertyRenamer MASTER_MANAGER_RENAMER = PropertyRenamer
- .renamePrefix(Property.MASTER_PREFIX.getKey(), Property.MANAGER_PREFIX.getKey());
-
/**
* Ordered list of renamers
*/
- protected static final List<PropertyRenamer> renamers =
- new ArrayList<>(List.of(MASTER_MANAGER_RENAMER));
+ protected static final List<PropertyRenamer> renamers = new ArrayList<>();
/**
* Checks if {@code propertyName} is a deprecated property name and return its replacement name,
@@ -96,23 +87,4 @@ public class DeprecatedPropertyUtil {
return replacement;
}
- /**
- * Ensures that for any deprecated properties, both the deprecated and replacement property name
- * are not both used in {@code config}.
- *
- * @param config the configuration to check for invalid use of deprecated and replacement
- * properties
- */
- static void sanityCheckManagerProperties(AbstractConfiguration config) {
- boolean foundMasterPrefix = StreamSupport
- .stream(Spliterators.spliteratorUnknownSize(config.getKeys(), Spliterator.ORDERED), false)
- .anyMatch(MASTER_MANAGER_RENAMER.keyFilter);
- boolean foundManagerPrefix = StreamSupport
- .stream(Spliterators.spliteratorUnknownSize(config.getKeys(), Spliterator.ORDERED), false)
- .anyMatch(k -> k.startsWith(Property.MANAGER_PREFIX.getKey()));
- if (foundMasterPrefix && foundManagerPrefix) {
- throw new IllegalStateException("Found both old 'master.*' and new 'manager.*' "
- + "naming conventions in the same startup configuration");
- }
- }
}
diff --git a/core/src/main/java/org/apache/accumulo/core/conf/Property.java b/core/src/main/java/org/apache/accumulo/core/conf/Property.java
index ee2f55ceb1..0c4de734cb 100644
--- a/core/src/main/java/org/apache/accumulo/core/conf/Property.java
+++ b/core/src/main/java/org/apache/accumulo/core/conf/Property.java
@@ -25,9 +25,7 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.function.Predicate;
-import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.classloader.ClassLoaderUtil;
-import org.apache.accumulo.core.client.security.tokens.PasswordToken;
import org.apache.accumulo.core.data.constraints.NoDeleteConstraint;
import org.apache.accumulo.core.file.rfile.RFile;
import org.apache.accumulo.core.iterators.IteratorUtil.IteratorScope;
@@ -245,11 +243,6 @@ public enum Property {
"2.1.0"),
GENERAL_THREADPOOL_SIZE("general.server.threadpool.size", "1", PropertyType.COUNT,
"The number of threads to use for server-internal scheduled tasks", "2.1.0"),
- @Deprecated(since = "2.1.0")
- @ReplacedBy(property = GENERAL_THREADPOOL_SIZE)
- GENERAL_SIMPLETIMER_THREADPOOL_SIZE("general.server.simpletimer.threadpool.size", "1",
- PropertyType.COUNT, "The number of threads to use for server-internal scheduled tasks",
- "1.7.0"),
// If you update the default type, be sure to update the default used for initialization failures
// in VolumeManagerImpl
@Experimental
@@ -286,14 +279,6 @@ public enum Property {
"Properties in this category affect the behavior of the manager server. "
+ "Since 2.1.0, all properties in this category replace the old `master.*` names.",
"2.1.0"),
- @Deprecated(since = "2.1.0")
- @ReplacedBy(property = Property.MANAGER_PREFIX)
- MASTER_PREFIX("master.", null, PropertyType.PREFIX,
- "Properties in this category affect the behavior of the manager (formerly named master) server. "
- + "Since 2.1.0, all properties in this category are deprecated and replaced with corresponding "
- + "`manager.*` properties. The old `master.*` names can still be used until at release 3.0, but a warning "
- + "will be emitted. Configuration files should be updated to use the new property names.",
- "1.3.5"),
MANAGER_CLIENTPORT("manager.port.client", "9999", PropertyType.PORT,
"The port used for handling client connections on the manager", "1.3.5"),
MANAGER_TABLET_BALANCER("manager.tablet.balancer",
@@ -314,12 +299,6 @@ public enum Property {
MANAGER_RENAME_THREADS("manager.rename.threadpool.size", "20", PropertyType.COUNT,
"The number of threads to use when renaming user files during table import or bulk ingest.",
"2.1.0"),
- @Deprecated(since = "2.1.0")
- @ReplacedBy(property = MANAGER_RENAME_THREADS)
- MANAGER_BULK_RENAME_THREADS("manager.bulk.rename.threadpool.size", "20", PropertyType.COUNT,
- "The number of threads to use when moving user files to bulk ingest "
- + "directories under accumulo control",
- "1.7.0"),
MANAGER_BULK_TSERVER_REGEX("manager.bulk.tserver.regex", "", PropertyType.STRING,
"Regular expression that defines the set of Tablet Servers that will perform bulk imports",
"2.0.0"),
@@ -340,14 +319,6 @@ public enum Property {
MANAGER_WAL_CLOSER_IMPLEMENTATION("manager.wal.closer.implementation",
"org.apache.accumulo.server.manager.recovery.HadoopLogCloser", PropertyType.CLASSNAME,
"A class that implements a mechanism to steal write access to a write-ahead log", "2.1.0"),
- @Deprecated(since = "2.1.0")
- @ReplacedBy(property = Property.MANAGER_WAL_CLOSER_IMPLEMENTATION)
- MANAGER_WALOG_CLOSER_IMPLEMETATION("manager.walog.closer.implementation",
- "org.apache.accumulo.server.manager.recovery.HadoopLogCloser", PropertyType.CLASSNAME,
- "A class that implements a mechanism to steal write access to a write-ahead log", "1.5.0"),
- @Deprecated
- MANAGER_FATE_METRICS_ENABLED("manager.fate.metrics.enabled", "true", PropertyType.BOOLEAN,
- "Enable reporting of FATE metrics in JMX (and logging with Hadoop Metrics2", "1.9.3"),
MANAGER_FATE_METRICS_MIN_UPDATE_INTERVAL("manager.fate.metrics.min.update.interval", "60s",
PropertyType.TIMEDURATION, "Limit calls from metric sinks to zookeeper to update interval",
"1.9.3"),
@@ -484,29 +455,12 @@ public enum Property {
+ "logs over this threshold is minor compacted. Also any tablet referencing this many "
+ "logs or more will be compacted.",
"2.1.0"),
- @Deprecated(since = "2.1.0")
- @ReplacedBy(property = Property.TSERV_WAL_MAX_REFERENCED)
- TSERV_WALOG_MAX_REFERENCED("tserver.walog.max.referenced", "3", PropertyType.COUNT,
- "When a tablet server has more than this many write ahead logs, any tablet referencing older "
- + "logs over this threshold is minor compacted. Also any tablet referencing this many "
- + "logs or more will be compacted.",
- "2.0.0"),
TSERV_WAL_MAX_SIZE("tserver.wal.max.size", "1G", PropertyType.BYTES,
"The maximum size for each write-ahead log. See comment for property"
+ " tserver.memory.maps.max",
"2.1.0"),
- @Deprecated(since = "2.1.0")
- @ReplacedBy(property = Property.TSERV_WAL_MAX_SIZE)
- TSERV_WALOG_MAX_SIZE("tserver.walog.max.size", "1G", PropertyType.BYTES,
- "The maximum size for each write-ahead log. See comment for property"
- + " tserver.memory.maps.max",
- "1.3.5"),
TSERV_WAL_MAX_AGE("tserver.wal.max.age", "24h", PropertyType.TIMEDURATION,
"The maximum age for each write-ahead log.", "2.1.0"),
- @Deprecated(since = "2.1.0")
- @ReplacedBy(property = Property.TSERV_WAL_MAX_AGE)
- TSERV_WALOG_MAX_AGE("tserver.walog.max.age", "24h", PropertyType.TIMEDURATION,
- "The maximum age for each write-ahead log.", "1.6.6"),
TSERV_WAL_TOLERATED_CREATION_FAILURES("tserver.wal.tolerated.creation.failures", "50",
PropertyType.COUNT,
"The maximum number of failures tolerated when creating a new write-ahead"
@@ -514,35 +468,14 @@ public enum Property {
+ " number of failures consecutively trying to create a new write-ahead log"
+ " causes the TabletServer to exit.",
"2.1.0"),
- @Deprecated(since = "2.1.0")
- @ReplacedBy(property = Property.TSERV_WAL_TOLERATED_CREATION_FAILURES)
- TSERV_WALOG_TOLERATED_CREATION_FAILURES("tserver.walog.tolerated.creation.failures", "50",
- PropertyType.COUNT,
- "The maximum number of failures tolerated when creating a new write-ahead"
- + " log. Negative values will allow unlimited creation failures. Exceeding this"
- + " number of failures consecutively trying to create a new write-ahead log"
- + " causes the TabletServer to exit.",
- "1.7.1"),
TSERV_WAL_TOLERATED_WAIT_INCREMENT("tserver.wal.tolerated.wait.increment", "1000ms",
PropertyType.TIMEDURATION,
"The amount of time to wait between failures to create or write a write-ahead log.", "2.1.0"),
- @Deprecated(since = "2.1.0")
- @ReplacedBy(property = Property.TSERV_WAL_TOLERATED_WAIT_INCREMENT)
- TSERV_WALOG_TOLERATED_WAIT_INCREMENT("tserver.walog.tolerated.wait.increment", "1000ms",
- PropertyType.TIMEDURATION,
- "The amount of time to wait between failures to create or write a write-ahead log.", "1.7.1"),
// Never wait longer than 5 mins for a retry
TSERV_WAL_TOLERATED_MAXIMUM_WAIT_DURATION("tserver.wal.maximum.wait.duration", "5m",
PropertyType.TIMEDURATION,
"The maximum amount of time to wait after a failure to create or write a write-ahead log.",
"2.1.0"),
- // Never wait longer than 5 mins for a retry
- @Deprecated(since = "2.1.0")
- @ReplacedBy(property = Property.TSERV_WAL_TOLERATED_MAXIMUM_WAIT_DURATION)
- TSERV_WALOG_TOLERATED_MAXIMUM_WAIT_DURATION("tserver.walog.maximum.wait.duration", "5m",
- PropertyType.TIMEDURATION,
- "The maximum amount of time to wait after a failure to create or write a write-ahead log.",
- "1.7.1"),
TSERV_SCAN_MAX_OPENFILES("tserver.scan.files.open.max", "100", PropertyType.COUNT,
"Maximum total RFiles that all tablets in a tablet server can open for scans. ", "1.4.0"),
TSERV_MAX_IDLE("tserver.files.open.idle", "1m", PropertyType.TIMEDURATION,
@@ -745,16 +678,8 @@ public enum Property {
"1.5.0"),
TSERV_WAL_SORT_MAX_CONCURRENT("tserver.wal.sort.concurrent.max", "2", PropertyType.COUNT,
"The maximum number of threads to use to sort logs during recovery", "2.1.0"),
- @Deprecated(since = "2.1.0")
- @ReplacedBy(property = Property.TSERV_WAL_SORT_MAX_CONCURRENT)
- TSERV_RECOVERY_MAX_CONCURRENT("tserver.recovery.concurrent.max", "2", PropertyType.COUNT,
- "The maximum number of threads to use to sort logs during recovery", "1.5.0"),
TSERV_WAL_SORT_BUFFER_SIZE("tserver.wal.sort.buffer.size", "10%", PropertyType.MEMORY,
"The amount of memory to use when sorting logs during recovery.", "2.1.0"),
- @Deprecated(since = "2.1.0")
- @ReplacedBy(property = Property.TSERV_WAL_SORT_BUFFER_SIZE)
- TSERV_SORT_BUFFER_SIZE("tserver.sort.buffer.size", "10%", PropertyType.MEMORY,
- "The amount of memory to use when sorting logs during recovery.", "1.5.0"),
TSERV_WAL_SORT_FILE_PREFIX("tserver.wal.sort.file.", null, PropertyType.PREFIX,
"The rfile properties to use when sorting logs during recovery. Most of the properties"
+ " that begin with 'table.file' can be used here. For example, to set the compression"
@@ -821,9 +746,6 @@ public enum Property {
"The number of threads used to delete RFiles and write-ahead logs", "1.3.5"),
GC_TRASH_IGNORE("gc.trash.ignore", "false", PropertyType.BOOLEAN,
"Do not use the Trash, even if it is configured.", "1.5.0"),
- @Deprecated(since = "2.1.0", forRemoval = true)
- GC_TRACE_PERCENT("gc.trace.percent", "0.01", PropertyType.FRACTION,
- "Percent of gc cycles to trace", "1.7.0"),
GC_SAFEMODE("gc.safemode", "false", PropertyType.BOOLEAN,
"Provides listing of files to be deleted but does not delete any files", "2.1.0"),
GC_USE_FULL_COMPACTION("gc.post.metadata.action", "flush", PropertyType.GC_POST_ACTION,
@@ -832,9 +754,6 @@ public enum Property {
+ " and possibly compacted. Legal values are: compact - which both flushes and compacts the"
+ " metadata; flush - which flushes only (compactions may be triggered if required); or none",
"1.10.0"),
- @Deprecated
- GC_METRICS_ENABLED("gc.metrics.enabled", "true", PropertyType.BOOLEAN,
- "Enable detailed gc metrics reporting with hadoop metrics.", "1.10.0"),
// properties that are specific to the monitor server behavior
MONITOR_PREFIX("monitor.", null, PropertyType.PREFIX,
@@ -881,40 +800,6 @@ public enum Property {
+ " The resources that are used by default can be seen in"
+ " accumulo/server/monitor/src/main/resources/templates/default.ftl",
"2.0.0"),
- @Deprecated(since = "2.1.0")
- TRACE_PREFIX("trace.", null, PropertyType.PREFIX,
- "Properties in this category affect the behavior of distributed tracing.", "1.3.5"),
- @Deprecated(since = "2.1.0")
- TRACE_SPAN_RECEIVERS("trace.span.receivers", "org.apache.accumulo.tracer.ZooTraceClient",
- PropertyType.CLASSNAMELIST, "A list of span receiver classes to send trace spans", "1.7.0"),
- @Deprecated(since = "2.1.0")
- TRACE_SPAN_RECEIVER_PREFIX("trace.span.receiver.", null, PropertyType.PREFIX,
- "Prefix for span receiver configuration properties", "1.7.0"),
- @Deprecated(since = "2.1.0")
- TRACE_ZK_PATH("trace.zookeeper.path", Constants.ZTRACERS, PropertyType.STRING,
- "The zookeeper node where tracers are registered", "1.7.0"),
- @Deprecated(since = "2.1.0")
- TRACE_PORT("trace.port.client", "12234", PropertyType.PORT,
- "The listening port for the trace server", "1.3.5"),
- @Deprecated(since = "2.1.0")
- TRACE_TABLE("trace.table", "trace", PropertyType.STRING,
- "The name of the table to store distributed traces", "1.3.5"),
- @Deprecated(since = "2.1.0")
- TRACE_USER("trace.user", "root", PropertyType.STRING,
- "The name of the user to store distributed traces", "1.3.5"),
- @Sensitive
- @Deprecated(since = "2.1.0")
- TRACE_PASSWORD("trace.password", "secret", PropertyType.STRING,
- "The password for the user used to store distributed traces", "1.3.5"),
- @Sensitive
- @Deprecated(since = "2.1.0")
- TRACE_TOKEN_PROPERTY_PREFIX("trace.token.property.", null, PropertyType.PREFIX,
- "The prefix used to create a token for storing distributed traces. For"
- + " each property required by trace.token.type, place this prefix in front of it.",
- "1.5.0"),
- @Deprecated(since = "2.1.0")
- TRACE_TOKEN_TYPE("trace.token.type", PasswordToken.class.getName(), PropertyType.CLASSNAME,
- "An AuthenticationToken type supported by the authorizer", "1.5.0"),
// per table properties
TABLE_PREFIX("table.", null, PropertyType.PREFIX,
@@ -952,10 +837,6 @@ public enum Property {
"A tablet is split when the combined size of RFiles exceeds this amount.", "1.3.5"),
TABLE_MAX_END_ROW_SIZE("table.split.endrow.size.max", "10k", PropertyType.BYTES,
"Maximum size of end row", "1.7.0"),
- @Deprecated(since = "2.0.0")
- @ReplacedBy(property = Property.TSERV_WAL_MAX_REFERENCED)
- TABLE_MINC_LOGS_MAX("table.compaction.minor.logs.threshold", "3", PropertyType.COUNT,
- "This property is deprecated and replaced.", "1.3.5"),
TABLE_MINC_COMPACT_IDLETIME("table.compaction.minor.idle", "5m", PropertyType.TIMEDURATION,
"After a tablet has been idle (no mutations) for this time period it may have its "
+ "in-memory map flushed to disk in a minor compaction. There is no guarantee an idle "
@@ -1171,10 +1052,6 @@ public enum Property {
"The context to use for loading per-table resources, such as iterators"
+ " from the configured factory in `general.context.class.loader.factory`.",
"2.1.0"),
- @Deprecated(since = "2.1.0", forRemoval = true)
- @ReplacedBy(property = TABLE_CLASSLOADER_CONTEXT)
- TABLE_CLASSPATH("table.classpath.context", "", PropertyType.STRING, "Per table classpath context",
- "1.5.0"),
TABLE_SAMPLER("table.sampler", "", PropertyType.CLASSNAME,
"The name of a class that implements org.apache.accumulo.core.Sampler."
+ " Setting this option enables storing a sample of data which can be"
@@ -1328,23 +1205,6 @@ public enum Property {
"compaction.coordinator.tserver.check.interval", "1m", PropertyType.TIMEDURATION,
"The interval at which to check the tservers for external compactions.", "2.1.0"),
// deprecated properties grouped at the end to reference property that replaces them
- @Deprecated(since = "1.6.0")
- @ReplacedBy(property = INSTANCE_VOLUMES)
- INSTANCE_DFS_URI("instance.dfs.uri", "", PropertyType.URI,
- "A url accumulo should use to connect to DFS. If this is empty, accumulo"
- + " will obtain this information from the hadoop configuration. This property"
- + " will only be used when creating new files if instance.volumes is empty."
- + " After an upgrade to 1.6.0 Accumulo will start using absolute paths to"
- + " reference files. Files created before a 1.6.0 upgrade are referenced via"
- + " relative paths. Relative paths will always be resolved using this config"
- + " (if empty using the hadoop config).",
- "1.4.0"),
- @Deprecated(since = "1.6.0")
- @ReplacedBy(property = INSTANCE_VOLUMES)
- INSTANCE_DFS_DIR("instance.dfs.dir", "/accumulo", PropertyType.ABSOLUTEPATH,
- "HDFS directory in which accumulo instance will run. "
- + "Do not change after accumulo is initialized.",
- "1.3.5"),
@Deprecated(since = "2.0.0")
GENERAL_CLASSPATHS(org.apache.accumulo.start.classloader.AccumuloClassLoader.GENERAL_CLASSPATHS,
"", PropertyType.STRING,
@@ -1353,26 +1213,6 @@ public enum Property {
+ " of the places to look for a class. Order does matter, as it will look for"
+ " the jar starting in the first location to the last. Supports full regex"
+ " on filename alone.",
- "1.3.5"),
- @Deprecated(since = "1.7.0")
- @ReplacedBy(property = TABLE_DURABILITY)
- TSERV_WAL_SYNC_METHOD("tserver.wal.sync.method", "hsync", PropertyType.STRING,
- "Use table.durability instead.", "1.5.2"),
- @Deprecated(since = "1.7.0")
- @ReplacedBy(property = TABLE_DURABILITY)
- TABLE_WALOG_ENABLED("table.walog.enabled", "true", PropertyType.BOOLEAN,
- "Use table.durability=none instead.", "1.3.5"),
- @Deprecated(since = "2.0.0")
- @ReplacedBy(property = TSERV_SCAN_EXECUTORS_DEFAULT_THREADS)
- TSERV_READ_AHEAD_MAXCONCURRENT("tserver.readahead.concurrent.max", "16", PropertyType.COUNT,
- "The maximum number of concurrent read ahead that will execute. This "
- + "effectively limits the number of long running scans that can run concurrently "
- + "per tserver.\"",
- "1.3.5"),
- @Deprecated(since = "2.0.0")
- @ReplacedBy(property = TSERV_SCAN_EXECUTORS_META_THREADS)
- TSERV_METADATA_READ_AHEAD_MAXCONCURRENT("tserver.metadata.readahead.concurrent.max", "8",
- PropertyType.COUNT, "The maximum number of concurrent metadata read ahead that will execute.",
"1.3.5");
private final String key;
@@ -1668,7 +1508,6 @@ public enum Property {
return key.startsWith(Property.TABLE_PREFIX.getKey())
|| key.startsWith(Property.TSERV_PREFIX.getKey())
|| key.startsWith(Property.MANAGER_PREFIX.getKey())
- || key.startsWith(Property.MASTER_PREFIX.getKey())
|| key.startsWith(Property.GC_PREFIX.getKey())
|| key.startsWith(Property.GENERAL_ARBITRARY_PROP_PREFIX.getKey())
|| key.startsWith(VFS_CONTEXT_CLASSPATH_PROPERTY.getKey());
diff --git a/core/src/main/java/org/apache/accumulo/core/conf/SiteConfiguration.java b/core/src/main/java/org/apache/accumulo/core/conf/SiteConfiguration.java
index c20aab006b..d0e248b2e7 100644
--- a/core/src/main/java/org/apache/accumulo/core/conf/SiteConfiguration.java
+++ b/core/src/main/java/org/apache/accumulo/core/conf/SiteConfiguration.java
@@ -166,9 +166,6 @@ public class SiteConfiguration extends AccumuloConfiguration {
config.addConfiguration(overrideConfig);
config.addConfiguration(propsFileConfig);
- // Make sure any deprecated property names aren't using both the old and new name.
- DeprecatedPropertyUtil.sanityCheckManagerProperties(config);
-
var result = new HashMap<String,String>();
config.getKeys().forEachRemaining(orig -> {
String resolved = DeprecatedPropertyUtil.getReplacementName(orig, (log, replacement) -> {
diff --git a/core/src/main/java/org/apache/accumulo/core/util/threads/ThreadPools.java b/core/src/main/java/org/apache/accumulo/core/util/threads/ThreadPools.java
index be3ecedf39..5f4de96dfa 100644
--- a/core/src/main/java/org/apache/accumulo/core/util/threads/ThreadPools.java
+++ b/core/src/main/java/org/apache/accumulo/core/util/threads/ThreadPools.java
@@ -248,9 +248,6 @@ public class ThreadPools {
final Property p, boolean emitThreadPoolMetrics) {
switch (p) {
- case GENERAL_SIMPLETIMER_THREADPOOL_SIZE:
- return createScheduledExecutorService(conf.getCount(p), "SimpleTimer",
- emitThreadPoolMetrics);
case GENERAL_THREADPOOL_SIZE:
return createScheduledExecutorService(conf.getCount(p), "GeneralExecutor",
emitThreadPoolMetrics);
@@ -470,10 +467,8 @@ public class ThreadPools {
*/
public ScheduledThreadPoolExecutor
createGeneralScheduledExecutorService(AccumuloConfiguration conf) {
- @SuppressWarnings("deprecation")
- Property oldProp = Property.GENERAL_SIMPLETIMER_THREADPOOL_SIZE;
- Property prop = conf.resolve(Property.GENERAL_THREADPOOL_SIZE, oldProp);
- return (ScheduledThreadPoolExecutor) createExecutorService(conf, prop, true);
+ return (ScheduledThreadPoolExecutor) createExecutorService(conf,
+ Property.GENERAL_THREADPOOL_SIZE, true);
}
/**
diff --git a/core/src/test/java/org/apache/accumulo/core/conf/AccumuloConfigurationTest.java b/core/src/test/java/org/apache/accumulo/core/conf/AccumuloConfigurationTest.java
index aa3980eb32..97cfb19dfc 100644
--- a/core/src/test/java/org/apache/accumulo/core/conf/AccumuloConfigurationTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/conf/AccumuloConfigurationTest.java
@@ -25,6 +25,7 @@ import static org.junit.jupiter.api.Assertions.assertSame;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
+import java.lang.reflect.Field;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
@@ -313,16 +314,7 @@ public class AccumuloConfigurationTest {
assertTrue(sec.prioritizerClass.get().isEmpty());
assertTrue(sec.prioritizerOpts.isEmpty());
- // ensure deprecated props is read if nothing else is set
- tc.set("tserver.readahead.concurrent.max", "6");
- assertEquals(6, sec.getCurrentMaxThreads());
- assertEquals(Integer.parseInt(Property.TSERV_SCAN_EXECUTORS_DEFAULT_THREADS.getDefaultValue()),
- sec.maxThreads);
- ScanExecutorConfig sec2 =
- tc.getScanExecutors(false).stream().filter(c -> c.name.equals(defName)).findFirst().get();
- assertEquals(6, sec2.maxThreads);
-
- // ensure new prop overrides deprecated prop
+ // ensure new props override default props
tc.set(Property.TSERV_SCAN_EXECUTORS_DEFAULT_THREADS.getKey(), "9");
assertEquals(9, sec.getCurrentMaxThreads());
assertEquals(Integer.parseInt(Property.TSERV_SCAN_EXECUTORS_DEFAULT_THREADS.getDefaultValue()),
@@ -339,7 +331,7 @@ public class AccumuloConfigurationTest {
assertFalse(sec4.prioritizerClass.isPresent());
assertTrue(sec4.prioritizerOpts.isEmpty());
- tc.set("tserver.metadata.readahead.concurrent.max", "2");
+ tc.set(Property.TSERV_SCAN_EXECUTORS_META_THREADS.getKey(), "2");
assertEquals(2, sec4.getCurrentMaxThreads());
ScanExecutorConfig sec5 =
tc.getScanExecutors(false).stream().filter(c -> c.name.equals("meta")).findFirst().get();
@@ -376,11 +368,12 @@ public class AccumuloConfigurationTest {
assertEquals(44, sec8.maxThreads);
// test scan server props
+ tc.set(Property.SSERV_SCAN_EXECUTORS_DEFAULT_THREADS.getKey(), "6");
Collection<ScanExecutorConfig> scanServExecutors = tc.getScanExecutors(true);
assertEquals(2, scanServExecutors.size());
ScanExecutorConfig sec9 =
scanServExecutors.stream().filter(c -> c.name.equals(defName)).findFirst().get();
- // earlier in the test tserver.readahead.concurrent.max was set to 6
+ // verify set to 6
assertEquals(6, sec9.maxThreads);
assertFalse(sec9.priority.isPresent());
assertTrue(sec9.prioritizerClass.get().isEmpty());
@@ -393,43 +386,66 @@ public class AccumuloConfigurationTest {
}
// note: this is hard to test if there aren't any deprecated properties
- // if that's the case, just comment this test out or create a dummy deprecated property
- @SuppressWarnings("deprecation")
+ // Update a couple of non-deprecated properties using reflection for testing purposes
@Test
- public void testResolveDeprecated() {
+ public void testResolveDeprecated() throws Exception {
var conf = new ConfigurationCopy();
- // deprecated first argument
- var e1 = assertThrows(IllegalArgumentException.class, () -> conf
- .resolve(Property.INSTANCE_DFS_DIR, Property.INSTANCE_DFS_URI, Property.INSTANCE_DFS_URI));
- assertEquals("Unexpected deprecated INSTANCE_DFS_DIR", e1.getMessage());
-
- // non-deprecated second argument
- var e2 = assertThrows(IllegalArgumentException.class,
- () -> conf.resolve(Property.INSTANCE_VOLUMES, Property.INSTANCE_DFS_DIR,
- Property.INSTANCE_SECRET, Property.INSTANCE_DFS_DIR, Property.INSTANCE_VOLUMES));
- assertEquals("Unexpected non-deprecated [INSTANCE_SECRET, INSTANCE_VOLUMES]", e2.getMessage());
-
- // empty second argument always resolves to non-deprecated first argument
- assertSame(Property.INSTANCE_VOLUMES, conf.resolve(Property.INSTANCE_VOLUMES));
-
- // none are set, resolve to non-deprecated
- assertSame(Property.INSTANCE_VOLUMES, conf.resolve(Property.INSTANCE_VOLUMES,
- Property.INSTANCE_DFS_DIR, Property.INSTANCE_DFS_URI));
-
- // resolve to first deprecated argument that's set; here, it's the final one
- conf.set(Property.INSTANCE_DFS_URI, "");
- assertSame(Property.INSTANCE_DFS_URI, conf.resolve(Property.INSTANCE_VOLUMES,
- Property.INSTANCE_DFS_DIR, Property.INSTANCE_DFS_URI));
-
- // resolve to first deprecated argument that's set; now, it's the first one because both are set
- conf.set(Property.INSTANCE_DFS_DIR, "");
- assertSame(Property.INSTANCE_DFS_DIR, conf.resolve(Property.INSTANCE_VOLUMES,
- Property.INSTANCE_DFS_DIR, Property.INSTANCE_DFS_URI));
-
- // every property is set, so resolve to the non-deprecated one
- conf.set(Property.INSTANCE_VOLUMES, "");
- assertSame(Property.INSTANCE_VOLUMES, conf.resolve(Property.INSTANCE_VOLUMES,
- Property.INSTANCE_DFS_DIR, Property.INSTANCE_DFS_URI));
+ final Field isDeprecatedField =
+ Property.INSTANCE_ZK_HOST.getClass().getDeclaredField("isDeprecated");
+ isDeprecatedField.setAccessible(true);
+
+ // Capture the original setting. These are not deprecated but just in case they are in the
+ // future
+ // this will prevent the test from breaking when we reset at the end
+ final boolean origIsDepInstanceZkHost = Property.INSTANCE_ZK_HOST.isDeprecated();
+ final boolean origIsDepInstanceZkTimeout = Property.INSTANCE_ZK_TIMEOUT.isDeprecated();
+
+ try {
+ // Mark these 2 properties as deprecated just for testing purposes to make sure resolve works
+ isDeprecatedField.set(Property.INSTANCE_ZK_HOST, true);
+ isDeprecatedField.set(Property.INSTANCE_ZK_TIMEOUT, true);
+
+ // deprecated first argument
+ var e1 =
+ assertThrows(IllegalArgumentException.class, () -> conf.resolve(Property.INSTANCE_ZK_HOST,
+ Property.INSTANCE_ZK_TIMEOUT, Property.INSTANCE_ZK_TIMEOUT));
+ assertEquals("Unexpected deprecated INSTANCE_ZK_HOST", e1.getMessage());
+
+ // non-deprecated second argument
+ var e2 = assertThrows(IllegalArgumentException.class,
+ () -> conf.resolve(Property.INSTANCE_VOLUMES, Property.INSTANCE_ZK_HOST,
+ Property.INSTANCE_SECRET, Property.INSTANCE_ZK_TIMEOUT, Property.INSTANCE_VOLUMES));
+ assertEquals("Unexpected non-deprecated [INSTANCE_SECRET, INSTANCE_VOLUMES]",
+ e2.getMessage());
+
+ // empty second argument always resolves to non-deprecated first argument
+ assertSame(Property.INSTANCE_VOLUMES, conf.resolve(Property.INSTANCE_VOLUMES));
+
+ // none are set, resolve to non-deprecated
+ assertSame(Property.INSTANCE_VOLUMES, conf.resolve(Property.INSTANCE_VOLUMES,
+ Property.INSTANCE_ZK_HOST, Property.INSTANCE_ZK_TIMEOUT));
+
+ // resolve to first deprecated argument that's set; here, it's the final one
+ conf.set(Property.INSTANCE_ZK_TIMEOUT, "");
+ assertSame(Property.INSTANCE_ZK_TIMEOUT, conf.resolve(Property.INSTANCE_VOLUMES,
+ Property.INSTANCE_ZK_HOST, Property.INSTANCE_ZK_TIMEOUT));
+
+ // resolve to first deprecated argument that's set; now, it's the first one because both are
+ // set
+ conf.set(Property.INSTANCE_ZK_HOST, "");
+ assertSame(Property.INSTANCE_ZK_HOST, conf.resolve(Property.INSTANCE_VOLUMES,
+ Property.INSTANCE_ZK_HOST, Property.INSTANCE_ZK_TIMEOUT));
+
+ // every property is set, so resolve to the non-deprecated one
+ conf.set(Property.INSTANCE_VOLUMES, "");
+ assertSame(Property.INSTANCE_VOLUMES, conf.resolve(Property.INSTANCE_VOLUMES,
+ Property.INSTANCE_ZK_HOST, Property.INSTANCE_ZK_TIMEOUT));
+ } finally {
+ // Reset back to original setting
+ isDeprecatedField.set(Property.INSTANCE_ZK_HOST, origIsDepInstanceZkHost);
+ isDeprecatedField.set(Property.INSTANCE_ZK_TIMEOUT, origIsDepInstanceZkTimeout);
+ }
}
+
}
diff --git a/core/src/test/java/org/apache/accumulo/core/conf/DeprecatedPropertyUtilTest.java b/core/src/test/java/org/apache/accumulo/core/conf/DeprecatedPropertyUtilTest.java
index 1eeae5646b..67014c5912 100644
--- a/core/src/test/java/org/apache/accumulo/core/conf/DeprecatedPropertyUtilTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/conf/DeprecatedPropertyUtilTest.java
@@ -20,12 +20,9 @@ package org.apache.accumulo.core.conf;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertSame;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import java.util.Arrays;
import java.util.function.BiConsumer;
-import org.apache.commons.configuration2.BaseConfiguration;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
@@ -67,34 +64,4 @@ public class DeprecatedPropertyUtilTest {
assertEquals("new.test", newProp2);
}
- @Test
- public void testMasterManagerPropertyRename() {
- Arrays.stream(Property.values()).filter(p -> p.getType() != PropertyType.PREFIX)
- .filter(p -> p.getKey().startsWith(Property.MANAGER_PREFIX.getKey())).forEach(p -> {
- String oldProp =
- "master." + p.getKey().substring(Property.MANAGER_PREFIX.getKey().length());
- assertEquals(p.getKey(), DeprecatedPropertyUtil.getReplacementName(oldProp, NOOP));
- });
- }
-
- @Test
- public void testSanityCheckManagerProperties() {
- var config = new BaseConfiguration();
- config.setProperty("regular.prop1", "value");
- config.setProperty("regular.prop2", "value");
- assertEquals(2, config.size());
- DeprecatedPropertyUtil.sanityCheckManagerProperties(config); // should succeed
- config.setProperty("master.deprecatedProp", "value");
- assertEquals(3, config.size());
- DeprecatedPropertyUtil.sanityCheckManagerProperties(config); // should succeed
- config.setProperty("manager.replacementProp", "value");
- assertEquals(4, config.size());
- assertThrows(IllegalStateException.class,
- () -> DeprecatedPropertyUtil.sanityCheckManagerProperties(config),
- "Sanity check should fail when 'master.*' and 'manager.*' appear in same config");
- config.clearProperty("master.deprecatedProp");
- assertEquals(3, config.size());
- DeprecatedPropertyUtil.sanityCheckManagerProperties(config); // should succeed
- }
-
}
diff --git a/core/src/test/java/org/apache/accumulo/core/conf/PropertyTest.java b/core/src/test/java/org/apache/accumulo/core/conf/PropertyTest.java
index 479a87d429..9778b8400c 100644
--- a/core/src/test/java/org/apache/accumulo/core/conf/PropertyTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/conf/PropertyTest.java
@@ -98,20 +98,19 @@ public class PropertyTest {
// This test verifies all "sensitive" properties are properly marked as sensitive
@Test
public void testSensitiveKeys() {
- // add trace token, because it's a sensitive property not in the default configuration
+ // add instance.crypto.opts, because it's a sensitive property not in the default configuration
ConfigurationCopy conf = new ConfigurationCopy(DefaultConfiguration.getInstance());
- conf.set("trace.token.property.blah", "something");
+ conf.set("instance.crypto.opts.sensitive.blah", "something");
// ignores duplicates because ConfigurationCopy already de-duplicates
Collector<Entry<String,String>,?,TreeMap<String,String>> treeMapCollector =
Collectors.toMap(Entry::getKey, Entry::getValue, (a, b) -> a, TreeMap::new);
- @SuppressWarnings("deprecation")
Predicate<Entry<String,String>> sensitiveNames =
e -> e.getKey().equals(Property.INSTANCE_SECRET.getKey())
|| e.getKey().toLowerCase().contains("password")
|| e.getKey().toLowerCase().endsWith("secret")
- || e.getKey().startsWith(Property.TRACE_TOKEN_PROPERTY_PREFIX.getKey());
+ || e.getKey().startsWith(Property.INSTANCE_CRYPTO_SENSITIVE_PREFIX.getKey());
Predicate<Entry<String,String>> isMarkedSensitive = e -> Property.isSensitive(e.getKey());
@@ -120,8 +119,8 @@ public class PropertyTest {
TreeMap<String,String> actual = StreamSupport.stream(conf.spliterator(), false)
.filter(isMarkedSensitive).collect(treeMapCollector);
- // make sure trace token property wasn't excluded from both
- assertEquals("something", expected.get("trace.token.property.blah"));
+ // make sure instance.crypto.opts property wasn't excluded from both
+ assertEquals("something", expected.get("instance.crypto.opts.sensitive.blah"));
assertEquals(expected, actual);
}
@@ -143,9 +142,6 @@ public class PropertyTest {
assertTrue(Property.INSTANCE_SECRET.isSensitive());
assertFalse(Property.INSTANCE_VOLUMES.isSensitive());
- @SuppressWarnings("deprecation")
- Property deprecatedProp = Property.GENERAL_CLASSPATHS;
- assertTrue(deprecatedProp.isDeprecated());
assertFalse(Property.INSTANCE_VOLUMES_REPLACEMENTS.isDeprecated());
}
diff --git a/server/base/src/main/java/org/apache/accumulo/server/master/recovery/HadoopLogCloser.java b/server/base/src/main/java/org/apache/accumulo/server/master/recovery/HadoopLogCloser.java
deleted file mode 100644
index 036b402c11..0000000000
--- a/server/base/src/main/java/org/apache/accumulo/server/master/recovery/HadoopLogCloser.java
+++ /dev/null
@@ -1,42 +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.master.recovery;
-
-import org.apache.accumulo.core.conf.Property;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
-
-/**
- * @deprecated since 2.1.0. Use {@link org.apache.accumulo.server.manager.recovery.HadoopLogCloser}
- * instead
- */
-@Deprecated(since = "2.1.0")
-@SuppressFBWarnings(value = "NM_SAME_SIMPLE_NAME_AS_SUPERCLASS",
- justification = "Compatibility class to be removed in next major release.")
-public class HadoopLogCloser extends org.apache.accumulo.server.manager.recovery.HadoopLogCloser {
- private static final Logger log = LoggerFactory.getLogger(HadoopLogCloser.class);
-
- public HadoopLogCloser() {
- log.warn("{} has been deprecated. Please update property {} to {} instead.",
- getClass().getName(), Property.MANAGER_WAL_CLOSER_IMPLEMENTATION.getKey(),
- org.apache.accumulo.server.manager.recovery.HadoopLogCloser.class.getName());
- }
-}
diff --git a/server/base/src/main/java/org/apache/accumulo/server/util/ZooZap.java b/server/base/src/main/java/org/apache/accumulo/server/util/ZooZap.java
index 8e37cba708..76ab2c5d3f 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/util/ZooZap.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/util/ZooZap.java
@@ -146,15 +146,6 @@ public class ZooZap implements KeywordExecutable {
}
}
- // Remove the tracers, we don't use them anymore.
- @SuppressWarnings("deprecation")
- String path = siteConf.get(Property.TRACE_ZK_PATH);
- try {
- zapDirectory(zoo, path, opts);
- } catch (Exception e) {
- // do nothing if the /tracers node does not exist.
- }
-
if (opts.zapCoordinators) {
final String coordinatorPath = Constants.ZROOT + "/" + iid + Constants.ZCOORDINATOR_LOCK;
try {
diff --git a/server/manager/src/main/java/org/apache/accumulo/manager/recovery/RecoveryManager.java b/server/manager/src/main/java/org/apache/accumulo/manager/recovery/RecoveryManager.java
index 3f8261a480..7f0e47448d 100644
--- a/server/manager/src/main/java/org/apache/accumulo/manager/recovery/RecoveryManager.java
+++ b/server/manager/src/main/java/org/apache/accumulo/manager/recovery/RecoveryManager.java
@@ -198,11 +198,8 @@ public class RecoveryManager {
synchronized (this) {
if (!closeTasksQueued.contains(sortId) && !sortsQueued.contains(sortId)) {
AccumuloConfiguration aconf = manager.getConfiguration();
- @SuppressWarnings("deprecation")
LogCloser closer = Property.createInstanceFromPropertyName(aconf,
- aconf.resolve(Property.MANAGER_WAL_CLOSER_IMPLEMENTATION,
- Property.MANAGER_WALOG_CLOSER_IMPLEMETATION),
- LogCloser.class, new HadoopLogCloser());
+ Property.MANAGER_WAL_CLOSER_IMPLEMENTATION, LogCloser.class, new HadoopLogCloser());
Long delay = recoveryDelay.get(sortId);
if (delay == null) {
delay = aconf.getTimeInMillis(Property.MANAGER_RECOVERY_DELAY);
diff --git a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer1/BulkImport.java b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer1/BulkImport.java
index ee7fdb6551..8f71bbcc6a 100644
--- a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer1/BulkImport.java
+++ b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer1/BulkImport.java
@@ -207,10 +207,8 @@ public class BulkImport extends ManagerRepo {
final UniqueNameAllocator namer = manager.getUniqueNameAllocator();
AccumuloConfiguration serverConfig = manager.getConfiguration();
- @SuppressWarnings("deprecation")
ExecutorService workers = ThreadPools.getServerThreadPools().createExecutorService(serverConfig,
- serverConfig.resolve(Property.MANAGER_RENAME_THREADS, Property.MANAGER_BULK_RENAME_THREADS),
- false);
+ Property.MANAGER_RENAME_THREADS, false);
List<Future<Exception>> results = new ArrayList<>();
for (FileStatus file : mapFiles) {
diff --git a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer2/BulkImportMove.java b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer2/BulkImportMove.java
index ef19bc03ed..d6822edf56 100644
--- a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer2/BulkImportMove.java
+++ b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer2/BulkImportMove.java
@@ -107,9 +107,7 @@ class BulkImportMove extends ManagerRepo {
"/" + bulkDir.getParent().getName() + "/" + bulkDir.getName(), tid);
AccumuloConfiguration aConf = manager.getConfiguration();
- @SuppressWarnings("deprecation")
- int workerCount = aConf.getCount(
- aConf.resolve(Property.MANAGER_RENAME_THREADS, Property.MANAGER_BULK_RENAME_THREADS));
+ int workerCount = aConf.getCount(Property.MANAGER_RENAME_THREADS);
Map<Path,Path> oldToNewMap = new HashMap<>();
String fmtTid = FateTxId.formatTid(tid);
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java
index 6017fa31bf..3b0bff1517 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java
@@ -303,12 +303,8 @@ public class TabletServer extends AbstractServer implements TabletHostingServer
}), 5, 5, TimeUnit.SECONDS);
watchNonCriticalScheduledTask(future);
- @SuppressWarnings("deprecation")
- final long walMaxSize =
- aconf.getAsBytes(aconf.resolve(Property.TSERV_WAL_MAX_SIZE, Property.TSERV_WALOG_MAX_SIZE));
- @SuppressWarnings("deprecation")
- final long walMaxAge = aconf
- .getTimeInMillis(aconf.resolve(Property.TSERV_WAL_MAX_AGE, Property.TSERV_WALOG_MAX_AGE));
+ final long walMaxSize = aconf.getAsBytes(Property.TSERV_WAL_MAX_SIZE);
+ final long walMaxAge = aconf.getTimeInMillis(Property.TSERV_WAL_MAX_AGE);
final long minBlockSize =
context.getHadoopConf().getLong("dfs.namenode.fs-limits.min-block-size", 0);
if (minBlockSize != 0 && minBlockSize > walMaxSize) {
@@ -318,18 +314,12 @@ public class TabletServer extends AbstractServer implements TabletHostingServer
+ " or decrease dfs.namenode.fs-limits.min-block-size in hdfs-site.xml.");
}
- @SuppressWarnings("deprecation")
final long toleratedWalCreationFailures =
- aconf.getCount(aconf.resolve(Property.TSERV_WAL_TOLERATED_CREATION_FAILURES,
- Property.TSERV_WALOG_TOLERATED_CREATION_FAILURES));
- @SuppressWarnings("deprecation")
+ aconf.getCount(Property.TSERV_WAL_TOLERATED_CREATION_FAILURES);
final long walFailureRetryIncrement =
- aconf.getTimeInMillis(aconf.resolve(Property.TSERV_WAL_TOLERATED_WAIT_INCREMENT,
- Property.TSERV_WALOG_TOLERATED_WAIT_INCREMENT));
- @SuppressWarnings("deprecation")
+ aconf.getTimeInMillis(Property.TSERV_WAL_TOLERATED_WAIT_INCREMENT);
final long walFailureRetryMax =
- aconf.getTimeInMillis(aconf.resolve(Property.TSERV_WAL_TOLERATED_MAXIMUM_WAIT_DURATION,
- Property.TSERV_WALOG_TOLERATED_MAXIMUM_WAIT_DURATION));
+ aconf.getTimeInMillis(Property.TSERV_WAL_TOLERATED_MAXIMUM_WAIT_DURATION);
final RetryFactory walCreationRetryFactory =
Retry.builder().maxRetries(toleratedWalCreationFailures)
.retryAfter(walFailureRetryIncrement, TimeUnit.MILLISECONDS)
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java
index 55ead4880d..7d2ba74e06 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java
@@ -484,9 +484,7 @@ public class DfsLogger implements Comparable<DfsLogger> {
static long getWalBlockSize(AccumuloConfiguration conf) {
long blockSize = conf.getAsBytes(Property.TSERV_WAL_BLOCKSIZE);
if (blockSize == 0) {
- @SuppressWarnings("deprecation")
- Property prop = conf.resolve(Property.TSERV_WAL_MAX_SIZE, Property.TSERV_WALOG_MAX_SIZE);
- blockSize = (long) (conf.getAsBytes(prop) * 1.1);
+ blockSize = (long) (conf.getAsBytes(Property.TSERV_WAL_MAX_SIZE) * 1.1);
}
return blockSize;
}
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/log/LogSorter.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/log/LogSorter.java
index 399607a851..a3172bd6dc 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/log/LogSorter.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/log/LogSorter.java
@@ -165,10 +165,7 @@ public class LogSorter {
return;
}
- @SuppressWarnings("deprecation")
- Property prop = sortedLogConf.resolve(Property.TSERV_WAL_SORT_BUFFER_SIZE,
- Property.TSERV_SORT_BUFFER_SIZE);
- final long bufferSize = sortedLogConf.getAsBytes(prop);
+ final long bufferSize = sortedLogConf.getAsBytes(Property.TSERV_WAL_SORT_BUFFER_SIZE);
Thread.currentThread().setName("Sorting " + name + " for recovery");
while (true) {
final ArrayList<Pair<LogFileKey,LogFileValue>> buffer = new ArrayList<>();
@@ -229,9 +226,8 @@ public class LogSorter {
public LogSorter(ServerContext context, AccumuloConfiguration conf) {
this.context = context;
this.sortedLogConf = extractSortedLogConfig(conf);
- @SuppressWarnings("deprecation")
- int threadPoolSize = conf.getCount(conf.resolve(Property.TSERV_WAL_SORT_MAX_CONCURRENT,
- Property.TSERV_RECOVERY_MAX_CONCURRENT));
+
+ int threadPoolSize = conf.getCount(Property.TSERV_WAL_SORT_MAX_CONCURRENT);
this.threadPool = ThreadPools.getServerThreadPools().createFixedThreadPool(threadPoolSize,
this.getClass().getName(), true);
this.walBlockSize = DfsLogger.getWalBlockSize(conf);
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java
index 5e6492001b..454e4087d6 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java
@@ -1685,10 +1685,7 @@ public class Tablet extends TabletBase {
public void checkIfMinorCompactionNeededForLogs(List<DfsLogger> closedLogs) {
// grab this outside of tablet lock.
- @SuppressWarnings("deprecation")
- Property prop = tableConfiguration.resolve(Property.TSERV_WAL_MAX_REFERENCED,
- Property.TSERV_WALOG_MAX_REFERENCED, Property.TABLE_MINC_LOGS_MAX);
- int maxLogs = tableConfiguration.getCount(prop);
+ int maxLogs = tableConfiguration.getCount(Property.TSERV_WAL_MAX_REFERENCED);
String reason = null;
synchronized (this) {
diff --git a/shell/src/main/java/org/apache/accumulo/shell/Shell.java b/shell/src/main/java/org/apache/accumulo/shell/Shell.java
index 8c87af20b2..55e1efa0b6 100644
--- a/shell/src/main/java/org/apache/accumulo/shell/Shell.java
+++ b/shell/src/main/java/org/apache/accumulo/shell/Shell.java
@@ -462,7 +462,7 @@ public class Shell extends ShellOptions implements KeywordExecutable {
} else {
throw new IllegalArgumentException("No table or namespace specified");
}
- String tableContext = getTableContextFromProps(tableProps);
+ String tableContext = tableProps.get(Property.TABLE_CLASSLOADER_CONTEXT.getKey());
if (tableContext != null && !tableContext.isEmpty()) {
ClassLoaderUtil.initContextFactory(new ConfigurationCopy(
@@ -471,30 +471,6 @@ public class Shell extends ShellOptions implements KeywordExecutable {
return ClassLoaderUtil.getClassLoader(tableContext);
}
- private static String getTableContextFromProps(Map<String,String> props) {
- String tableContext = null;
- for (Entry<String,String> entry : props.entrySet()) {
- // look for either the old property or the new one, but
- // if the new one is set, stop looking and let it take precedence
- if (entry.getKey().equals(Property.TABLE_CLASSLOADER_CONTEXT.getKey())
- && entry.getValue() != null && !entry.getValue().isEmpty()) {
- return entry.getValue();
- }
- @SuppressWarnings("removal")
- Property TABLE_CLASSPATH = Property.TABLE_CLASSPATH;
- if (entry.getKey().equals(TABLE_CLASSPATH.getKey())) {
- // don't return even if this is set; instead,
- // keep looking, in case we find the newer property set
- tableContext = entry.getValue();
- if (tableContext != null && !tableContext.isEmpty()) {
- log.warn("Deprecated table context property detected. '{}' should be replaced by '{}'",
- TABLE_CLASSPATH.getKey(), Property.TABLE_CLASSLOADER_CONTEXT.getKey());
- }
- }
- }
- return tableContext;
- }
-
@Override
public String keyword() {
return "shell";