Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
ad6ea63
Distributes compaction coordination across managers
keith-turner Apr 17, 2026
f2342ad
fix javadoc
keith-turner Apr 17, 2026
ed7ef38
code review update
keith-turner Apr 20, 2026
a327e7b
remove unneeded bool
keith-turner Apr 23, 2026
956e4a7
Update server/base/src/main/java/org/apache/accumulo/server/compactio…
keith-turner Apr 23, 2026
e63000a
code review updates
keith-turner Apr 23, 2026
70f9661
Merge branch 'main' into dist-coord2
keith-turner Oct 21, 2026
ad8ae42
review updates
keith-turner Oct 22, 2026
daad335
fix docs and add TODO
keith-turner Oct 27, 2026
dbbfecd
update idle compator handling
keith-turner Oct 27, 2026
41bd84c
improve names
keith-turner Oct 28, 2026
9af4fdd
only create coordinator connections when needed
keith-turner Oct 28, 2026
596fa95
Merge remote-tracking branch 'upstream/main' into dist-coord2
keith-turner Oct 28, 2026
0b9399e
revert unneeded change
keith-turner Oct 28, 2026
0802379
fix name
keith-turner Oct 28, 2026
b54ed2a
revert breaking change and improve logging
keith-turner Oct 29, 2026
dadfa61
Update server/manager/src/main/java/org/apache/accumulo/manager/compa…
keith-turner Nov 5, 2026
202ce2a
Update server/manager/src/main/java/org/apache/accumulo/manager/compa…
keith-turner Nov 5, 2026
6e2143a
Update server/manager/src/main/java/org/apache/accumulo/manager/compa…
keith-turner Nov 5, 2026
b8b98d6
Update server/manager/src/main/java/org/apache/accumulo/manager/compa…
keith-turner Nov 5, 2026
e002f67
Update server/manager/src/main/java/org/apache/accumulo/manager/compa…
keith-turner Nov 5, 2026
1346b37
Update server/manager/src/main/java/org/apache/accumulo/manager/compa…
keith-turner Nov 5, 2026
ca6a7bc
Update test/src/main/java/org/apache/accumulo/test/MultipleManagerCom…
keith-turner Nov 5, 2026
ff592c8
code review update
keith-turner Nov 5, 2026
a10dbcf
Merge remote-tracking branch 'upstream/main' into dist-coord2
keith-turner Nov 13, 2026
34a18b8
code review update
keith-turner Nov 13, 2026
c87528c
fix comment
keith-turner Nov 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions core/src/main/java/org/apache/accumulo/core/Constants.java
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ public class Constants {
public static final String ZMANAGER_TICK = ZMANAGERS + "/tick";
public static final String ZMANAGER_ASSIGNMENTS = ZMANAGERS + "/assignments";
public static final String ZMANAGER_FATE_ASSIGNMENTS = ZMANAGER_ASSIGNMENTS + "/fate";
public static final String ZMANAGER_COORDINATOR = ZMANAGER_ASSIGNMENTS + "/coordinators";

public static final String ZGC = "/gc";
public static final String ZGC_LOCK = ZGC + "/lock";
Expand Down
10 changes: 10 additions & 0 deletions core/src/main/java/org/apache/accumulo/core/conf/Property.java
Original file line number Diff line number Diff line change
Expand Up @@ -1445,6 +1445,16 @@ start with the category prefix, followed by a scope (minc, majc, scan, \
+ " disables Compactor wake up. Enabling this feature will cause Compactors in a long wait state (see"
+ " COMPACTOR_MAX_JOB_WAIT_TIME) to check in with the Coordinator for work.",
"2.1.7"),
COMPACTION_COORDINATOR_ASSIGNMENT_MIN("compaction.coordinator.assignment.sleep.min", "100ms",
PropertyType.TIMEDURATION,
"When there are multiple managers compaction resource groups are assigned across manager. This is the "
+ "minimum time between checks to see if assignments need to be adjusted.",
"4.0.0"),
COMPACTION_COORDINATOR_ASSIGNMENT_MAX("compaction.coordinator.assignment.sleep.max", "3m",
PropertyType.TIMEDURATION,
"When there are multiple managers compaction resource groups are assigned across manager. This is the "
+ "maximum time between checks to see if assignments need to be adjusted.",
"4.0.0"),
GENERAL_AMPLE_CONDITIONAL_WRITER_THREADS_MAX("general.ample.conditional.writer.threads.max", "8",
PropertyType.COUNT,
"The maximum number of threads for the shared ConditionalWriter used by Ample.", "4.0.0");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
import java.util.concurrent.Future;
import java.util.concurrent.atomic.AtomicLong;
import java.util.function.Consumer;
import java.util.function.Predicate;

import org.apache.accumulo.core.client.admin.servers.ServerId;
import org.apache.accumulo.core.clientImpl.ClientContext;
Expand Down Expand Up @@ -223,6 +224,12 @@ public static void getCompactionsRunningOnCompactors(ClientContext context,
}
}

public static List<ServerId> getCompactionsRunningOnCompactors(ClientContext context,
ExecutorService executor, Consumer<TExternalCompaction> consumer)
throws InterruptedException {
return getCompactionsRunningOnCompactors(context, executor, rg -> true, consumer);
}

/**
* This method returns information from the Compactors about the job that is currently running.
*
Expand All @@ -232,12 +239,12 @@ public static void getCompactionsRunningOnCompactors(ClientContext context,
* @return list of compactor addresses where RPC failed
*/
public static List<ServerId> getCompactionsRunningOnCompactors(ClientContext context,
ExecutorService executor, Consumer<TExternalCompaction> consumer)
throws InterruptedException {
ExecutorService executor, Predicate<ResourceGroupId> rgPredicate,
Consumer<TExternalCompaction> consumer) throws InterruptedException {

final List<ServerId> failures = new ArrayList<>();
final Set<ServerId> compactors =
context.instanceOperations().getServers(ServerId.Type.COMPACTOR);
final Set<ServerId> compactors = context.instanceOperations()
.getServers(ServerId.Type.COMPACTOR, rgPredicate, (host, port) -> true);
final List<RpcFuture<TExternalCompaction>> rcFutures = new ArrayList<>(compactors.size());

try {
Expand Down

Large diffs are not rendered by default.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading