This is an automated email from the ASF dual-hosted git repository.
kturner pushed a commit to branch elasticity
in repository https://gitbox.apache.org/repos/asf/accumulo.git
The following commit(s) were added to refs/heads/elasticity by this push:
new 016dda7ffe removes selector compactions (#4397)
016dda7ffe is described below
commit 016dda7ffe6f67a096af38a9e6f23133747c7c2c
Author: Keith Turner <[email protected]>
AuthorDate: Wed Apr 17 16:02:00 2024 -0400
removes selector compactions (#4397)
Co-authored-by: Daniel Roberts <[email protected]>
---
.../core/client/admin/compaction/CompactionSelector.java | 3 +--
core/src/main/java/org/apache/accumulo/core/conf/Property.java | 9 +--------
.../apache/accumulo/core/spi/compaction/CompactionKind.java | 6 ------
.../core/spi/compaction/RatioBasedCompactionPlanner.java | 10 ++++------
.../accumulo/core/tabletserver/thrift/TCompactionKind.java | 3 ---
core/src/main/thrift/tabletserver.thrift | 6 +++---
.../core/util/compaction/CompactionPrioritizerTest.java | 4 ++--
.../src/main/java/org/apache/accumulo/compactor/ExtCEnv.java | 1 -
.../manager/compaction/coordinator/CompactionCoordinator.java | 2 --
.../compaction/coordinator/commit/CommitCompaction.java | 4 ++--
10 files changed, 13 insertions(+), 35 deletions(-)
diff --git
a/core/src/main/java/org/apache/accumulo/core/client/admin/compaction/CompactionSelector.java
b/core/src/main/java/org/apache/accumulo/core/client/admin/compaction/CompactionSelector.java
index 281372d43d..311ffc730e 100644
---
a/core/src/main/java/org/apache/accumulo/core/client/admin/compaction/CompactionSelector.java
+++
b/core/src/main/java/org/apache/accumulo/core/client/admin/compaction/CompactionSelector.java
@@ -35,8 +35,7 @@ import org.apache.accumulo.core.data.Value;
import org.apache.accumulo.core.iterators.SortedKeyValueIterator;
/**
- * This class selects which files a user compaction will compact. It can also
be configured per
- * table to periodically select files to compact.
+ * This class selects which files a user compaction will compact.
*
* @since 2.1.0
*/
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 e33eed2748..b05e0aba4e 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
@@ -855,12 +855,6 @@ public enum Property {
+ "specified time. If a system compaction cancels a hold and runs,
then the user compaction"
+ " can reselect and hold files after the system compaction runs.",
"2.1.0"),
- TABLE_COMPACTION_SELECTOR("table.compaction.selector", "",
PropertyType.CLASSNAME,
- "A configurable selector for a table that can periodically select file
for mandatory "
- + "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"),
TABLE_COMPACTION_CONFIGURER("table.compaction.configurer", "",
PropertyType.CLASSNAME,
"A plugin that can dynamically configure compaction output files based
on input files.",
"2.1.0"),
@@ -1414,8 +1408,7 @@ public enum Property {
|| key.startsWith(TABLE_SUMMARIZER_PREFIX.getKey())
|| key.startsWith(TABLE_SCAN_DISPATCHER_OPTS.getKey())
|| key.startsWith(TABLE_COMPACTION_DISPATCHER_OPTS.getKey())
- || key.startsWith(TABLE_COMPACTION_CONFIGURER_OPTS.getKey())
- || key.startsWith(TABLE_COMPACTION_SELECTOR_OPTS.getKey()))
+ || key.startsWith(TABLE_COMPACTION_CONFIGURER_OPTS.getKey()))
|| key.startsWith(TABLE_CRYPTO_PREFIX.getKey()));
}
diff --git
a/core/src/main/java/org/apache/accumulo/core/spi/compaction/CompactionKind.java
b/core/src/main/java/org/apache/accumulo/core/spi/compaction/CompactionKind.java
index 97e64216fc..7667dcf577 100644
---
a/core/src/main/java/org/apache/accumulo/core/spi/compaction/CompactionKind.java
+++
b/core/src/main/java/org/apache/accumulo/core/spi/compaction/CompactionKind.java
@@ -18,8 +18,6 @@
*/
package org.apache.accumulo.core.spi.compaction;
-import org.apache.accumulo.core.client.admin.compaction.CompactionSelector;
-
/**
* @since 2.1.0
* @see org.apache.accumulo.core.spi.compaction
@@ -29,10 +27,6 @@ public enum CompactionKind {
* A system initiated routine compaction.
*/
SYSTEM,
- /**
- * Set of files selected by a {@link CompactionSelector} configured for a
table.
- */
- SELECTOR,
/**
* A user initiated a one time compaction using an Accumulo client.
*/
diff --git
a/core/src/main/java/org/apache/accumulo/core/spi/compaction/RatioBasedCompactionPlanner.java
b/core/src/main/java/org/apache/accumulo/core/spi/compaction/RatioBasedCompactionPlanner.java
index aa5cb8d137..ec3b91d779 100644
---
a/core/src/main/java/org/apache/accumulo/core/spi/compaction/RatioBasedCompactionPlanner.java
+++
b/core/src/main/java/org/apache/accumulo/core/spi/compaction/RatioBasedCompactionPlanner.java
@@ -306,11 +306,10 @@ public class RatioBasedCompactionPlanner implements
CompactionPlanner {
}
}
- if (compactionJobs.size() == 1
- && (params.getKind() == CompactionKind.USER || params.getKind() ==
CompactionKind.SELECTOR)
+ if (compactionJobs.size() == 1 && params.getKind() == CompactionKind.USER
&& compactionJobs.get(0).size() < params.getCandidates().size()
&& compactionJobs.get(0).size() <= maxFilesToCompact) {
- // USER and SELECTOR compactions must eventually compact all files. When
a subset of files
+ // USER compactions must eventually compact all files. When a subset of
files
// that meets the compaction ratio is selected, look ahead and see if
the next compaction
// would also meet the compaction ratio. If not then compact everything
to avoid doing
// more than logarithmic work across multiple comapctions.
@@ -330,9 +329,8 @@ public class RatioBasedCompactionPlanner implements
CompactionPlanner {
}
if (compactionJobs.isEmpty()) {
- if ((params.getKind() == CompactionKind.USER || params.getKind() ==
CompactionKind.SELECTOR)
- && params.getRunningCompactions().stream()
- .noneMatch(job -> job.getKind() == params.getKind())) {
+ if (params.getKind() == CompactionKind.USER &&
params.getRunningCompactions().stream()
+ .noneMatch(job -> job.getKind() == params.getKind())) {
// These kinds of compaction require files to compact even if none of
the files meet the
// compaction ratio. No files were found using the compaction ratio
and no compactions are
// running, so force a compaction.
diff --git
a/core/src/main/thrift-gen-java/org/apache/accumulo/core/tabletserver/thrift/TCompactionKind.java
b/core/src/main/thrift-gen-java/org/apache/accumulo/core/tabletserver/thrift/TCompactionKind.java
index 8600b9336d..cdae992ed0 100644
---
a/core/src/main/thrift-gen-java/org/apache/accumulo/core/tabletserver/thrift/TCompactionKind.java
+++
b/core/src/main/thrift-gen-java/org/apache/accumulo/core/tabletserver/thrift/TCompactionKind.java
@@ -26,7 +26,6 @@ package org.apache.accumulo.core.tabletserver.thrift;
public enum TCompactionKind implements org.apache.thrift.TEnum {
- SELECTOR(0),
SYSTEM(1),
USER(2);
@@ -51,8 +50,6 @@ public enum TCompactionKind implements
org.apache.thrift.TEnum {
@org.apache.thrift.annotation.Nullable
public static TCompactionKind findByValue(int value) {
switch (value) {
- case 0:
- return SELECTOR;
case 1:
return SYSTEM;
case 2:
diff --git a/core/src/main/thrift/tabletserver.thrift
b/core/src/main/thrift/tabletserver.thrift
index 7db5f5c9ed..e10bc182a4 100644
--- a/core/src/main/thrift/tabletserver.thrift
+++ b/core/src/main/thrift/tabletserver.thrift
@@ -116,9 +116,9 @@ struct TExternalCompactionJob {
}
enum TCompactionKind {
- SELECTOR
- SYSTEM
- USER
+ // SELECTOR was removed and used to be zero
+ SYSTEM = 1
+ USER = 2
}
struct TCompactionGroupSummary {
diff --git
a/core/src/test/java/org/apache/accumulo/core/util/compaction/CompactionPrioritizerTest.java
b/core/src/test/java/org/apache/accumulo/core/util/compaction/CompactionPrioritizerTest.java
index e1c1b9983c..0811edf748 100644
---
a/core/src/test/java/org/apache/accumulo/core/util/compaction/CompactionPrioritizerTest.java
+++
b/core/src/test/java/org/apache/accumulo/core/util/compaction/CompactionPrioritizerTest.java
@@ -183,8 +183,8 @@ public class CompactionPrioritizerTest {
var j3 = createJob(CompactionKind.USER, "t-011", 11, 20);
var j4 = createJob(CompactionKind.SYSTEM, "t-012", 11, 30);
var j5 = createJob(CompactionKind.SYSTEM, "t-013", 5, 10);
- var j8 = createJob(CompactionKind.SELECTOR, "t-014", 5, 21);
- var j9 = createJob(CompactionKind.SELECTOR, "t-015", 7, 20);
+ var j8 = createJob(CompactionKind.SYSTEM, "t-014", 5, 21);
+ var j9 = createJob(CompactionKind.SYSTEM, "t-015", 7, 20);
var expected = List.of(j2, j3, j1, j4, j9, j8, j5);
diff --git
a/server/compactor/src/main/java/org/apache/accumulo/compactor/ExtCEnv.java
b/server/compactor/src/main/java/org/apache/accumulo/compactor/ExtCEnv.java
index ea1c5245e1..490e5908ba 100644
--- a/server/compactor/src/main/java/org/apache/accumulo/compactor/ExtCEnv.java
+++ b/server/compactor/src/main/java/org/apache/accumulo/compactor/ExtCEnv.java
@@ -90,7 +90,6 @@ public class ExtCEnv implements CompactionEnv {
switch (job.getKind()) {
case USER:
return TCompactionReason.USER;
- case SELECTOR:
case SYSTEM:
return TCompactionReason.SYSTEM;
default:
diff --git
a/server/manager/src/main/java/org/apache/accumulo/manager/compaction/coordinator/CompactionCoordinator.java
b/server/manager/src/main/java/org/apache/accumulo/manager/compaction/coordinator/CompactionCoordinator.java
index 5eb0ab7414..87f8fc01d8 100644
---
a/server/manager/src/main/java/org/apache/accumulo/manager/compaction/coordinator/CompactionCoordinator.java
+++
b/server/manager/src/main/java/org/apache/accumulo/manager/compaction/coordinator/CompactionCoordinator.java
@@ -461,7 +461,6 @@ public class CompactionCoordinator
}
break;
case USER:
- case SELECTOR:
if (tablet.getSelectedFiles() == null
|| !tablet.getSelectedFiles().getFiles().containsAll(jobFiles)) {
return false;
@@ -509,7 +508,6 @@ public class CompactionCoordinator
propDels = !compactingAll;
}
break;
- case SELECTOR:
case USER: {
boolean compactingAll =
tablet.getSelectedFiles().initiallySelectedAll()
&& tablet.getSelectedFiles().getFiles().equals(jobFiles);
diff --git
a/server/manager/src/main/java/org/apache/accumulo/manager/compaction/coordinator/commit/CommitCompaction.java
b/server/manager/src/main/java/org/apache/accumulo/manager/compaction/coordinator/commit/CommitCompaction.java
index 7add060466..6b3db6b136 100644
---
a/server/manager/src/main/java/org/apache/accumulo/manager/compaction/coordinator/commit/CommitCompaction.java
+++
b/server/manager/src/main/java/org/apache/accumulo/manager/compaction/coordinator/commit/CommitCompaction.java
@@ -120,7 +120,7 @@ public class CommitCompaction extends ManagerRepo {
var tabletMutator =
tabletsMutator.mutateTablet(getExtent()).requireAbsentOperation()
.requireCompaction(ecid).requireSame(tablet, FILES, LOCATION);
- if (ecm.getKind() == CompactionKind.USER || ecm.getKind() ==
CompactionKind.SELECTOR) {
+ if (ecm.getKind() == CompactionKind.USER) {
tabletMutator.requireSame(tablet, SELECTED, COMPACTED);
}
@@ -242,7 +242,7 @@ public class CommitCompaction extends ManagerRepo {
return false;
}
- if (ecm.getKind() == CompactionKind.USER || ecm.getKind() ==
CompactionKind.SELECTOR) {
+ if (ecm.getKind() == CompactionKind.USER) {
if (tabletMetadata.getSelectedFiles() == null) {
// when the compaction is canceled, selected files are deleted
LOG.debug(