This is an automated email from the ASF dual-hosted git repository. kturner pushed a commit to branch 3.1 in repository https://gitbox.apache.org/repos/asf/accumulo.git
The following commit(s) were added to refs/heads/3.1 by this push: new e954854990 deprecates table.compaction.minor.idle property (#4854) e954854990 is described below commit e954854990d77644baa2358358d8d5b348109772 Author: Keith Turner <ktur...@apache.org> AuthorDate: Mon Sep 9 14:27:33 2024 -0400 deprecates table.compaction.minor.idle property (#4854) Also changed the default value of replacement property to what it should be once the deprecated property is removed. For details on why the property was deprecated see : https://github.com/apache/accumulo/pull/4853#issuecomment-2330214458 --- .../main/java/org/apache/accumulo/core/conf/Property.java | 14 +++++++++----- .../accumulo/tserver/memory/LargestFirstMemoryManager.java | 1 + .../org/apache/accumulo/test/ScanServerMaxLatencyIT.java | 5 ++++- .../accumulo/test/functional/ManyWriteAheadLogsIT.java | 5 ++++- 4 files changed, 18 insertions(+), 7 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 d31f889fe1..88975feb2c 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 @@ -907,11 +907,7 @@ 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"), - TABLE_MINC_COMPACT_IDLETIME("table.compaction.minor.idle", "5m", PropertyType.TIMEDURATION, - "When the age of the youngest key value in a tablets in memory map exceeds this configuration, then" - + " a minor compaction may be initiated. There is no guarantee an idle tablet will be compacted.", - "1.3.5"), - TABLE_MINC_COMPACT_MAXAGE("table.compaction.minor.age", "365000d", PropertyType.TIMEDURATION, + TABLE_MINC_COMPACT_MAXAGE("table.compaction.minor.age", "10m", PropertyType.TIMEDURATION, "Key values written to a tablet are temporarily stored in a per tablet in memory map. When " + "the age of the oldest key value in a tablets in memory map exceeds this configuration, then " + "a minor compaction may be initiated. This determines the maximum amount of time new data can " @@ -921,6 +917,14 @@ public enum Property { + "server to see a write to a tablet server. The default value of this property is set to such a " + "high value that is should never cause a minor compaction.", "3.1.0"), + @Deprecated(since = "3.1.0") + @ReplacedBy(property = TABLE_MINC_COMPACT_MAXAGE) + TABLE_MINC_COMPACT_IDLETIME("table.compaction.minor.idle", "5m", PropertyType.TIMEDURATION, + "When the age of the youngest key value in a tablets in memory map exceeds this configuration, then" + + " a minor compaction may be initiated. There is no guarantee an idle tablet will be compacted." + + "This property was deprecated because the new property table.compaction.minor.age can offer the " + + " same functionality although it may cause more minor compactions than this property would have.", + "1.3.5"), TABLE_COMPACTION_DISPATCHER("table.compaction.dispatcher", SimpleCompactionDispatcher.class.getName(), PropertyType.CLASSNAME, "A configurable dispatcher that decides what compaction service a table should use.", diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/memory/LargestFirstMemoryManager.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/memory/LargestFirstMemoryManager.java index d9fa972b92..ad66b4a848 100644 --- a/server/tserver/src/main/java/org/apache/accumulo/tserver/memory/LargestFirstMemoryManager.java +++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/memory/LargestFirstMemoryManager.java @@ -142,6 +142,7 @@ public class LargestFirstMemoryManager { maxObserved = 0; } + @SuppressWarnings("deprecation") protected long getMinCIdleThreshold(KeyExtent extent) { TableId tableId = extent.tableId(); if (!mincIdleThresholds.containsKey(tableId)) { diff --git a/test/src/main/java/org/apache/accumulo/test/ScanServerMaxLatencyIT.java b/test/src/main/java/org/apache/accumulo/test/ScanServerMaxLatencyIT.java index 3e4ad77b17..7f9e2e0eeb 100644 --- a/test/src/main/java/org/apache/accumulo/test/ScanServerMaxLatencyIT.java +++ b/test/src/main/java/org/apache/accumulo/test/ScanServerMaxLatencyIT.java @@ -57,6 +57,9 @@ public class ScanServerMaxLatencyIT extends ConfigurableMacBase { cfg.setProperty(Property.SSERV_CACHED_TABLET_METADATA_EXPIRATION, "2s"); } + @SuppressWarnings("deprecation") + private static Property IDLE_MINC_PROP = Property.TABLE_MINC_COMPACT_IDLETIME; + @Test public void testMaxLatency() throws Exception { final String[] tables = this.getUniqueNames(4); @@ -78,7 +81,7 @@ public class ScanServerMaxLatencyIT extends ConfigurableMacBase { client.tableOperations().create(table1, ntc); client.tableOperations().create(table2); ntc = new NewTableConfiguration(); - ntc.setProperties(Map.of(Property.TABLE_MINC_COMPACT_IDLETIME.getKey(), "2s")); + ntc.setProperties(Map.of(IDLE_MINC_PROP.getKey(), "2s")); client.tableOperations().create(table3, ntc); ntc = new NewTableConfiguration(); ntc.setProperties(Map.of(Property.TABLE_MINC_COMPACT_MAXAGE.getKey(), "3s")); diff --git a/test/src/main/java/org/apache/accumulo/test/functional/ManyWriteAheadLogsIT.java b/test/src/main/java/org/apache/accumulo/test/functional/ManyWriteAheadLogsIT.java index 12ff411247..518cb96bd5 100644 --- a/test/src/main/java/org/apache/accumulo/test/functional/ManyWriteAheadLogsIT.java +++ b/test/src/main/java/org/apache/accumulo/test/functional/ManyWriteAheadLogsIT.java @@ -56,6 +56,9 @@ public class ManyWriteAheadLogsIT extends AccumuloClusterHarness { private String majcDelay, walSize; + @SuppressWarnings("deprecation") + private static Property IDLE_MINC_PROP = Property.TABLE_MINC_COMPACT_IDLETIME; + @Override public void configureMiniCluster(MiniAccumuloConfigImpl cfg, Configuration hadoopCoreSite) { // configure a smaller wal size so the wals will roll frequently in the test @@ -68,7 +71,7 @@ public class ManyWriteAheadLogsIT extends AccumuloClusterHarness { // idle compactions may addess the problem this test is creating, however they will not prevent // lots of closed WALs for all write patterns. This test ensures code that directly handles many // tablets referencing many different WALs is working. - cfg.setProperty(Property.TABLE_MINC_COMPACT_IDLETIME, "1h"); + cfg.setProperty(IDLE_MINC_PROP, "1h"); cfg.setNumTservers(1); hadoopCoreSite.set("fs.file.impl", RawLocalFileSystem.class.getName()); }