This is an automated email from the ASF dual-hosted git repository. ddanielr pushed a commit to branch 2.1 in repository https://gitbox.apache.org/repos/asf/accumulo.git
The following commit(s) were added to refs/heads/2.1 by this push: new d021f3ca69 Adds property description formatting (#3877) d021f3ca69 is described below commit d021f3ca69c290a562494f19aebb66315a61abd8 Author: Daniel Roberts <ddani...@gmail.com> AuthorDate: Tue Oct 24 12:12:41 2023 -0400 Adds property description formatting (#3877) * Adds property description formatting Adds a test to ensure that property descriptions end with a period. --- .../org/apache/accumulo/core/conf/Property.java | 326 ++++++++++----------- .../apache/accumulo/core/conf/PropertyTest.java | 4 + 2 files changed, 167 insertions(+), 163 deletions(-) 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 191f411396..bafc826c5a 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 @@ -49,7 +49,7 @@ public enum Property { // across all nodes in an instance) RPC_PREFIX("rpc.", null, PropertyType.PREFIX, "Properties in this category related to the configuration of SSL keys for" - + " RPC. See also instance.ssl.enabled", + + " RPC. See also `instance.ssl.enabled`.", "1.6.0"), RPC_BACKLOG("rpc.backlog", "50", PropertyType.COUNT, "Configures the TCP backlog for the server side sockets created by Thrift." @@ -57,36 +57,36 @@ public enum Property { + " will use the Thrift default value.", "2.1.3"), RPC_SSL_KEYSTORE_PATH("rpc.javax.net.ssl.keyStore", "", PropertyType.PATH, - "Path of the keystore file for the server's private SSL key", "1.6.0"), + "Path of the keystore file for the server's private SSL key.", "1.6.0"), @Sensitive RPC_SSL_KEYSTORE_PASSWORD("rpc.javax.net.ssl.keyStorePassword", "", PropertyType.STRING, "Password used to encrypt the SSL private keystore. " - + "Leave blank to use the Accumulo instance secret", + + "Leave blank to use the Accumulo instance secret.", "1.6.0"), RPC_SSL_KEYSTORE_TYPE("rpc.javax.net.ssl.keyStoreType", "jks", PropertyType.STRING, - "Type of SSL keystore", "1.6.0"), + "Type of SSL keystore.", "1.6.0"), RPC_SSL_TRUSTSTORE_PATH("rpc.javax.net.ssl.trustStore", "", PropertyType.PATH, - "Path of the truststore file for the root cert", "1.6.0"), + "Path of the truststore file for the root cert.", "1.6.0"), @Sensitive RPC_SSL_TRUSTSTORE_PASSWORD("rpc.javax.net.ssl.trustStorePassword", "", PropertyType.STRING, - "Password used to encrypt the SSL truststore. Leave blank to use no password", "1.6.0"), + "Password used to encrypt the SSL truststore. Leave blank to use no password.", "1.6.0"), RPC_SSL_TRUSTSTORE_TYPE("rpc.javax.net.ssl.trustStoreType", "jks", PropertyType.STRING, - "Type of SSL truststore", "1.6.0"), + "Type of SSL truststore.", "1.6.0"), RPC_USE_JSSE("rpc.useJsse", "false", PropertyType.BOOLEAN, "Use JSSE system properties to configure SSL rather than the " + RPC_PREFIX.getKey() - + "javax.net.ssl.* Accumulo properties", + + "javax.net.ssl.* Accumulo properties.", "1.6.0"), RPC_SSL_CIPHER_SUITES("rpc.ssl.cipher.suites", "", PropertyType.STRING, - "Comma separated list of cipher suites that can be used by accepted connections", "1.6.1"), + "Comma separated list of cipher suites that can be used by accepted connections.", "1.6.1"), RPC_SSL_ENABLED_PROTOCOLS("rpc.ssl.server.enabled.protocols", "TLSv1.2", PropertyType.STRING, - "Comma separated list of protocols that can be used to accept connections", "1.6.2"), + "Comma separated list of protocols that can be used to accept connections.", "1.6.2"), RPC_SSL_CLIENT_PROTOCOL("rpc.ssl.client.protocol", "TLSv1.2", PropertyType.STRING, - "The protocol used to connect to a secure server, must be in the list of enabled protocols " - + "on the server side (rpc.ssl.server.enabled.protocols)", + "The protocol used to connect to a secure server. Must be in the list of enabled protocols " + + "on the server side `rpc.ssl.server.enabled.protocols`.", "1.6.2"), RPC_SASL_QOP("rpc.sasl.qop", "auth", PropertyType.STRING, "The quality of protection to be used with SASL. Valid values are 'auth', 'auth-int'," - + " and 'auth-conf'", + + " and 'auth-conf'.", "1.7.0"), // instance properties (must be the same for every node in an instance) @@ -95,11 +95,11 @@ public enum Property { + "This is enforced and servers won't be able to communicate if these differ.", "1.3.5"), INSTANCE_ZK_HOST("instance.zookeeper.host", "localhost:2181", PropertyType.HOSTLIST, - "Comma separated list of zookeeper servers", "1.3.5"), + "Comma separated list of zookeeper servers.", "1.3.5"), INSTANCE_ZK_TIMEOUT("instance.zookeeper.timeout", "30s", PropertyType.TIMEDURATION, "Zookeeper session timeout; " + "max value when represented as milliseconds should be no larger than " - + Integer.MAX_VALUE, + + Integer.MAX_VALUE + ".", "1.3.5"), @Sensitive INSTANCE_SECRET("instance.secret", "DEFAULT", PropertyType.STRING, @@ -109,8 +109,8 @@ public enum Property { + " initialized, use the ChangeSecret tool and then update accumulo.properties" + " everywhere. Before using the ChangeSecret tool, make sure Accumulo is not" + " running and you are logged in as the user that controls Accumulo files in" - + " HDFS. To use the ChangeSecret tool, run the command: ./bin/accumulo" - + " org.apache.accumulo.server.util.ChangeSecret", + + " HDFS. To use the ChangeSecret tool, run the command: `./bin/accumulo" + + " org.apache.accumulo.server.util.ChangeSecret`.", "1.3.5"), INSTANCE_VOLUMES("instance.volumes", "", PropertyType.STRING, "A comma separated list of dfs uris to use. Files will be stored across" @@ -157,26 +157,26 @@ public enum Property { INSTANCE_SECURITY_AUTHENTICATOR("instance.security.authenticator", "org.apache.accumulo.server.security.handler.ZKAuthenticator", PropertyType.CLASSNAME, "The authenticator class that accumulo will use to determine if a user " - + "has privilege to perform an action", + + "has privilege to perform an action.", "1.5.0"), @Experimental // interface uses unstable internal types, use with caution INSTANCE_SECURITY_AUTHORIZOR("instance.security.authorizor", "org.apache.accumulo.server.security.handler.ZKAuthorizor", PropertyType.CLASSNAME, "The authorizor class that accumulo will use to determine what labels a " - + "user has privilege to see", + + "user has privilege to see.", "1.5.0"), @Experimental // interface uses unstable internal types, use with caution INSTANCE_SECURITY_PERMISSION_HANDLER("instance.security.permissionHandler", "org.apache.accumulo.server.security.handler.ZKPermHandler", PropertyType.CLASSNAME, "The permission handler class that accumulo will use to determine if a " - + "user has privilege to perform an action", + + "user has privilege to perform an action.", "1.5.0"), INSTANCE_RPC_SSL_ENABLED("instance.rpc.ssl.enabled", "false", PropertyType.BOOLEAN, "Use SSL for socket connections from clients and among accumulo services. " + "Mutually exclusive with SASL RPC configuration.", "1.6.0"), INSTANCE_RPC_SSL_CLIENT_AUTH("instance.rpc.ssl.clientAuth", "false", PropertyType.BOOLEAN, - "Require clients to present certs signed by a trusted root", "1.6.0"), + "Require clients to present certs signed by a trusted root.", "1.6.0"), INSTANCE_RPC_SASL_ENABLED("instance.rpc.sasl.enabled", "false", PropertyType.BOOLEAN, "Configures Thrift RPCs to require SASL with GSSAPI which supports " + "Kerberos authentication. Mutually exclusive with SSL RPC configuration.", @@ -184,12 +184,12 @@ public enum Property { INSTANCE_RPC_SASL_ALLOWED_USER_IMPERSONATION("instance.rpc.sasl.allowed.user.impersonation", "", PropertyType.STRING, "One-line configuration property controlling what users are allowed to " - + "impersonate other users", + + "impersonate other users.", "1.7.1"), INSTANCE_RPC_SASL_ALLOWED_HOST_IMPERSONATION("instance.rpc.sasl.allowed.host.impersonation", "", PropertyType.STRING, "One-line configuration property controlling the network locations " - + "(hostnames) that are allowed to impersonate other users", + + "(hostnames) that are allowed to impersonate other users.", "1.7.1"), // Crypto-related properties @Experimental @@ -238,19 +238,19 @@ public enum Property { PropertyType.COUNT, "The maximum number of filenames that will be allocated from ZooKeeper at a time.", "2.1.3"), GENERAL_RPC_TIMEOUT("general.rpc.timeout", "120s", PropertyType.TIMEDURATION, - "Time to wait on I/O for simple, short RPC calls", "1.3.5"), + "Time to wait on I/O for simple, short RPC calls.", "1.3.5"), @Experimental GENERAL_RPC_SERVER_TYPE("general.rpc.server.type", "", PropertyType.STRING, "Type of Thrift server to instantiate, see " + "org.apache.accumulo.server.rpc.ThriftServerType for more information. " - + "Only useful for benchmarking thrift servers", + + "Only useful for benchmarking thrift servers.", "1.7.0"), GENERAL_KERBEROS_KEYTAB("general.kerberos.keytab", "", PropertyType.PATH, - "Path to the kerberos keytab to use. Leave blank if not using kerberoized hdfs", "1.4.1"), + "Path to the kerberos keytab to use. Leave blank if not using kerberoized hdfs.", "1.4.1"), GENERAL_KERBEROS_PRINCIPAL("general.kerberos.principal", "", PropertyType.STRING, "Name of the kerberos principal to use. _HOST will automatically be " + "replaced by the machines hostname in the hostname portion of the " - + "principal. Leave blank if not using kerberoized hdfs", + + "principal. Leave blank if not using kerberoized hdfs.", "1.4.1"), GENERAL_KERBEROS_RENEWAL_PERIOD("general.kerberos.renewal.period", "30s", PropertyType.TIMEDURATION, @@ -265,11 +265,11 @@ public enum Property { "Enables tracing functionality using OpenTelemetry (assuming OpenTelemetry is configured).", "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"), + "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", + 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 @@ -279,7 +279,7 @@ public enum Property { "The class that will be used to select which volume will be used to create new files.", "1.6.0"), GENERAL_SECURITY_CREDENTIAL_PROVIDER_PATHS("general.security.credential.provider.paths", "", - PropertyType.STRING, "Comma-separated list of paths to CredentialProviders", "1.6.1"), + PropertyType.STRING, "Comma-separated list of paths to CredentialProviders.", "1.6.1"), GENERAL_ARBITRARY_PROP_PREFIX("general.custom.", null, PropertyType.PREFIX, "Prefix to be used for user defined system-wide properties. This may be" + " particularly useful for system-wide configuration for various" @@ -288,20 +288,20 @@ public enum Property { "2.0.0"), GENERAL_DELEGATION_TOKEN_LIFETIME("general.delegation.token.lifetime", "7d", PropertyType.TIMEDURATION, - "The length of time that delegation tokens and secret keys are valid", "1.7.0"), + "The length of time that delegation tokens and secret keys are valid.", "1.7.0"), GENERAL_DELEGATION_TOKEN_UPDATE_INTERVAL("general.delegation.token.update.interval", "1d", - PropertyType.TIMEDURATION, "The length of time between generation of new secret keys", + PropertyType.TIMEDURATION, "The length of time between generation of new secret keys.", "1.7.0"), GENERAL_MAX_SCANNER_RETRY_PERIOD("general.max.scanner.retry.period", "5s", PropertyType.TIMEDURATION, - "The maximum amount of time that a Scanner should wait before retrying a failed RPC", + "The maximum amount of time that a Scanner should wait before retrying a failed RPC.", "1.7.3"), GENERAL_MICROMETER_ENABLED("general.micrometer.enabled", "false", PropertyType.BOOLEAN, - "Enables metrics functionality using Micrometer", "2.1.0"), + "Enables metrics functionality using Micrometer.", "2.1.0"), GENERAL_MICROMETER_JVM_METRICS_ENABLED("general.micrometer.jvm.metrics.enabled", "false", - PropertyType.BOOLEAN, "Enables JVM metrics functionality using Micrometer", "2.1.0"), + PropertyType.BOOLEAN, "Enables JVM metrics functionality using Micrometer.", "2.1.0"), GENERAL_MICROMETER_FACTORY("general.micrometer.factory", "", PropertyType.CLASSNAME, - "Name of class that implements MeterRegistryFactory", "2.1.0"), + "Name of class that implements MeterRegistryFactory.", "2.1.0"), // properties that are specific to manager server behavior MANAGER_PREFIX("manager.", null, PropertyType.PREFIX, "Properties in this category affect the behavior of the manager server. " @@ -316,7 +316,7 @@ public enum Property { + "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"), + "The port used for handling client connections on the manager.", "1.3.5"), MANAGER_TABLET_BALANCER("manager.tablet.balancer", "org.apache.accumulo.core.spi.balancer.TableLoadBalancer", PropertyType.CLASSNAME, "The balancer class that accumulo will use to make tablet assignment and " @@ -335,7 +335,7 @@ public enum Property { "The time after which bulk import threads terminate with no work available. Zero (0) will keep the threads alive indefinitely.", "2.1.0"), MANAGER_BULK_TIMEOUT("manager.bulk.timeout", "5m", PropertyType.TIMEDURATION, - "The time to wait for a tablet server to process a bulk import request", "1.4.3"), + "The time to wait for a tablet server to process a bulk import request.", "1.4.3"), 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"), @@ -343,10 +343,10 @@ public enum Property { @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", + + "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", + "Regular expression that defines the set of Tablet Servers that will perform bulk imports.", "2.0.0"), MANAGER_MINTHREADS("manager.server.threads.minimum", "20", PropertyType.COUNT, "The minimum number of threads to use to handle incoming requests.", "1.4.0"), @@ -364,20 +364,20 @@ public enum Property { "Amount of time that the existence of recovery write-ahead logs is cached.", "2.1.2"), MANAGER_LEASE_RECOVERY_WAITING_PERIOD("manager.lease.recovery.interval", "5s", PropertyType.TIMEDURATION, - "The amount of time to wait after requesting a write-ahead log to be recovered", "1.5.0"), + "The amount of time to wait after requesting a write-ahead log to be recovered.", "1.5.0"), 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"), + "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"), + "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"), + "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", + PropertyType.TIMEDURATION, "Limit calls from metric sinks to zookeeper to update interval.", "1.9.3"), MANAGER_FATE_THREADPOOL_SIZE("manager.fate.threadpool.size", "4", PropertyType.COUNT, "The number of threads used to run fault-tolerant executions (FATE)." @@ -387,19 +387,19 @@ public enum Property { MANAGER_REPLICATION_SCAN_INTERVAL("manager.replication.status.scan.interval", "30s", PropertyType.TIMEDURATION, "Amount of time to sleep before scanning the status section of the " - + "replication table for new data", + + "replication table for new data.", "1.7.0"), @Deprecated(since = "2.1.0") MANAGER_REPLICATION_COORDINATOR_PORT("manager.replication.coordinator.port", "10001", - PropertyType.PORT, "Port for the replication coordinator service", "1.7.0"), + PropertyType.PORT, "Port for the replication coordinator service.", "1.7.0"), @Deprecated(since = "2.1.0") MANAGER_REPLICATION_COORDINATOR_MINTHREADS("manager.replication.coordinator.minthreads", "4", - PropertyType.COUNT, "Minimum number of threads dedicated to answering coordinator requests", + PropertyType.COUNT, "Minimum number of threads dedicated to answering coordinator requests.", "1.7.0"), @Deprecated(since = "2.1.0") MANAGER_REPLICATION_COORDINATOR_THREADCHECK("manager.replication.coordinator.threadcheck.time", "5s", PropertyType.TIMEDURATION, - "The time between adjustments of the coordinator thread pool", "1.7.0"), + "The time between adjustments of the coordinator thread pool.", "1.7.0"), MANAGER_STATUS_THREAD_POOL_SIZE("manager.status.threadpool.size", "0", PropertyType.COUNT, "The number of threads to use when fetching the tablet server status for balancing. Zero " + "indicates an unlimited number of threads will be used.", @@ -413,19 +413,19 @@ public enum Property { "Minimum number of tservers that need to be registered before manager will " + "start tablet assignment - checked at manager initialization, when manager gets lock. " + " When set to 0 or less, no blocking occurs. Default is 0 (disabled) to keep original " - + " behaviour. Added with version 1.10", + + " behaviour.", "1.10.0"), MANAGER_STARTUP_TSERVER_AVAIL_MAX_WAIT("manager.startup.tserver.avail.max.wait", "0", PropertyType.TIMEDURATION, "Maximum time manager will wait for tserver available threshold " + "to be reached before continuing. When set to 0 or less, will block " + "indefinitely. Default is 0 to block indefinitely. Only valid when tserver available " - + "threshold is set greater than 0. Added with version 1.10", + + "threshold is set greater than 0.", "1.10.0"), // properties that are specific to scan server behavior @Experimental SSERV_PREFIX("sserver.", null, PropertyType.PREFIX, - "Properties in this category affect the behavior of the scan servers", "2.1.0"), + "Properties in this category affect the behavior of the scan servers.", "2.1.0"), @Experimental SSERV_DATACACHE_SIZE("sserver.cache.data.size", "10%", PropertyType.MEMORY, "Specifies the size of the cache for RFile data blocks on each scan server.", "2.1.0"), @@ -437,17 +437,17 @@ public enum Property { "Specifies the size of the cache for summary data on each scan server.", "2.1.0"), @Experimental SSERV_DEFAULT_BLOCKSIZE("sserver.default.blocksize", "1M", PropertyType.BYTES, - "Specifies a default blocksize for the scan server caches", "2.1.0"), + "Specifies a default blocksize for the scan server caches.", "2.1.0"), @Experimental SSERV_CACHED_TABLET_METADATA_EXPIRATION("sserver.cache.metadata.expiration", "5m", PropertyType.TIMEDURATION, "The time after which cached tablet metadata will be refreshed.", "2.1.0"), @Experimental SSERV_PORTSEARCH("sserver.port.search", "true", PropertyType.BOOLEAN, - "if the ports above are in use, search higher ports until one is available", "2.1.0"), + "if the ports above are in use, search higher ports until one is available.", "2.1.0"), @Experimental SSERV_CLIENTPORT("sserver.port.client", "9996", PropertyType.PORT, - "The port used for handling client connections on the tablet servers", "2.1.0"), + "The port used for handling client connections on the tablet servers.", "2.1.0"), @Experimental SSERV_MAX_MESSAGE_SIZE("sserver.server.message.size.max", "1G", PropertyType.BYTES, "The maximum size of a message that can be sent to a scan server.", "2.1.0"), @@ -467,7 +467,7 @@ public enum Property { + "`sserver.scan.executors.<name>.threads=<number>`. Optionally, can also set " + "`sserver.scan.executors.<name>.priority=<number 1 to 10>`, " + "`sserver.scan.executors.<name>.prioritizer=<class name>`, and " - + "`sserver.scan.executors.<name>.prioritizer.opts.<key>=<value>`", + + "`sserver.scan.executors.<name>.prioritizer.opts.<key>=<value>`.", "2.1.0"), @Experimental SSERV_SCAN_EXECUTORS_DEFAULT_THREADS("sserver.scan.executors.default.threads", "16", @@ -485,23 +485,23 @@ public enum Property { @Experimental SSERVER_SCAN_REFERENCE_EXPIRATION_TIME("sserver.scan.reference.expiration", "5m", PropertyType.TIMEDURATION, - "The amount of time a scan reference is unused before its deleted from metadata table ", + "The amount of time a scan reference is unused before its deleted from metadata table.", "2.1.0"), @Experimental SSERV_THREADCHECK("sserver.server.threadcheck.time", "1s", PropertyType.TIMEDURATION, "The time between adjustments of the thrift server thread pool.", "2.1.0"), // properties that are specific to tablet server behavior TSERV_PREFIX("tserver.", null, PropertyType.PREFIX, - "Properties in this category affect the behavior of the tablet servers", "1.3.5"), + "Properties in this category affect the behavior of the tablet servers.", "1.3.5"), TSERV_CLIENT_TIMEOUT("tserver.client.timeout", "3s", PropertyType.TIMEDURATION, "Time to wait for clients to continue scans before closing a session.", "1.3.5"), TSERV_DEFAULT_BLOCKSIZE("tserver.default.blocksize", "1M", PropertyType.BYTES, - "Specifies a default blocksize for the tserver caches", "1.3.5"), + "Specifies a default blocksize for the tserver caches.", "1.3.5"), TSERV_CACHE_MANAGER_IMPL("tserver.cache.manager.class", "org.apache.accumulo.core.file.blockfile.cache.lru.LruBlockCacheManager", PropertyType.STRING, "Specifies the class name of the block cache factory implementation." + " Alternative implementation is" - + " org.apache.accumulo.core.file.blockfile.cache.tinylfu.TinyLfuBlockCacheManager", + + " org.apache.accumulo.core.file.blockfile.cache.tinylfu.TinyLfuBlockCacheManager.", "2.0.0"), TSERV_DATACACHE_SIZE("tserver.cache.data.size", "10%", PropertyType.MEMORY, "Specifies the size of the cache for RFile data blocks.", "1.3.5"), @@ -510,9 +510,9 @@ public enum Property { TSERV_SUMMARYCACHE_SIZE("tserver.cache.summary.size", "10%", PropertyType.MEMORY, "Specifies the size of the cache for summary data on each tablet server.", "2.0.0"), TSERV_PORTSEARCH("tserver.port.search", "false", PropertyType.BOOLEAN, - "if the ports above are in use, search higher ports until one is available", "1.3.5"), + "if the ports above are in use, search higher ports until one is available.", "1.3.5"), TSERV_CLIENTPORT("tserver.port.client", "9997", PropertyType.PORT, - "The port used for handling client connections on the tablet servers", "1.3.5"), + "The port used for handling client connections on the tablet servers.", "1.3.5"), TSERV_TOTAL_MUTATION_QUEUE_MAX("tserver.total.mutation.queue.max", "5%", PropertyType.MEMORY, "The amount of memory used to store write-ahead-log mutations before flushing them.", "1.7.0"), @@ -538,13 +538,13 @@ public enum Property { "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", + + " `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", + + " `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"), @@ -589,7 +589,7 @@ public enum Property { "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"), + "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, "Tablet servers leave previously used RFiles open for future queries." + " This setting determines how much time an unused RFile should be kept open" @@ -602,19 +602,19 @@ public enum Property { TSERV_MAXMEM("tserver.memory.maps.max", "33%", PropertyType.MEMORY, "Maximum amount of memory that can be used to buffer data written to a" + " tablet server. There are two other properties that can effectively limit" - + " memory usage table.compaction.minor.logs.threshold and" - + " tserver.wal.max.size. Ensure that table.compaction.minor.logs.threshold" - + " * tserver.wal.max.size >= this property.", + + " memory usage `table.compaction.minor.logs.threshold` and" + + " `tserver.wal.max.size`. Ensure that `table.compaction.minor.logs.threshold`" + + " * `tserver.wal.max.size` >= this property.", "1.3.5"), TSERV_SESSION_MAXIDLE("tserver.session.idle.max", "1m", PropertyType.TIMEDURATION, "When a tablet server's SimpleTimer thread triggers to check idle" + " sessions, this configurable option will be used to evaluate scan sessions" - + " to determine if they can be closed due to inactivity", + + " to determine if they can be closed due to inactivity.", "1.3.5"), TSERV_UPDATE_SESSION_MAXIDLE("tserver.session.update.idle.max", "1m", PropertyType.TIMEDURATION, "When a tablet server's SimpleTimer thread triggers to check idle" + " sessions, this configurable option will be used to evaluate update" - + " sessions to determine if they can be closed due to inactivity", + + " sessions to determine if they can be closed due to inactivity.", "1.6.5"), TSERV_SCAN_EXECUTORS_PREFIX("tserver.scan.executors.", null, PropertyType.PREFIX, "Prefix for defining executors to service scans. See " @@ -624,7 +624,7 @@ public enum Property { + "`tserver.scan.executors.<name>.threads=<number>`. Optionally, can also set " + "`tserver.scan.executors.<name>.priority=<number 1 to 10>`, " + "`tserver.scan.executors.<name>.prioritizer=<class name>`, and " - + "`tserver.scan.executors.<name>.prioritizer.opts.<key>=<value>`", + + "`tserver.scan.executors.<name>.prioritizer.opts.<key>=<value>`.", "2.0.0"), TSERV_SCAN_EXECUTORS_DEFAULT_THREADS("tserver.scan.executors.default.threads", "16", PropertyType.COUNT, "The number of threads for the scan executor that tables use by default.", @@ -642,14 +642,14 @@ public enum Property { "Max time for the thrift client handler to wait for scan results before timing out.", "2.1.0"), TSERV_MIGRATE_MAXCONCURRENT("tserver.migrations.concurrent.max", "1", PropertyType.COUNT, - "The maximum number of concurrent tablet migrations for a tablet server", "1.3.5"), + "The maximum number of concurrent tablet migrations for a tablet server.", "1.3.5"), TSERV_MAJC_DELAY("tserver.compaction.major.delay", "30s", PropertyType.TIMEDURATION, "Time a tablet server will sleep between checking which tablets need compaction.", "1.3.5"), TSERV_COMPACTION_SERVICE_PREFIX("tserver.compaction.major.service.", null, PropertyType.PREFIX, "Prefix for compaction services.", "2.1.0"), TSERV_COMPACTION_SERVICE_ROOT_PLANNER("tserver.compaction.major.service.root.planner", DefaultCompactionPlanner.class.getName(), PropertyType.CLASSNAME, - "Compaction planner for root tablet service", "2.1.0"), + "Compaction planner for root tablet service.", "2.1.0"), TSERV_COMPACTION_SERVICE_ROOT_RATE_LIMIT("tserver.compaction.major.service.root.rate.limit", "0B", PropertyType.BYTES, "Maximum number of bytes to read or write per second over all major" @@ -657,17 +657,17 @@ public enum Property { "2.1.0"), TSERV_COMPACTION_SERVICE_ROOT_MAX_OPEN( "tserver.compaction.major.service.root.planner.opts.maxOpen", "30", PropertyType.COUNT, - "The maximum number of files a compaction will open", "2.1.0"), + "The maximum number of files a compaction will open.", "2.1.0"), TSERV_COMPACTION_SERVICE_ROOT_EXECUTORS( "tserver.compaction.major.service.root.planner.opts.executors", "[{'name':'small','type':'internal','maxSize':'32M','numThreads':1},{'name':'huge','type':'internal','numThreads':1}]" .replaceAll("'", "\""), PropertyType.STRING, - "See {% jlink -f org.apache.accumulo.core.spi.compaction.DefaultCompactionPlanner %} ", + "See {% jlink -f org.apache.accumulo.core.spi.compaction.DefaultCompactionPlanner %}.", "2.1.0"), TSERV_COMPACTION_SERVICE_META_PLANNER("tserver.compaction.major.service.meta.planner", DefaultCompactionPlanner.class.getName(), PropertyType.CLASSNAME, - "Compaction planner for metadata table", "2.1.0"), + "Compaction planner for metadata table.", "2.1.0"), TSERV_COMPACTION_SERVICE_META_RATE_LIMIT("tserver.compaction.major.service.meta.rate.limit", "0B", PropertyType.BYTES, "Maximum number of bytes to read or write per second over all major" @@ -675,13 +675,13 @@ public enum Property { "2.1.0"), TSERV_COMPACTION_SERVICE_META_MAX_OPEN( "tserver.compaction.major.service.meta.planner.opts.maxOpen", "30", PropertyType.COUNT, - "The maximum number of files a compaction will open", "2.1.0"), + "The maximum number of files a compaction will open.", "2.1.0"), TSERV_COMPACTION_SERVICE_META_EXECUTORS( "tserver.compaction.major.service.meta.planner.opts.executors", "[{'name':'small','type':'internal','maxSize':'32M','numThreads':2},{'name':'huge','type':'internal','numThreads':2}]" .replaceAll("'", "\""), PropertyType.STRING, - "See {% jlink -f org.apache.accumulo.core.spi.compaction.DefaultCompactionPlanner %} ", + "See {% jlink -f org.apache.accumulo.core.spi.compaction.DefaultCompactionPlanner %}.", "2.1.0"), TSERV_COMPACTION_SERVICE_DEFAULT_PLANNER("tserver.compaction.major.service.default.planner", DefaultCompactionPlanner.class.getName(), PropertyType.CLASSNAME, @@ -693,23 +693,23 @@ public enum Property { "2.1.0"), TSERV_COMPACTION_SERVICE_DEFAULT_MAX_OPEN( "tserver.compaction.major.service.default.planner.opts.maxOpen", "10", PropertyType.COUNT, - "The maximum number of files a compaction will open", "2.1.0"), + "The maximum number of files a compaction will open.", "2.1.0"), TSERV_COMPACTION_SERVICE_DEFAULT_EXECUTORS( "tserver.compaction.major.service.default.planner.opts.executors", "[{'name':'small','type':'internal','maxSize':'32M','numThreads':2},{'name':'medium','type':'internal','maxSize':'128M','numThreads':2},{'name':'large','type':'internal','numThreads':2}]" .replaceAll("'", "\""), PropertyType.STRING, - "See {% jlink -f org.apache.accumulo.core.spi.compaction.DefaultCompactionPlanner %} ", + "See {% jlink -f org.apache.accumulo.core.spi.compaction.DefaultCompactionPlanner %}.", "2.1.0"), @Deprecated(since = "2.1.0", forRemoval = true) @ReplacedBy(property = Property.TSERV_COMPACTION_SERVICE_DEFAULT_MAX_OPEN) TSERV_MAJC_THREAD_MAXOPEN("tserver.compaction.major.thread.files.open.max", "10", - PropertyType.COUNT, "Max number of RFiles a major compaction thread can open at once. ", + PropertyType.COUNT, "Max number of RFiles a major compaction thread can open at once.", "1.4.0"), @Deprecated(since = "2.1.0", forRemoval = true) @ReplacedBy(property = Property.TSERV_COMPACTION_SERVICE_DEFAULT_EXECUTORS) TSERV_MAJC_MAXCONCURRENT("tserver.compaction.major.concurrent.max", "3", PropertyType.COUNT, - "The maximum number of concurrent major compactions for a tablet server", "1.3.5"), + "The maximum number of concurrent major compactions for a tablet server.", "1.3.5"), @Deprecated(since = "2.1.0", forRemoval = true) @ReplacedBy(property = Property.TSERV_COMPACTION_SERVICE_DEFAULT_RATE_LIMIT) TSERV_MAJC_THROUGHPUT("tserver.compaction.major.throughput", "0B", PropertyType.BYTES, @@ -717,15 +717,15 @@ public enum Property { + " compactions within each compaction service, or 0B for unlimited.", "1.8.0"), TSERV_MINC_MAXCONCURRENT("tserver.compaction.minor.concurrent.max", "4", PropertyType.COUNT, - "The maximum number of concurrent minor compactions for a tablet server", "1.3.5"), + "The maximum number of concurrent minor compactions for a tablet server.", "1.3.5"), @Deprecated(since = "2.1.0", forRemoval = true) TSERV_MAJC_TRACE_PERCENT("tserver.compaction.major.trace.percent", "0.1", PropertyType.FRACTION, - "The percent of major compactions to trace", "1.7.0"), + "The percent of major compactions to trace.", "1.7.0"), @Deprecated(since = "2.1.0", forRemoval = true) TSERV_MINC_TRACE_PERCENT("tserver.compaction.minor.trace.percent", "0.1", PropertyType.FRACTION, - "The percent of minor compactions to trace", "1.7.0"), + "The percent of minor compactions to trace.", "1.7.0"), TSERV_COMPACTION_WARN_TIME("tserver.compaction.warn.time", "10m", PropertyType.TIMEDURATION, - "When a compaction has not made progress for this time period, a warning will be logged", + "When a compaction has not made progress for this time period, a warning will be logged.", "1.6.0"), TSERV_BLOOM_LOAD_MAXCONCURRENT("tserver.bloom.load.concurrent.max", "4", PropertyType.COUNT, "The number of concurrent threads that will load bloom filters in the background. " @@ -774,7 +774,7 @@ public enum Property { "The maximum size of a message that can be sent to a tablet server.", "1.6.0"), TSERV_LOG_BUSY_TABLETS_COUNT("tserver.log.busy.tablets.count", "0", PropertyType.COUNT, "Number of busiest tablets to log. Logged at interval controlled by " - + "tserver.log.busy.tablets.interval. If <= 0, logging of busy tablets is disabled", + + "tserver.log.busy.tablets.interval. If <= 0, logging of busy tablets is disabled.", "1.10.0"), TSERV_LOG_BUSY_TABLETS_INTERVAL("tserver.log.busy.tablets.interval", "1h", PropertyType.TIMEDURATION, "Time interval between logging out busy tablets information.", @@ -787,19 +787,19 @@ public enum Property { "1.4.0"), TSERV_WAL_BLOCKSIZE("tserver.wal.blocksize", "0", PropertyType.BYTES, "The size of the HDFS blocks used to write to the Write-Ahead log. If" - + " zero, it will be 110% of tserver.wal.max.size (that is, try to use just" - + " one block)", + + " zero, it will be 110% of `tserver.wal.max.size` (that is, try to use just" + + " one block).", "1.5.0"), TSERV_WAL_REPLICATION("tserver.wal.replication", "0", PropertyType.COUNT, "The replication to use when writing the Write-Ahead log to HDFS. If" + " zero, it will use the HDFS default replication setting.", "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"), + "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"), + "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") @@ -809,7 +809,7 @@ public enum Property { 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" - + " of the sorted recovery files to snappy use 'tserver.wal.sort.file.compress.type=snappy'", + + " of the sorted recovery files to snappy use 'tserver.wal.sort.file.compress.type=snappy'.", "2.1.0"), TSERV_WORKQ_THREADS("tserver.workq.threads", "2", PropertyType.COUNT, "The number of threads for the distributed work queue. These threads are" @@ -823,18 +823,18 @@ public enum Property { PropertyType.TIMEDURATION, "The amount of time an assignment can run before the server will print a" + " warning along with the current stack trace. Meant to help debug stuck" - + " assignments", + + " assignments.", "1.6.2"), @Deprecated(since = "2.1.0") TSERV_REPLICATION_REPLAYERS("tserver.replication.replayer.", null, PropertyType.PREFIX, - "Allows configuration of implementation used to apply replicated data", "1.7.0"), + "Allows configuration of implementation used to apply replicated data.", "1.7.0"), @Deprecated(since = "2.1.0") TSERV_REPLICATION_DEFAULT_HANDLER("tserver.replication.default.replayer", "org.apache.accumulo.tserver.replication.BatchWriterReplicationReplayer", - PropertyType.CLASSNAME, "Default AccumuloReplicationReplayer implementation", "1.7.0"), + PropertyType.CLASSNAME, "Default AccumuloReplicationReplayer implementation.", "1.7.0"), @Deprecated(since = "2.1.0") TSERV_REPLICATION_BW_REPLAYER_MEMORY("tserver.replication.batchwriter.replayer.memory", "50M", - PropertyType.BYTES, "Memory to provide to batchwriter to replay mutations for replication", + PropertyType.BYTES, "Memory to provide to batchwriter to replay mutations for replication.", "1.7.0"), TSERV_ASSIGNMENT_MAXCONCURRENT("tserver.assignment.concurrent.max", "2", PropertyType.COUNT, "The number of threads available to load tablets. Recoveries are still performed serially.", @@ -888,27 +888,27 @@ public enum Property { + "no longer in use are removed from the filesystem.", "1.3.5"), GC_PORT("gc.port.client", "9998", PropertyType.PORT, - "The listening port for the garbage collector's monitor service", "1.3.5"), + "The listening port for the garbage collector's monitor service.", "1.3.5"), GC_DELETE_THREADS("gc.threads.delete", "16", PropertyType.COUNT, - "The number of threads used to delete RFiles and write-ahead logs", "1.3.5"), + "The number of threads used to delete RFiles and write-ahead logs.", "1.3.5"), @Experimental GC_REMOVE_IN_USE_CANDIDATES("gc.remove.in.use.candidates", "false", PropertyType.BOOLEAN, "GC will remove deletion candidates that are in-use from the metadata location. " - + "This is expected to increase the speed of subsequent GC runs", + + "This is expected to increase the speed of subsequent GC runs.", "2.1.3"), @Deprecated(since = "2.1.1", forRemoval = true) 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"), + "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"), + "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, "When the gc runs it can make a lot of changes to the metadata, on completion, " + " to force the changes to be written to disk, the metadata and root tables can be flushed" + " 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", + + " 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, @@ -918,14 +918,14 @@ public enum Property { MONITOR_PREFIX("monitor.", null, PropertyType.PREFIX, "Properties in this category affect the behavior of the monitor web server.", "1.3.5"), MONITOR_PORT("monitor.port.client", "9995", PropertyType.PORT, - "The listening port for the monitor's http service", "1.3.5"), + "The listening port for the monitor's http service.", "1.3.5"), MONITOR_SSL_KEYSTORE("monitor.ssl.keyStore", "", PropertyType.PATH, "The keystore for enabling monitor SSL.", "1.5.0"), @Sensitive MONITOR_SSL_KEYSTOREPASS("monitor.ssl.keyStorePassword", "", PropertyType.STRING, "The keystore password for enabling monitor SSL.", "1.5.0"), MONITOR_SSL_KEYSTORETYPE("monitor.ssl.keyStoreType", "jks", PropertyType.STRING, - "Type of SSL keystore", "1.7.0"), + "Type of SSL keystore.", "1.7.0"), @Sensitive MONITOR_SSL_KEYPASS("monitor.ssl.keyPassword", "", PropertyType.STRING, "Optional: the password for the private key in the keyStore. When not provided, this " @@ -937,19 +937,19 @@ public enum Property { MONITOR_SSL_TRUSTSTOREPASS("monitor.ssl.trustStorePassword", "", PropertyType.STRING, "The truststore password for enabling monitor SSL.", "1.5.0"), MONITOR_SSL_TRUSTSTORETYPE("monitor.ssl.trustStoreType", "jks", PropertyType.STRING, - "Type of SSL truststore", "1.7.0"), + "Type of SSL truststore.", "1.7.0"), MONITOR_SSL_INCLUDE_CIPHERS("monitor.ssl.include.ciphers", "", PropertyType.STRING, "A comma-separated list of allows SSL Ciphers, see" - + " monitor.ssl.exclude.ciphers to disallow ciphers", + + " monitor.ssl.exclude.ciphers to disallow ciphers.", "1.6.1"), MONITOR_SSL_EXCLUDE_CIPHERS("monitor.ssl.exclude.ciphers", "", PropertyType.STRING, "A comma-separated list of disallowed SSL Ciphers, see" - + " monitor.ssl.include.ciphers to allow ciphers", + + " monitor.ssl.include.ciphers to allow ciphers.", "1.6.1"), MONITOR_SSL_INCLUDE_PROTOCOLS("monitor.ssl.include.protocols", "TLSv1.2", PropertyType.STRING, - "A comma-separate list of allowed SSL protocols", "1.5.3"), + "A comma-separate list of allowed SSL protocols.", "1.5.3"), MONITOR_LOCK_CHECK_INTERVAL("monitor.lock.check.interval", "5s", PropertyType.TIMEDURATION, - "The amount of time to sleep between checking for the Monitor ZooKeeper lock", "1.5.1"), + "The amount of time to sleep between checking for the Monitor ZooKeeper lock.", "1.5.1"), MONITOR_RESOURCES_EXTERNAL("monitor.resources.external", "", PropertyType.STRING, "A JSON Map of Strings. Each String should be an HTML tag of an external" + " resource (JS or CSS) to be imported by the Monitor. Be sure to wrap" @@ -957,33 +957,33 @@ public enum Property { + " in the `<head>` tag of the Monitor will be replaced with the tags set here." + " Be sure the jquery tag is first since other scripts will depend on it." + " The resources that are used by default can be seen in" - + " accumulo/server/monitor/src/main/resources/templates/default.ftl", + + " `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"), + 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"), + "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"), + "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"), + "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"), + "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"), + "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"), + "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, @@ -992,7 +992,7 @@ public enum Property { "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"), + "An AuthenticationToken type supported by the authorizer.", "1.5.0"), // per table properties TABLE_PREFIX("table.", null, PropertyType.PREFIX, @@ -1020,7 +1020,7 @@ public enum Property { "2.1.1"), TABLE_MAJC_RATIO("table.compaction.major.ratio", "3", PropertyType.FRACTION, "Minimum ratio of total input size to maximum input RFile size for" - + " running a major compaction. ", + + " running a major compaction.", "1.3.5"), @Deprecated(since = "2.1.0", forRemoval = true) TABLE_MAJC_COMPACTALL_IDLETIME("table.compaction.major.everything.idle", "1h", @@ -1034,7 +1034,7 @@ public enum Property { TABLE_SPLIT_THRESHOLD("table.split.threshold", "1G", PropertyType.BYTES, "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"), + "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, @@ -1049,7 +1049,7 @@ public enum Property { "A configurable dispatcher that decides what compaction service a table should use.", "2.1.0"), TABLE_COMPACTION_DISPATCHER_OPTS("table.compaction.dispatcher.opts.", null, PropertyType.PREFIX, - "Options for the table compaction dispatcher", "2.1.0"), + "Options for the table compaction dispatcher.", "2.1.0"), TABLE_COMPACTION_SELECTION_EXPIRATION("table.compaction.selection.expiration.ms", "2m", PropertyType.TIMEDURATION, "User compactions select files and are then queued for compaction, preventing these files " @@ -1063,17 +1063,17 @@ public enum Property { + "compaction, even if the files do not meet the compaction ratio.", "2.1.0"), TABLE_COMPACTION_SELECTOR_OPTS("table.compaction.selector.opts.", null, PropertyType.PREFIX, - "Options for the table compaction dispatcher", "2.1.0"), + "Options for the table compaction dispatcher.", "2.1.0"), TABLE_COMPACTION_CONFIGURER("table.compaction.configurer", "", PropertyType.CLASSNAME, "A plugin that can dynamically configure compaction output files based on input files.", "2.1.0"), TABLE_COMPACTION_CONFIGURER_OPTS("table.compaction.configurer.opts.", null, PropertyType.PREFIX, - "Options for the table compaction configuror", "2.1.0"), + "Options for the table compaction configuror.", "2.1.0"), @Deprecated(since = "2.1.0", forRemoval = true) @ReplacedBy(property = TABLE_COMPACTION_SELECTOR) TABLE_COMPACTION_STRATEGY("table.majc.compaction.strategy", "org.apache.accumulo.tserver.compaction.DefaultCompactionStrategy", PropertyType.CLASSNAME, - "See {% jlink -f org.apache.accumulo.core.spi.compaction}", "1.6.0"), + "See {% jlink -f org.apache.accumulo.core.spi.compaction %}.", "1.6.0"), @Deprecated(since = "2.1.0", forRemoval = true) @ReplacedBy(property = TABLE_COMPACTION_SELECTOR_OPTS) TABLE_COMPACTION_STRATEGY_PREFIX("table.majc.compaction.strategy.opts.", null, @@ -1090,27 +1090,27 @@ public enum Property { TABLE_SCAN_DISPATCHER("table.scan.dispatcher", SimpleScanDispatcher.class.getName(), PropertyType.CLASSNAME, "This class is used to dynamically dispatch scans to configured scan executors. Configured " - + "classes must implement {% jlink " + ScanDispatcher.class.getName() + " %} See " + + "classes must implement {% jlink " + ScanDispatcher.class.getName() + " %}. See " + "[scan executors]({% durl administration/scan-executors %}) for an overview of why" + " and how to use this property. This property is ignored for the root and metadata" + " table. The metadata table always dispatches to a scan executor named `meta`.", "2.0.0"), TABLE_SCAN_DISPATCHER_OPTS("table.scan.dispatcher.opts.", null, PropertyType.PREFIX, - "Options for the table scan dispatcher", "2.0.0"), + "Options for the table scan dispatcher.", "2.0.0"), TABLE_SCAN_MAXMEM("table.scan.max.memory", "512k", PropertyType.BYTES, "The maximum amount of memory that will be used to cache results of a client query/scan. " + "Once this limit is reached, the buffered data is sent to the client.", "1.3.5"), TABLE_FILE_TYPE("table.file.type", RFile.EXTENSION, PropertyType.FILENAME_EXT, - "Change the type of file a table writes", "1.3.5"), + "Change the type of file a table writes.", "1.3.5"), TABLE_LOAD_BALANCER("table.balancer", "org.apache.accumulo.core.spi.balancer.SimpleLoadBalancer", PropertyType.STRING, "This property can be set to allow the LoadBalanceByTable load balancer" - + " to change the called Load Balancer for this table", + + " to change the called Load Balancer for this table.", "1.3.5"), TABLE_FILE_COMPRESSION_TYPE("table.file.compress.type", "gz", PropertyType.STRING, "Compression algorithm used on index and data blocks before they are" - + " written. Possible values: zstd, gz, snappy, bzip2, lzo, lz4, none", + + " written. Possible values: zstd, gz, snappy, bzip2, lzo, lz4, none.", "1.3.5"), TABLE_FILE_COMPRESSED_BLOCK_SIZE("table.file.compress.blocksize", "100k", PropertyType.BYTES, "The maximum size of data blocks in RFiles before they are compressed and written.", "1.3.5"), @@ -1159,13 +1159,13 @@ public enum Property { + " org.apache.accumulo.core.file.keyfunctor.ColumnFamilyFunctor, and" + " org.apache.accumulo.core.file.keyfunctor.ColumnQualifierFunctor are" + " allowable values. One can extend any of the above mentioned classes to" - + " perform specialized parsing of the key. ", + + " perform specialized parsing of the key.", "1.3.5"), TABLE_BLOOM_HASHTYPE("table.bloom.hash.type", "murmur", PropertyType.STRING, - "The bloom filter hash type", "1.3.5"), + "The bloom filter hash type.", "1.3.5"), TABLE_BULK_MAX_TABLETS("table.bulk.max.tablets", "0", PropertyType.COUNT, "The maximum number of tablets allowed for one bulk import file. Value of 0 is Unlimited. " - + "This property is only enforced in the new bulk import API", + + "This property is only enforced in the new bulk import API.", "2.1.0"), TABLE_DURABILITY("table.durability", "sync", PropertyType.DURABILITY, "The durability used to write to the write-ahead log. Legal values are:" @@ -1201,7 +1201,7 @@ public enum Property { + " prefix, followed by a number, and their values correspond to a fully" + " qualified Java class that implements the Constraint interface.\nFor example:\n" + "table.constraint.1 = org.apache.accumulo.core.constraints.MyCustomConstraint\n" - + "and:\n table.constraint.2 = my.package.constraints.MySecondConstraint", + + "and:\n table.constraint.2 = my.package.constraints.MySecondConstraint.", "1.3.5"), TABLE_INDEXCACHE_ENABLED("table.cache.index.enable", "true", PropertyType.BOOLEAN, "Determines whether index block cache is enabled for a table.", "1.3.5"), @@ -1219,16 +1219,16 @@ public enum Property { + "These iterators can take options if additional properties are set that" + " look like this property, but are suffixed with a period, followed by 'opt'" + " followed by another period, and a property name.\n" - + "For example, table.iterator.minc.vers.opt.maxVersions = 3", + + "For example, table.iterator.minc.vers.opt.maxVersions = 3.", "1.3.5"), TABLE_ITERATOR_SCAN_PREFIX(TABLE_ITERATOR_PREFIX.getKey() + IteratorScope.scan.name() + ".", null, - PropertyType.PREFIX, "Convenience prefix to find options for the scan iterator scope", + PropertyType.PREFIX, "Convenience prefix to find options for the scan iterator scope.", "1.5.2"), TABLE_ITERATOR_MINC_PREFIX(TABLE_ITERATOR_PREFIX.getKey() + IteratorScope.minc.name() + ".", null, - PropertyType.PREFIX, "Convenience prefix to find options for the minc iterator scope", + PropertyType.PREFIX, "Convenience prefix to find options for the minc iterator scope.", "1.5.2"), TABLE_ITERATOR_MAJC_PREFIX(TABLE_ITERATOR_PREFIX.getKey() + IteratorScope.majc.name() + ".", null, - PropertyType.PREFIX, "Convenience prefix to find options for the majc iterator scope", + PropertyType.PREFIX, "Convenience prefix to find options for the majc iterator scope.", "1.5.2"), TABLE_LOCALITY_GROUP_PREFIX("table.group.", null, PropertyType.PREFIX, "Properties in this category are per-table properties that define" @@ -1242,7 +1242,7 @@ public enum Property { + " `table.group.<name>.opt.<key>=<value>`.", "1.3.5"), TABLE_FORMATTER_CLASS("table.formatter", DefaultFormatter.class.getName(), PropertyType.STRING, - "The Formatter class to apply on results in the shell", "1.4.0"), + "The Formatter class to apply on results in the shell.", "1.4.0"), @Deprecated(since = "2.1.0") TABLE_INTERPRETER_CLASS("table.interepreter", org.apache.accumulo.core.util.interpret.DefaultScanInterpreter.class.getName(), @@ -1256,17 +1256,17 @@ public enum Property { "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_CLASSPATH("table.classpath.context", "", PropertyType.STRING, + "Per table classpath context.", "1.5.0"), @Deprecated(since = "2.1.0") TABLE_REPLICATION("table.replication", "false", PropertyType.BOOLEAN, - "Is replication enabled for the given table", "1.7.0"), + "Is replication enabled for the given table.", "1.7.0"), @Deprecated(since = "2.1.0") TABLE_REPLICATION_TARGET("table.replication.target.", null, PropertyType.PREFIX, "Enumerate a mapping of other systems which this table should replicate" + " their data to. The key suffix is the identifying cluster name and the" + " value is an identifier for a location on the target system, e.g. the ID" - + " of the table on the target to replicate to", + + " of the table on the target to replicate to.", "1.7.0"), TABLE_SAMPLER("table.sampler", "", PropertyType.CLASSNAME, "The name of a class that implements org.apache.accumulo.core.Sampler." @@ -1354,53 +1354,53 @@ public enum Property { "1.7.0"), @Deprecated(since = "2.1.0") REPLICATION_PEERS("replication.peer.", null, PropertyType.PREFIX, - "Properties in this category control what systems data can be replicated to", "1.7.0"), + "Properties in this category control what systems data can be replicated to.", "1.7.0"), @Deprecated(since = "2.1.0") REPLICATION_PEER_USER("replication.peer.user.", null, PropertyType.PREFIX, - "The username to provide when authenticating with the given peer", "1.7.0"), + "The username to provide when authenticating with the given peer.", "1.7.0"), @Sensitive @Deprecated(since = "2.1.0") REPLICATION_PEER_PASSWORD("replication.peer.password.", null, PropertyType.PREFIX, - "The password to provide when authenticating with the given peer", "1.7.0"), + "The password to provide when authenticating with the given peer.", "1.7.0"), @Deprecated(since = "2.1.0") REPLICATION_PEER_KEYTAB("replication.peer.keytab.", null, PropertyType.PREFIX, - "The keytab to use when authenticating with the given peer", "1.7.0"), + "The keytab to use when authenticating with the given peer.", "1.7.0"), @Deprecated(since = "2.1.0") REPLICATION_NAME("replication.name", "", PropertyType.STRING, "Name of this cluster with respect to replication. Used to identify this" - + " instance from other peers", + + " instance from other peers.", "1.7.0"), @Deprecated(since = "2.1.0") REPLICATION_MAX_WORK_QUEUE("replication.max.work.queue", "1000", PropertyType.COUNT, - "Upper bound of the number of files queued for replication", "1.7.0"), + "Upper bound of the number of files queued for replication.", "1.7.0"), @Deprecated(since = "2.1.0") REPLICATION_WORK_ASSIGNMENT_SLEEP("replication.work.assignment.sleep", "30s", - PropertyType.TIMEDURATION, "Amount of time to sleep between replication work assignment", + PropertyType.TIMEDURATION, "Amount of time to sleep between replication work assignment.", "1.7.0"), @Deprecated(since = "2.1.0") REPLICATION_WORKER_THREADS("replication.worker.threads", "4", PropertyType.COUNT, - "Size of the threadpool that each tabletserver devotes to replicating data", "1.7.0"), + "Size of the threadpool that each tabletserver devotes to replicating data.", "1.7.0"), @Deprecated(since = "2.1.0") REPLICATION_RECEIPT_SERVICE_PORT("replication.receipt.service.port", "10002", PropertyType.PORT, - "Listen port used by thrift service in tserver listening for replication", "1.7.0"), + "Listen port used by thrift service in tserver listening for replication.", "1.7.0"), @Deprecated(since = "2.1.0") REPLICATION_WORK_ATTEMPTS("replication.work.attempts", "10", PropertyType.COUNT, "Number of attempts to try to replicate some data before giving up and" - + " letting it naturally be retried later", + + " letting it naturally be retried later.", "1.7.0"), @Deprecated(since = "2.1.0") REPLICATION_MIN_THREADS("replication.receiver.min.threads", "1", PropertyType.COUNT, - "Minimum number of threads for replication", "1.7.0"), + "Minimum number of threads for replication.", "1.7.0"), @Deprecated(since = "2.1.0") REPLICATION_THREADCHECK("replication.receiver.threadcheck.time", "30s", PropertyType.TIMEDURATION, "The time between adjustments of the replication thread pool.", "1.7.0"), @Deprecated(since = "2.1.0") REPLICATION_MAX_UNIT_SIZE("replication.max.unit.size", "64M", PropertyType.BYTES, - "Maximum size of data to send in a replication message", "1.7.0"), + "Maximum size of data to send in a replication message.", "1.7.0"), @Deprecated(since = "2.1.0") REPLICATION_WORK_ASSIGNER("replication.work.assigner", "org.apache.accumulo.manager.replication.UnorderedWorkAssigner", PropertyType.CLASSNAME, - "Replication WorkAssigner implementation to use", "1.7.0"), + "Replication WorkAssigner implementation to use.", "1.7.0"), @Deprecated(since = "2.1.0") REPLICATION_DRIVER_DELAY("replication.driver.delay", "0s", PropertyType.TIMEDURATION, "Amount of time to wait before the replication work loop begins in the manager.", "1.7.0"), @@ -1408,17 +1408,17 @@ public enum Property { REPLICATION_WORK_PROCESSOR_DELAY("replication.work.processor.delay", "0s", PropertyType.TIMEDURATION, "Amount of time to wait before first checking for replication work, not" - + " useful outside of tests", + + " useful outside of tests.", "1.7.0"), @Deprecated(since = "2.1.0") REPLICATION_WORK_PROCESSOR_PERIOD("replication.work.processor.period", "0s", PropertyType.TIMEDURATION, "Amount of time to wait before re-checking for replication work, not" - + " useful outside of tests", + + " useful outside of tests.", "1.7.0"), @Deprecated(since = "2.1.0", forRemoval = true) REPLICATION_TRACE_PERCENT("replication.trace.percent", "0.1", PropertyType.FRACTION, - "The sampling percentage to use for replication traces", "1.7.0"), + "The sampling percentage to use for replication traces.", "1.7.0"), @Deprecated(since = "2.1.0") REPLICATION_RPC_TIMEOUT("replication.rpc.timeout", "2m", PropertyType.TIMEDURATION, "Amount of time for a single replication RPC call to last before failing" @@ -1430,11 +1430,11 @@ public enum Property { "Properties in this category affect the behavior of the accumulo compactor server.", "2.1.0"), @Experimental COMPACTOR_PORTSEARCH("compactor.port.search", "false", PropertyType.BOOLEAN, - "If the compactor.port.client is in use, search higher ports until one is available", + "If the compactor.port.client is in use, search higher ports until one is available.", "2.1.0"), @Experimental COMPACTOR_CLIENTPORT("compactor.port.client", "9133", PropertyType.PORT, - "The port used for handling client connections on the compactor servers", "2.1.0"), + "The port used for handling client connections on the compactor servers.", "2.1.0"), @Experimental COMPACTOR_MINTHREADS("compactor.threads.minimum", "1", PropertyType.COUNT, "The minimum number of threads to use to handle incoming requests.", "2.1.0"), @@ -1456,10 +1456,10 @@ public enum Property { @Experimental COMPACTION_COORDINATOR_THRIFTCLIENT_PORTSEARCH("compaction.coordinator.port.search", "false", PropertyType.BOOLEAN, - "If the ports above are in use, search higher ports until one is available", "2.1.0"), + "If the ports above are in use, search higher ports until one is available.", "2.1.0"), @Experimental COMPACTION_COORDINATOR_CLIENTPORT("compaction.coordinator.port.client", "9132", PropertyType.PORT, - "The port used for handling Thrift client connections on the compaction coordinator server", + "The port used for handling Thrift client connections on the compaction coordinator server.", "2.1.0"), @Experimental COMPACTION_COORDINATOR_MINTHREADS("compaction.coordinator.threads.minimum", "1", @@ -1537,7 +1537,7 @@ public enum Property { 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.\"", + + "per tserver.", "1.3.5"), @Deprecated(since = "2.0.0") @ReplacedBy(property = TSERV_SCAN_EXECUTORS_META_THREADS) 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 593b4996ff..0d147cf7d0 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 @@ -69,6 +69,10 @@ public class PropertyTest { assertFalse(prop.getDescription() == null || prop.getDescription().isEmpty(), "Description not set for " + prop); + // make sure property description ends with a period + assertTrue(prop.getDescription().endsWith("."), + "Property: " + prop.getKey() + " description does not end with period."); + // make sure property starts with valid prefix boolean containsValidPrefix = false; for (String pre : validPrefixes) {