diff --git a/core/src/main/java/org/apache/accumulo/core/conf/ConfigurationDocGen.java b/core/src/main/java/org/apache/accumulo/core/conf/ConfigurationDocGen.java index 4595123deb7..a216dfdd63b 100644 --- a/core/src/main/java/org/apache/accumulo/core/conf/ConfigurationDocGen.java +++ b/core/src/main/java/org/apache/accumulo/core/conf/ConfigurationDocGen.java @@ -22,6 +22,7 @@ import java.io.IOException; import java.io.PrintStream; +import java.util.Map; import java.util.TreeMap; /** @@ -48,6 +49,11 @@ void generate() { beginTable("Type"); propertyTypeDescriptions(); + beginSection("Java System Properties"); + doc.println("Below are properties used to modify the runtime behavior.\n"); + beginTable("Property"); + systemPropertyDescriptions(); + doc.close(); } @@ -144,6 +150,12 @@ void propertyTypeDescriptions() { } } + void systemPropertyDescriptions() { + Map systemProps = Property.getSystemProperties(); + systemProps.forEach( + (key, value) -> doc.println("| " + sanitize(key) + " | " + sanitize(value) + " |")); + } + String sanitize(String str) { return str.replace("\n", "
"); } 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 ad738587091..6d9f2052c59 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 @@ -26,6 +26,7 @@ import java.util.EnumSet; import java.util.HashMap; import java.util.HashSet; +import java.util.Map; import java.util.Objects; import java.util.Set; import java.util.function.Predicate; @@ -38,8 +39,14 @@ import org.apache.accumulo.core.iterators.IteratorUtil.IteratorScope; import org.apache.accumulo.core.iteratorsImpl.system.DeletingIterator; import org.apache.accumulo.core.metadata.SystemTables; +import org.apache.accumulo.core.rpc.clients.TServerClient; import org.apache.accumulo.core.spi.compaction.RatioBasedCompactionPlanner; import org.apache.accumulo.core.spi.compaction.SimpleCompactionDispatcher; +import org.apache.accumulo.core.spi.file.rfile.compression.Bzip2; +import org.apache.accumulo.core.spi.file.rfile.compression.Lz4; +import org.apache.accumulo.core.spi.file.rfile.compression.Lzo; +import org.apache.accumulo.core.spi.file.rfile.compression.Snappy; +import org.apache.accumulo.core.spi.file.rfile.compression.ZStandard; import org.apache.accumulo.core.spi.fs.RandomVolumeChooser; import org.apache.accumulo.core.spi.scan.ScanDispatcher; import org.apache.accumulo.core.spi.scan.ScanPrioritizer; @@ -1861,6 +1868,26 @@ public static T createInstanceFromPropertyName(AccumuloConfiguration conf, P return ConfigurationTypeHelper.getClassInstance(null, clazzName, base, defaultInstance); } + /** + * A set Map of identified System Properties to be used in ConfigurationDocGen.java + * + * @return A Map of each property's value and description as Strings + */ + public static Map getSystemProperties() { + Map systemProps = new HashMap<>(Map.of()); + systemProps.put(TServerClient.DEBUG_HOST, + "Set to host:port for the client to connect to a specific server."); + systemProps.put(SiteConfiguration.ACCUMULO_PROPERTIES_PROPERTY, + "Path to accumulo.properties file."); + systemProps.put(Bzip2.CODEC_BZIP2, "BZip2 Codec Compression Algorithm."); + systemProps.put(Lz4.CODEC_LZ4, "LZ4 Codec Compression Algorithm."); + systemProps.put(Lzo.CODEC_LZO, "LZO Codec Compression Algorithm."); + systemProps.put(Snappy.CODEC_SNAPPY, "Snappy Codec Compression Algorithm."); + systemProps.put(ZStandard.CODEC_ZSTANDARD, "ZStandard Codec Compression Algorithm."); + + return systemProps; + } + static { // Precomputing information here avoids : // * Computing it each time a method is called diff --git a/core/src/main/java/org/apache/accumulo/core/spi/file/rfile/compression/Bzip2.java b/core/src/main/java/org/apache/accumulo/core/spi/file/rfile/compression/Bzip2.java index 4f813da5eb3..6548bd2c1e3 100644 --- a/core/src/main/java/org/apache/accumulo/core/spi/file/rfile/compression/Bzip2.java +++ b/core/src/main/java/org/apache/accumulo/core/spi/file/rfile/compression/Bzip2.java @@ -20,6 +20,8 @@ public class Bzip2 implements CompressionAlgorithmConfiguration { + public static final String CODEC_BZIP2 = "io.compression.codec.bzip2.class"; + @Override public String getName() { return "bzip2"; @@ -32,7 +34,7 @@ public String getCodecClassName() { @Override public String getCodecClassNameProperty() { - return "io.compression.codec.bzip2.class"; + return CODEC_BZIP2; } @Override diff --git a/core/src/main/java/org/apache/accumulo/core/spi/file/rfile/compression/Lz4.java b/core/src/main/java/org/apache/accumulo/core/spi/file/rfile/compression/Lz4.java index 274e3f3f4ac..4ac2790f416 100644 --- a/core/src/main/java/org/apache/accumulo/core/spi/file/rfile/compression/Lz4.java +++ b/core/src/main/java/org/apache/accumulo/core/spi/file/rfile/compression/Lz4.java @@ -20,6 +20,8 @@ public class Lz4 implements CompressionAlgorithmConfiguration { + public static final String CODEC_LZ4 = "io.compression.codec.lz4.class"; + @Override public String getName() { return "lz4"; @@ -32,7 +34,7 @@ public String getCodecClassName() { @Override public String getCodecClassNameProperty() { - return "io.compression.codec.lz4.class"; + return CODEC_LZ4; } @Override diff --git a/core/src/main/java/org/apache/accumulo/core/spi/file/rfile/compression/Lzo.java b/core/src/main/java/org/apache/accumulo/core/spi/file/rfile/compression/Lzo.java index 0c20138f02b..0af52d9e601 100644 --- a/core/src/main/java/org/apache/accumulo/core/spi/file/rfile/compression/Lzo.java +++ b/core/src/main/java/org/apache/accumulo/core/spi/file/rfile/compression/Lzo.java @@ -20,6 +20,8 @@ public class Lzo implements CompressionAlgorithmConfiguration { + public static final String CODEC_LZO = "io.compression.codec.lzo.class"; + @Override public String getName() { return "lzo"; @@ -32,7 +34,7 @@ public String getCodecClassName() { @Override public String getCodecClassNameProperty() { - return "io.compression.codec.lzo.class"; + return CODEC_LZO; } @Override diff --git a/core/src/main/java/org/apache/accumulo/core/spi/file/rfile/compression/Snappy.java b/core/src/main/java/org/apache/accumulo/core/spi/file/rfile/compression/Snappy.java index 173afa48c9e..5636ae55f1b 100644 --- a/core/src/main/java/org/apache/accumulo/core/spi/file/rfile/compression/Snappy.java +++ b/core/src/main/java/org/apache/accumulo/core/spi/file/rfile/compression/Snappy.java @@ -19,6 +19,7 @@ package org.apache.accumulo.core.spi.file.rfile.compression; public class Snappy implements CompressionAlgorithmConfiguration { + public static final String CODEC_SNAPPY = "io.compression.codec.snappy.class"; @Override public String getName() { @@ -32,7 +33,7 @@ public String getCodecClassName() { @Override public String getCodecClassNameProperty() { - return "io.compression.codec.snappy.class"; + return CODEC_SNAPPY; } @Override diff --git a/core/src/main/java/org/apache/accumulo/core/spi/file/rfile/compression/ZStandard.java b/core/src/main/java/org/apache/accumulo/core/spi/file/rfile/compression/ZStandard.java index 1b21845e171..74daac6adad 100644 --- a/core/src/main/java/org/apache/accumulo/core/spi/file/rfile/compression/ZStandard.java +++ b/core/src/main/java/org/apache/accumulo/core/spi/file/rfile/compression/ZStandard.java @@ -20,6 +20,8 @@ public class ZStandard implements CompressionAlgorithmConfiguration { + public static final String CODEC_ZSTANDARD = "io.compression.codec.zstd.class"; + @Override public String getName() { return "zstd"; @@ -32,7 +34,7 @@ public String getCodecClassName() { @Override public String getCodecClassNameProperty() { - return "io.compression.codec.zstd.class"; + return CODEC_ZSTANDARD; } @Override