[2/4] accumulo git commit: Merge branch '1.6' into 1.7

2016-08-23 Thread dlmarion
Merge branch '1.6' into 1.7


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/ffd50280
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/ffd50280
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/ffd50280

Branch: refs/heads/master
Commit: ffd50280b12139ab15b3f2d68018c21f30575209
Parents: a226233 82f1734
Author: Dave Marion 
Authored: Tue Aug 23 09:56:35 2016 -0400
Committer: Dave Marion 
Committed: Tue Aug 23 09:56:35 2016 -0400

--
 .../org/apache/accumulo/server/util/ZooZap.java | 27 
 1 file changed, 16 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/accumulo/blob/ffd50280/server/base/src/main/java/org/apache/accumulo/server/util/ZooZap.java
--
diff --cc server/base/src/main/java/org/apache/accumulo/server/util/ZooZap.java
index f3a9bdc,5a8f8bd..296f7b6
--- a/server/base/src/main/java/org/apache/accumulo/server/util/ZooZap.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/util/ZooZap.java
@@@ -26,11 -22,9 +26,12 @@@ import org.apache.accumulo.core.conf.Si
  import org.apache.accumulo.fate.zookeeper.IZooReaderWriter;
  import org.apache.accumulo.fate.zookeeper.ZooUtil.NodeMissingPolicy;
  import org.apache.accumulo.server.cli.ClientOpts;
 +import org.apache.accumulo.server.security.SecurityUtil;
  import org.apache.accumulo.server.zookeeper.ZooLock;
  import org.apache.accumulo.server.zookeeper.ZooReaderWriter;
 +import org.slf4j.Logger;
 +import org.slf4j.LoggerFactory;
+ import org.apache.zookeeper.KeeperException;
  
  import com.beust.jcommander.JCommander;
  import com.beust.jcommander.Parameter;
@@@ -106,8 -93,12 +111,12 @@@ public class ZooZap 
  }
  
  if (opts.zapTracers) {
 -  String path = Constants.ZROOT + "/" + iid + Constants.ZTRACERS;
 +  String path = opts.getTraceZKPath();
-   zapDirectory(zoo, path, opts);
+   try {
+ zapDirectory(zoo, path, opts);
+   } catch (Exception e) {
+ // do nothing if the /tracers node does not exist.
+   }
  }
  
}



[2/4] accumulo git commit: Merge branch '1.6' into 1.7

2016-08-16 Thread dlmarion
Merge branch '1.6' into 1.7


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/8aaef9e7
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/8aaef9e7
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/8aaef9e7

Branch: refs/heads/master
Commit: 8aaef9e7a863f0348b922d31826f27bdbcfe9551
Parents: 1e087ba 02ac592
Author: Dave Marion 
Authored: Tue Aug 16 13:02:20 2016 -0400
Committer: Dave Marion 
Committed: Tue Aug 16 13:02:20 2016 -0400

--
 assemble/bin/bootstrap_config.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/accumulo/blob/8aaef9e7/assemble/bin/bootstrap_config.sh
