This is an automated email from the ASF dual-hosted git repository.
dlmarion pushed a commit to branch 2.1
in repository https://gitbox.apache.org/repos/asf/accumulo.git
The following commit(s) were added to refs/heads/2.1 by this push:
new e883829da7 Support ClassLoader context in Grep, DeleteMany commands
(#6148)
e883829da7 is described below
commit e883829da777fa2f97b58e797cbef8f1b7cc8bb9
Author: Dave Marion <[email protected]>
AuthorDate: Wed Feb 25 07:30:02 2026 -0500
Support ClassLoader context in Grep, DeleteMany commands (#6148)
Modified shell commands that extend ScanCommand
to support setting the classloader context.
Closes #6141
---
.../org/apache/accumulo/shell/commands/DeleteManyCommand.java | 9 +++++++++
.../java/org/apache/accumulo/shell/commands/GrepCommand.java | 9 +++++++++
.../java/org/apache/accumulo/shell/commands/ScanCommand.java | 2 +-
3 files changed, 19 insertions(+), 1 deletion(-)
diff --git
a/shell/src/main/java/org/apache/accumulo/shell/commands/DeleteManyCommand.java
b/shell/src/main/java/org/apache/accumulo/shell/commands/DeleteManyCommand.java
index 9bf09830c8..e0f0cbe1f5 100644
---
a/shell/src/main/java/org/apache/accumulo/shell/commands/DeleteManyCommand.java
+++
b/shell/src/main/java/org/apache/accumulo/shell/commands/DeleteManyCommand.java
@@ -45,11 +45,20 @@ public class DeleteManyCommand extends ScanCommand {
final org.apache.accumulo.core.util.interpret.ScanInterpreter interpreter =
getInterpreter(cl, tableName, shellState);
+ String classLoaderContext = null;
+ if (cl.hasOption(contextOpt.getOpt())) {
+ classLoaderContext = cl.getOptionValue(contextOpt.getOpt());
+ }
+
// handle first argument, if present, the authorizations list to
// scan with
final Authorizations auths = getAuths(cl, shellState);
final Scanner scanner =
shellState.getAccumuloClient().createScanner(tableName, auths);
+ if (classLoaderContext != null) {
+ scanner.setClassLoaderContext(classLoaderContext);
+ }
+
scanner.addScanIterator(
new IteratorSetting(Integer.MAX_VALUE, "NOVALUE",
SortedKeyIterator.class));
diff --git
a/shell/src/main/java/org/apache/accumulo/shell/commands/GrepCommand.java
b/shell/src/main/java/org/apache/accumulo/shell/commands/GrepCommand.java
index 4f6160fcdd..c9787d557a 100644
--- a/shell/src/main/java/org/apache/accumulo/shell/commands/GrepCommand.java
+++ b/shell/src/main/java/org/apache/accumulo/shell/commands/GrepCommand.java
@@ -80,6 +80,11 @@ public class GrepCommand extends ScanCommand {
negate = true;
}
+ String classLoaderContext = null;
+ if (cl.hasOption(contextOpt.getOpt())) {
+ classLoaderContext = cl.getOptionValue(contextOpt.getOpt());
+ }
+
final Authorizations auths = getAuths(cl, shellState);
final BatchScanner scanner =
shellState.getAccumuloClient().createBatchScanner(tableName, auths,
numThreads);
@@ -89,6 +94,10 @@ public class GrepCommand extends ScanCommand {
scanner.setConsistencyLevel(getConsistency(cl));
+ if (classLoaderContext != null) {
+ scanner.setClassLoaderContext(classLoaderContext);
+ }
+
setupSampling(tableName, cl, shellState, scanner);
addScanIterators(shellState, cl, scanner, "");
diff --git
a/shell/src/main/java/org/apache/accumulo/shell/commands/ScanCommand.java
b/shell/src/main/java/org/apache/accumulo/shell/commands/ScanCommand.java
index 92b9b70d89..b681475dff 100644
--- a/shell/src/main/java/org/apache/accumulo/shell/commands/ScanCommand.java
+++ b/shell/src/main/java/org/apache/accumulo/shell/commands/ScanCommand.java
@@ -68,7 +68,7 @@ public class ScanCommand extends Command {
private Option optEndRowExclusive;
private Option timeoutOption;
private Option sampleOpt;
- private Option contextOpt;
+ protected Option contextOpt;
private Option executionHintsOpt;
private Option scanServerOpt;