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;
 

Reply via email to