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 9bf09830c84..e0f0cbe1f5d 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 int execute(final String fullCommand, final CommandLine cl, final Shell s 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 4f6160fcdd8..c9787d557a2 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 int execute(final String fullCommand, final CommandLine cl, final Shell s 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 int execute(final String fullCommand, final CommandLine cl, final Shell s 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 92b9b70d896..b681475dff9 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;