keith-turner commented on code in PR #3657:
URL: https://github.com/apache/accumulo/pull/3657#discussion_r1273923314
##########
core/src/main/java/org/apache/accumulo/core/spi/compaction/DefaultCompactionPlanner.java:
##########
@@ -216,7 +217,9 @@ public void init(InitParameters params) {
"'numThreads' should not be specified for external compactions");
String group = Objects.requireNonNull(executorConfig.group,
"'group' must be specified for external type");
- ceid = params.getExecutorManager().getExternalExecutor(group);
+
+ ceid =
+
params.getExecutorManager().getExternalExecutor(serviceId.canonical() + "." +
group);
Review Comment:
This is slightly different than what I am thinking and this may still allow
for a graph instead of tree. I was thinking of something like the following
A compactor must be started with a group name of the form `<service
name>.<queue name>` for its group. So starting a compactor could look like
`accumulo compactor - compactor.group=system.default`. The compactor could
check the group is of this form, it could even check if the compaction service
is actually configured.
The config specifies either the group or queue like the following (excluded
some things in the config that could be dropped.
```
tserver.compaction.major.service.system.planner.opts.executors=[{'group':'system.default'}]
```
or
```
tserver.compaction.major.service.system.planner.opts.executors=[{'queue':'default'}]
```
When the call is made to
`params.getExecutorManager().getExternalExecutor(X)` X really only needs to be
the queue name. The implementation of getExternalExecutor() should know the
service its being called for and could append it to create the id. If X is of
the form `<service>.<queue>` then the impl could throw an illegal argument
exception if the service portion is anything other than the expected service.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]