--
diff --cc assemble/bin/bootstrap_config.sh
index 719aff9,ba695d5..9dfa6b8
--- a/assemble/bin/bootstrap_config.sh
+++ b/assemble/bin/bootstrap_config.sh
@@@ -381,17 -354,17 +381,17 @@@ elif [[ "${HADOOP_VERSION}" == "IOP4.1
  fi
  
  #Additional setup steps for native configuration.
 -if [[ "${TYPE}" = "native" ]]; then
 -  if [[ "$(uname)" = 'Linux' ]]; then
 +if [[ ${TYPE} == native ]]; then
 +  if [[ $(uname) == Linux ]]; then
  if [[ -z $HADOOP_PREFIX ]]; then
-   echo "HADOOP_PREFIX not set cannot automatically configure 
LD_LIBRARY_PATH"
+   echo "WARNING: HADOOP_PREFIX not set, cannot automatically configure 
LD_LIBRARY_PATH to include Hadoop native libraries"
  else
NATIVE_LIB=$(readlink -ef $(dirname $(for x in $(find $HADOOP_PREFIX 
-name libhadoop.so); do ld $x 2>/dev/null && echo $x && break; done) 
2>>/dev/null) 2>>/dev/null)
if [[ -z $NATIVE_LIB ]]; then
- echo -e "Native libraries could not be found for your sytem in: 
$HADOOP_PREFIX"
+ echo -e "WARNING: The Hadoop native libraries could not be found for 
your sytem in: $HADOOP_PREFIX"
else
  sed "/# Should the monitor/ i export 
LD_LIBRARY_PATH=${NATIVE_LIB}:\${LD_LIBRARY_PATH}" ${CONF_DIR}/$ACCUMULO_ENV > 
temp
 -mv temp ${CONF_DIR}/$ACCUMULO_ENV
 +mv temp "${CONF_DIR}/$ACCUMULO_ENV"
  echo -e "Added ${NATIVE_LIB} to the LD_LIBRARY_PATH"
fi
  fi



[2/4] accumulo git commit: Merge branch '1.6' into 1.7

2016-06-08 Thread mjwall
Merge branch '1.6' into 1.7

Adds commit for ACCUMULO-4157 to fix bug where WALs were deleted too quickly
for "Dead" Tservers


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/5f02d564
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/5f02d564
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/5f02d564

Branch: refs/heads/master
Commit: 5f02d564ec3dae626edb7091fc1a92f5fd760f97
Parents: 0eab0ec e0426c5
Author: Michael Wall 
Authored: Wed Jun 8 08:34:26 2016 -0400
Committer: Michael Wall 
Committed: Wed Jun 8 08:34:26 2016 -0400

--
 .../org/apache/accumulo/core/conf/Property.java |   2 +
 .../apache/accumulo/core/conf/PropertyTest.java |   5 +
 .../gc/GarbageCollectWriteAheadLogs.java| 296 +
 .../gc/GarbageCollectWriteAheadLogsTest.java| 332 ++-
 4 files changed, 564 insertions(+), 71 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/accumulo/blob/5f02d564/core/src/main/java/org/apache/accumulo/core/conf/Property.java
--
diff --cc core/src/main/java/org/apache/accumulo/core/conf/Property.java
index dbb2036,5fff17f..c427610
--- a/core/src/main/java/org/apache/accumulo/core/conf/Property.java
+++ b/core/src/main/java/org/apache/accumulo/core/conf/Property.java
@@@ -364,7 -305,8 +364,9 @@@ public enum Property 
GC_DELETE_THREADS("gc.threads.delete", "16", PropertyType.COUNT, "The 
number of threads used to delete files"),
GC_TRASH_IGNORE("gc.trash.ignore", "false", PropertyType.BOOLEAN, "Do not 
use the Trash, even if it is configured"),
GC_FILE_ARCHIVE("gc.file.archive", "false", PropertyType.BOOLEAN, "Archive 
any files/directories instead of moving to the HDFS trash or deleting"),
 +  GC_TRACE_PERCENT("gc.trace.percent", "0.01", PropertyType.FRACTION, 
"Percent of gc cycles to trace"),
+   GC_WAL_DEAD_SERVER_WAIT("gc.wal.dead.server.wait", "1h", 
PropertyType.TIMEDURATION,
+   "Time to wait after a tserver is first seen as dead before removing 
associated WAL files"),
  
// properties that are specific to the monitor server behavior
MONITOR_PREFIX("monitor.", null, PropertyType.PREFIX, "Properties in this 
category affect the behavior of the monitor web server."),

http://git-wip-us.apache.org/repos/asf/accumulo/blob/5f02d564/server/gc/src/main/java/org/apache/accumulo/gc/GarbageCollectWriteAheadLogs.java
--
diff --cc 
server/gc/src/main/java/org/apache/accumulo/gc/GarbageCollectWriteAheadLogs.java
index 1735c0d,b7d8d92..a62ffb2
--- 
a/server/gc/src/main/java/org/apache/accumulo/gc/GarbageCollectWriteAheadLogs.java
+++ 
b/server/gc/src/main/java/org/apache/accumulo/gc/GarbageCollectWriteAheadLogs.java
@@@ -51,34 -37,35 +52,39 @@@ import org.apache.accumulo.core.securit
  import org.apache.accumulo.core.tabletserver.log.LogEntry;
  import org.apache.accumulo.core.tabletserver.thrift.TabletClientService;
  import 
org.apache.accumulo.core.tabletserver.thrift.TabletClientService.Client;
 +import org.apache.accumulo.core.trace.Span;
 +import org.apache.accumulo.core.trace.Trace;
 +import org.apache.accumulo.core.trace.Tracer;
  import org.apache.accumulo.core.util.AddressUtil;
 -import org.apache.accumulo.core.util.ThriftUtil;
  import org.apache.accumulo.core.zookeeper.ZooUtil;
 +import org.apache.accumulo.server.AccumuloServerContext;
  import org.apache.accumulo.server.ServerConstants;
 -import org.apache.accumulo.server.conf.ServerConfiguration;
  import org.apache.accumulo.server.fs.VolumeManager;
 -import org.apache.accumulo.server.security.SystemCredentials;
 +import org.apache.accumulo.server.replication.StatusUtil;
 +import org.apache.accumulo.server.replication.proto.Replication.Status;
  import org.apache.accumulo.server.util.MetadataTableUtil;
  import org.apache.accumulo.server.zookeeper.ZooReaderWriter;
 -import org.apache.accumulo.trace.instrument.Span;
 -import org.apache.accumulo.trace.instrument.Trace;
 -import org.apache.accumulo.trace.instrument.Tracer;
  import org.apache.hadoop.fs.FileStatus;
  import org.apache.hadoop.fs.Path;
 -import org.apache.log4j.Logger;
  import org.apache.thrift.TException;
  import org.apache.zookeeper.KeeperException;
 +import org.slf4j.Logger;
 +import org.slf4j.LoggerFactory;
  
 +import com.google.common.collect.Iterables;
  import com.google.common.net.HostAndPort;
 +import com.google.protobuf.InvalidProtocolBufferException;
+ import java.util.concurrent.TimeUnit;
++import org.apache.accumulo.core.conf.AccumuloConfiguration;
+ import org.apache.accumulo.core.conf.Property;
  
  public class GarbageCollectWriteAheadLogs {
 -  private static final Logger log = 
Logger.getLogger(GarbageCollectWriteAheadLogs.class);
 +  private s

[2/4] accumulo git commit: Merge branch '1.6' into 1.7

2016-05-31 Thread kturner
Merge branch '1.6' into 1.7


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/d33b2a09
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/d33b2a09
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/d33b2a09

Branch: refs/heads/master
Commit: d33b2a09db1336d0734a3dc4f034c910ed751025
Parents: d10840b 63a8a5d
Author: Keith Turner 
Authored: Tue May 31 18:50:37 2016 -0400
Committer: Keith Turner 
Committed: Tue May 31 18:50:37 2016 -0400

--
 .../apache/accumulo/core/file/rfile/RFile.java  | 32 --
 .../accumulo/core/file/rfile/RFileTest.java | 63 
 2 files changed, 91 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/accumulo/blob/d33b2a09/core/src/main/java/org/apache/accumulo/core/file/rfile/RFile.java
--
diff --cc core/src/main/java/org/apache/accumulo/core/file/rfile/RFile.java
index 060d956,2fc4e4a..af9011d
--- a/core/src/main/java/org/apache/accumulo/core/file/rfile/RFile.java
+++ b/core/src/main/java/org/apache/accumulo/core/file/rfile/RFile.java
@@@ -64,9 -64,9 +64,10 @@@ import org.apache.accumulo.core.iterato
  import 
org.apache.accumulo.core.iterators.system.LocalityGroupIterator.LocalityGroup;
  import org.apache.accumulo.core.util.MutableByteSequence;
  import org.apache.commons.lang.mutable.MutableLong;
+ import org.apache.commons.math.stat.descriptive.SummaryStatistics;
  import org.apache.hadoop.io.Writable;
 -import org.apache.log4j.Logger;
 +import org.slf4j.Logger;
 +import org.slf4j.LoggerFactory;
  
  public class RFile {
  

http://git-wip-us.apache.org/repos/asf/accumulo/blob/d33b2a09/core/src/test/java/org/apache/accumulo/core/file/rfile/RFileTest.java
--



[2/4] accumulo git commit: Merge branch '1.6' into 1.7

2016-05-23 Thread dlmarion
Merge branch '1.6' into 1.7


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/5b1db01d
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/5b1db01d
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/5b1db01d

Branch: refs/heads/1.8
Commit: 5b1db01d63ccc7c2d530fc5d87bfce9027627440
Parents: b3df354 ec469e9
Author: Dave Marion 
Authored: Mon May 23 09:39:39 2016 -0400
Committer: Dave Marion 
Committed: Mon May 23 09:39:39 2016 -0400

--
 pom.xml |   2 +-
 .../classloader/vfs/AccumuloVFSClassLoader.java |   4 +-
 .../vfs/providers/HdfsFileAttributes.java   |  59 
 .../providers/HdfsFileContentInfoFactory.java   |  49 +++
 .../vfs/providers/HdfsFileObject.java   | 303 +
 .../vfs/providers/HdfsFileProvider.java |  75 +
 .../vfs/providers/HdfsFileSystem.java   | 137 
 .../providers/HdfsFileSystemConfigBuilder.java  |  45 +++
 .../vfs/providers/HdfsRandomAccessContent.java  | 329 +++
 .../classloader/vfs/providers/package.html  |  19 ++
 .../providers/ReadOnlyHdfsFileProviderTest.java |   2 -
 .../apache/accumulo/test/AccumuloDFSBase.java   |   2 +-
 12 files changed, 1020 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/accumulo/blob/5b1db01d/pom.xml
--

http://git-wip-us.apache.org/repos/asf/accumulo/blob/5b1db01d/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java
--
diff --cc 
start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java
index 8c7067f,38d7469..4df3f40
--- 
a/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java
+++ 
b/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java
@@@ -38,12 -40,9 +40,10 @@@ import org.apache.commons.vfs2.impl.Def
  import org.apache.commons.vfs2.impl.FileContentInfoFilenameFactory;
  import org.apache.commons.vfs2.impl.VFSClassLoader;
  import org.apache.commons.vfs2.provider.FileReplicator;
- import org.apache.commons.vfs2.provider.hdfs.HdfsFileObject;
- import org.apache.commons.vfs2.provider.hdfs.HdfsFileProvider;
  import org.apache.hadoop.conf.Configuration;
  import org.apache.hadoop.fs.FileSystem;
 -import org.apache.log4j.Logger;
 +import org.slf4j.Logger;
 +import org.slf4j.LoggerFactory;
  
  /**
   * This class builds a hierarchy of Classloaders in the form of:

http://git-wip-us.apache.org/repos/asf/accumulo/blob/5b1db01d/start/src/test/java/org/apache/accumulo/test/AccumuloDFSBase.java
--



[2/4] accumulo git commit: Merge branch '1.6' into 1.7

2016-05-20 Thread dlmarion
Merge branch '1.6' into 1.7


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/b3df3543
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/b3df3543
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/b3df3543

Branch: refs/heads/master
Commit: b3df354344e9a287d2cac28d9bcc073f225d8516
Parents: 7cffcfc b363e88
Author: Dave Marion 
Authored: Fri May 20 12:48:16 2016 -0400
Committer: Dave Marion 
Committed: Fri May 20 12:48:16 2016 -0400

--
 pom.xml |   2 +-
 .../classloader/vfs/AccumuloVFSClassLoader.java |   4 +-
 .../vfs/providers/HdfsFileAttributes.java   |  59 -
 .../providers/HdfsFileContentInfoFactory.java   |  50 
 .../vfs/providers/HdfsFileObject.java   | 240 ---
 .../vfs/providers/HdfsFileProvider.java |  65 -
 .../vfs/providers/HdfsFileSystem.java   | 126 --
 .../providers/HdfsFileSystemConfigBuilder.java  |  45 
 .../vfs/providers/HdfsRandomAccessContent.java  | 228 --
 .../classloader/vfs/providers/package.html  |  19 --
 .../providers/ReadOnlyHdfsFileProviderTest.java |   2 +
 .../apache/accumulo/test/AccumuloDFSBase.java   |   2 +-
 12 files changed, 6 insertions(+), 836 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/accumulo/blob/b3df3543/pom.xml
--

http://git-wip-us.apache.org/repos/asf/accumulo/blob/b3df3543/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java
--
diff --cc 
start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java
index 4df3f40,98b3b54..8c7067f
--- 
a/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java
+++ 
b/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java
@@@ -40,10 -38,11 +38,12 @@@ import org.apache.commons.vfs2.impl.Def
  import org.apache.commons.vfs2.impl.FileContentInfoFilenameFactory;
  import org.apache.commons.vfs2.impl.VFSClassLoader;
  import org.apache.commons.vfs2.provider.FileReplicator;
+ import org.apache.commons.vfs2.provider.hdfs.HdfsFileObject;
+ import org.apache.commons.vfs2.provider.hdfs.HdfsFileProvider;
  import org.apache.hadoop.conf.Configuration;
  import org.apache.hadoop.fs.FileSystem;
 -import org.apache.log4j.Logger;
 +import org.slf4j.Logger;
 +import org.slf4j.LoggerFactory;
  
  /**
   * This class builds a hierarchy of Classloaders in the form of:

http://git-wip-us.apache.org/repos/asf/accumulo/blob/b3df3543/start/src/test/java/org/apache/accumulo/test/AccumuloDFSBase.java
--



[2/4] accumulo git commit: Merge branch '1.6' into 1.7

2016-01-27 Thread kturner
http://git-wip-us.apache.org/repos/asf/accumulo/blob/d4882a15/test/src/test/java/org/apache/accumulo/test/ConditionalWriterIT.java
--
diff --cc test/src/test/java/org/apache/accumulo/test/ConditionalWriterIT.java
index b7637a6,d32bc43..15e9d5f
--- a/test/src/test/java/org/apache/accumulo/test/ConditionalWriterIT.java
+++ b/test/src/test/java/org/apache/accumulo/test/ConditionalWriterIT.java
@@@ -85,17 -87,16 +91,18 @@@ import org.apache.accumulo.harness.Accu
  import org.apache.accumulo.minicluster.impl.MiniAccumuloClusterImpl;
  import org.apache.accumulo.test.functional.BadIterator;
  import org.apache.accumulo.test.functional.SlowIterator;
 -import org.apache.accumulo.trace.instrument.Span;
 -import org.apache.accumulo.trace.instrument.Trace;
 +import org.apache.accumulo.tracer.TraceDump;
 +import org.apache.accumulo.tracer.TraceDump.Printer;
  import org.apache.accumulo.tracer.TraceServer;
  import org.apache.hadoop.io.Text;
 -import org.apache.log4j.Logger;
  import org.junit.Assert;
  import org.junit.Assume;
 +import org.junit.Before;
  import org.junit.Test;
 +import org.slf4j.Logger;
 +import org.slf4j.LoggerFactory;
  
+ import com.google.common.base.Charsets;
  import com.google.common.collect.Iterables;
  
  /**



[2/4] accumulo git commit: Merge branch '1.6' into 1.7

2015-10-02 Thread kturner
Merge branch '1.6' into 1.7


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/713282a0
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/713282a0
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/713282a0

Branch: refs/heads/master
Commit: 713282a0e38f2146466ed631b9ad9fa26aaf2a39
Parents: 4623103 f320385
Author: Keith Turner 
Authored: Fri Oct 2 15:43:38 2015 -0400
Committer: Keith Turner 
Committed: Fri Oct 2 15:43:38 2015 -0400

--
 .../src/main/java/org/apache/accumulo/core/iterators/Combiner.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/accumulo/blob/713282a0/core/src/main/java/org/apache/accumulo/core/iterators/Combiner.java
--



[2/4] accumulo git commit: Merge branch '1.6' into 1.7

2015-09-03 Thread kturner
http://git-wip-us.apache.org/repos/asf/accumulo/blob/6df97b89/shell/src/main/java/org/apache/accumulo/shell/commands/SetIterCommand.java
--
diff --cc 
shell/src/main/java/org/apache/accumulo/shell/commands/SetIterCommand.java
index c7c41b2,000..23b98a6
mode 100644,00..100644
--- a/shell/src/main/java/org/apache/accumulo/shell/commands/SetIterCommand.java
+++ b/shell/src/main/java/org/apache/accumulo/shell/commands/SetIterCommand.java
@@@ -1,396 -1,0 +1,393 @@@
 +/*
 + * Licensed to the Apache Software Foundation (ASF) under one or more
 + * contributor license agreements.  See the NOTICE file distributed with
 + * this work for additional information regarding copyright ownership.
 + * The ASF licenses this file to You under the Apache License, Version 2.0
 + * (the "License"); you may not use this file except in compliance with
 + * the License.  You may obtain a copy of the License at
 + *
 + * http://www.apache.org/licenses/LICENSE-2.0
 + *
 + * Unless required by applicable law or agreed to in writing, software
 + * distributed under the License is distributed on an "AS IS" BASIS,
 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 + * See the License for the specific language governing permissions and
 + * limitations under the License.
 + */
 +package org.apache.accumulo.shell.commands;
 +
 +import java.io.IOException;
 +import java.util.EnumSet;
 +import java.util.HashMap;
 +import java.util.Iterator;
 +import java.util.Map;
 +import java.util.Map.Entry;
 +
- import jline.console.ConsoleReader;
- 
 +import org.apache.accumulo.core.client.AccumuloException;
 +import org.apache.accumulo.core.client.AccumuloSecurityException;
 +import org.apache.accumulo.core.client.IteratorSetting;
 +import org.apache.accumulo.core.client.NamespaceNotFoundException;
 +import org.apache.accumulo.core.client.TableNotFoundException;
 +import org.apache.accumulo.core.data.Key;
 +import org.apache.accumulo.core.data.Value;
 +import org.apache.accumulo.core.iterators.IteratorUtil.IteratorScope;
 +import org.apache.accumulo.core.iterators.OptionDescriber;
 +import org.apache.accumulo.core.iterators.OptionDescriber.IteratorOptions;
 +import org.apache.accumulo.core.iterators.SortedKeyValueIterator;
 +import org.apache.accumulo.core.iterators.user.AgeOffFilter;
 +import org.apache.accumulo.core.iterators.user.RegExFilter;
 +import org.apache.accumulo.core.iterators.user.ReqVisFilter;
 +import org.apache.accumulo.core.iterators.user.VersioningIterator;
 +import org.apache.accumulo.shell.Shell;
 +import org.apache.accumulo.shell.Shell.Command;
 +import org.apache.accumulo.shell.ShellCommandException;
 +import org.apache.accumulo.shell.ShellCommandException.ErrorCode;
 +import org.apache.commons.cli.CommandLine;
 +import org.apache.commons.cli.Option;
 +import org.apache.commons.cli.OptionGroup;
 +import org.apache.commons.cli.Options;
 +import org.apache.commons.lang.StringUtils;
 +
++import jline.console.ConsoleReader;
++
 +public class SetIterCommand extends Command {
 +
 +  private Option allScopeOpt, mincScopeOpt, majcScopeOpt, scanScopeOpt, 
nameOpt, priorityOpt;
 +  private Option aggTypeOpt, ageoffTypeOpt, regexTypeOpt, versionTypeOpt, 
reqvisTypeOpt, classnameTypeOpt;
 +
 +  @Override
 +  public int execute(final String fullCommand, final CommandLine cl, final 
Shell shellState) throws AccumuloException, AccumuloSecurityException,
 +  TableNotFoundException, IOException, ShellCommandException {
 +
 +boolean tables = cl.hasOption(OptUtil.tableOpt().getOpt()) || 
!shellState.getTableName().isEmpty();
 +boolean namespaces = cl.hasOption(OptUtil.namespaceOpt().getOpt());
 +
 +final int priority = 
Integer.parseInt(cl.getOptionValue(priorityOpt.getOpt()));
 +
 +final Map options = new HashMap();
 +String classname = cl.getOptionValue(classnameTypeOpt.getOpt());
 +if (cl.hasOption(aggTypeOpt.getOpt())) {
 +  Shell.log.warn("aggregators are deprecated");
 +  @SuppressWarnings("deprecation")
 +  String deprecatedClassName = 
org.apache.accumulo.core.iterators.AggregatingIterator.class.getName();
 +  classname = deprecatedClassName;
 +} else if (cl.hasOption(regexTypeOpt.getOpt())) {
 +  classname = RegExFilter.class.getName();
 +} else if (cl.hasOption(ageoffTypeOpt.getOpt())) {
 +  classname = AgeOffFilter.class.getName();
 +} else if (cl.hasOption(versionTypeOpt.getOpt())) {
 +  classname = VersioningIterator.class.getName();
 +} else if (cl.hasOption(reqvisTypeOpt.getOpt())) {
 +  classname = ReqVisFilter.class.getName();
 +}
 +
 +ClassLoader classloader = shellState.getClassLoader(cl, shellState);
 +
 +// Get the iterator options, with potentially a name provided by the 
OptionDescriber impl or through user input
 +String configuredName = setUpOptions(classloader, shellState.getReader(), 
classname, options);
 +
 +// Try to g