You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by GitBox <gi...@apache.org> on 2018/06/21 17:32:35 UTC

[GitHub] ctubbsii closed pull request #536: Remove Mock Accumulo

ctubbsii closed pull request #536: Remove Mock Accumulo
URL: https://github.com/apache/accumulo/pull/536
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/RangeInputSplit.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/RangeInputSplit.java
index 3f289c3c15..95c6f85238 100644
--- a/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/RangeInputSplit.java
+++ b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/RangeInputSplit.java
@@ -144,12 +144,6 @@ public void readFields(DataInput in) throws IOException {
       localIterators = in.readBoolean();
     }
 
-    // ignore mock flag; it was removed
-    if (in.readBoolean()) {
-      throw new IllegalStateException(
-          "Mock flag was set in serialized RangeInputSplit, but mock Accumulo was removed");
-    }
-
     if (in.readBoolean()) {
       int numColumns = in.readInt();
       List<String> columns = new ArrayList<>(numColumns);
@@ -201,9 +195,6 @@ public void write(DataOutput out) throws IOException {
       out.writeBoolean(localIterators);
     }
 
-    // should be false to indicate that no mock flag was serialized; mock was removed
-    out.writeBoolean(false);
-
     out.writeBoolean(null != fetchedColumns);
     if (null != fetchedColumns) {
       String[] cols = InputConfigurator.serializeColumns(fetchedColumns);
diff --git a/core/pom.xml b/core/pom.xml
index 909ee483a1..cf45283272 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -192,7 +192,6 @@
                 <exclude>.*[.]impl[.].*</exclude>
                 <exclude>.*[.]thrift[.].*</exclude>
                 <exclude>org[.]apache[.]accumulo[.]core[.]security[.]crypto[.].*</exclude>
-                <exclude>org[.]apache[.]accumulo[.]core[.]client[.]mock[.].*</exclude>
               </excludes>
               <allows>
                 <!--Allow API data types to reference thrift types, but do not
diff --git a/core/src/main/findbugs/exclude-filter.xml b/core/src/main/findbugs/exclude-filter.xml
index a3db72f205..c94a0412e1 100644
--- a/core/src/main/findbugs/exclude-filter.xml
+++ b/core/src/main/findbugs/exclude-filter.xml
@@ -58,7 +58,6 @@
       <Class name="org.apache.accumulo.core.util.AddressUtil" />
       <Class name="org.apache.accumulo.core.zookeeper.ZooUtil" />
       <Class name="org.apache.accumulo.core.security.VisibilityConstraint" />
-      <Class name="org.apache.accumulo.core.client.mock.IteratorAdapter" />
     </Or>
     <Or>
       <Bug code="NM" pattern="NM_SAME_SIMPLE_NAME_AS_SUPERCLASS" />
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mock/IteratorAdapter.java b/core/src/main/java/org/apache/accumulo/core/client/mock/IteratorAdapter.java
deleted file mode 100644
index d88dac9cc7..0000000000
--- a/core/src/main/java/org/apache/accumulo/core/client/mock/IteratorAdapter.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * 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.core.client.mock;
-
-import org.apache.accumulo.core.data.Key;
-import org.apache.accumulo.core.data.Value;
-import org.apache.accumulo.core.iterators.SortedKeyValueIterator;
-
-/**
- * @deprecated since 1.8.0; use {@link org.apache.accumulo.core.iterators.IteratorAdapter} instead.
- */
-@Deprecated
-public class IteratorAdapter extends org.apache.accumulo.core.iterators.IteratorAdapter {
-
-  public IteratorAdapter(SortedKeyValueIterator<Key,Value> inner) {
-    super(inner);
-  }
-
-}
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mock/MockAccumulo.java b/core/src/main/java/org/apache/accumulo/core/client/mock/MockAccumulo.java
deleted file mode 100644
index b04b706b09..0000000000
--- a/core/src/main/java/org/apache/accumulo/core/client/mock/MockAccumulo.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * 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.core.client.mock;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.EnumSet;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.SortedSet;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import org.apache.accumulo.core.client.BatchScanner;
-import org.apache.accumulo.core.client.admin.TimeType;
-import org.apache.accumulo.core.client.impl.Namespace;
-import org.apache.accumulo.core.client.impl.Tables;
-import org.apache.accumulo.core.client.security.tokens.PasswordToken;
-import org.apache.accumulo.core.data.Mutation;
-import org.apache.accumulo.core.metadata.MetadataTable;
-import org.apache.accumulo.core.metadata.RootTable;
-import org.apache.accumulo.core.replication.ReplicationTable;
-import org.apache.accumulo.core.security.Authorizations;
-import org.apache.accumulo.core.security.NamespacePermission;
-import org.apache.accumulo.core.security.SystemPermission;
-import org.apache.accumulo.core.security.TablePermission;
-import org.apache.hadoop.fs.FileSystem;
-import org.apache.hadoop.io.Text;
-
-/**
- * @deprecated since 1.8.0; use MiniAccumuloCluster or a standard mock framework instead.
- */
-@Deprecated
-public class MockAccumulo {
-  final Map<String,MockTable> tables = new HashMap<>();
-  final Map<String,MockNamespace> namespaces = new HashMap<>();
-  final Map<String,String> systemProperties = new HashMap<>();
-  Map<String,MockUser> users = new HashMap<>();
-  final FileSystem fs;
-  final AtomicInteger tableIdCounter = new AtomicInteger(0);
-
-  @Deprecated
-  MockAccumulo(FileSystem fs) {
-    MockUser root = new MockUser("root", new PasswordToken(new byte[0]), Authorizations.EMPTY);
-    root.permissions.add(SystemPermission.SYSTEM);
-    users.put(root.name, root);
-    namespaces.put(Namespace.DEFAULT, new MockNamespace());
-    namespaces.put(Namespace.ACCUMULO, new MockNamespace());
-    createTable("root", RootTable.NAME, true, TimeType.LOGICAL);
-    createTable("root", MetadataTable.NAME, true, TimeType.LOGICAL);
-    createTable("root", ReplicationTable.NAME, true, TimeType.LOGICAL);
-    this.fs = fs;
-  }
-
-  public FileSystem getFileSystem() {
-    return fs;
-  }
-
-  void setProperty(String key, String value) {
-    systemProperties.put(key, value);
-  }
-
-  String removeProperty(String key) {
-    return systemProperties.remove(key);
-  }
-
-  public void addMutation(String table, Mutation m) {
-    MockTable t = tables.get(table);
-    t.addMutation(m);
-  }
-
-  public BatchScanner createBatchScanner(String tableName, Authorizations authorizations) {
-    return new MockBatchScanner(tables.get(tableName), authorizations);
-  }
-
-  public void createTable(String username, String tableName, boolean useVersions,
-      TimeType timeType) {
-    Map<String,String> opts = Collections.emptyMap();
-    createTable(username, tableName, useVersions, timeType, opts);
-  }
-
-  public void createTable(String username, String tableName, boolean useVersions, TimeType timeType,
-      Map<String,String> properties) {
-    String namespace = Tables.qualify(tableName).getFirst();
-
-    if (!namespaceExists(namespace)) {
-      return;
-    }
-
-    MockNamespace n = namespaces.get(namespace);
-    MockTable t = new MockTable(n, useVersions, timeType,
-        Integer.toString(tableIdCounter.incrementAndGet()), properties);
-    t.userPermissions.put(username, EnumSet.allOf(TablePermission.class));
-    t.setNamespaceName(namespace);
-    t.setNamespace(n);
-    tables.put(tableName, t);
-  }
-
-  public void createTable(String username, String tableName, TimeType timeType,
-      Map<String,String> properties) {
-    String namespace = Tables.qualify(tableName).getFirst();
-    HashMap<String,String> props = new HashMap<>(properties);
-
-    if (!namespaceExists(namespace)) {
-      return;
-    }
-
-    MockNamespace n = namespaces.get(namespace);
-    MockTable t = new MockTable(n, timeType, Integer.toString(tableIdCounter.incrementAndGet()),
-        props);
-    t.userPermissions.put(username, EnumSet.allOf(TablePermission.class));
-    t.setNamespaceName(namespace);
-    t.setNamespace(n);
-    tables.put(tableName, t);
-  }
-
-  public void createNamespace(String username, String namespace) {
-    if (!namespaceExists(namespace)) {
-      MockNamespace n = new MockNamespace();
-      n.userPermissions.put(username, EnumSet.allOf(NamespacePermission.class));
-      namespaces.put(namespace, n);
-    }
-  }
-
-  public void addSplits(String tableName, SortedSet<Text> partitionKeys) {
-    tables.get(tableName).addSplits(partitionKeys);
-  }
-
-  public Collection<Text> getSplits(String tableName) {
-    return tables.get(tableName).getSplits();
-  }
-
-  public void merge(String tableName, Text start, Text end) {
-    tables.get(tableName).merge(start, end);
-  }
-
-  private boolean namespaceExists(String namespace) {
-    return namespaces.containsKey(namespace);
-  }
-}
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mock/MockBatchDeleter.java b/core/src/main/java/org/apache/accumulo/core/client/mock/MockBatchDeleter.java
deleted file mode 100644
index 1b2038071c..0000000000
--- a/core/src/main/java/org/apache/accumulo/core/client/mock/MockBatchDeleter.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * 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.core.client.mock;
-
-import java.util.Iterator;
-import java.util.Map.Entry;
-
-import org.apache.accumulo.core.client.BatchDeleter;
-import org.apache.accumulo.core.client.BatchWriter;
-import org.apache.accumulo.core.client.MutationsRejectedException;
-import org.apache.accumulo.core.client.TableNotFoundException;
-import org.apache.accumulo.core.data.Key;
-import org.apache.accumulo.core.data.Mutation;
-import org.apache.accumulo.core.data.Value;
-import org.apache.accumulo.core.security.Authorizations;
-import org.apache.accumulo.core.security.ColumnVisibility;
-
-/**
- * {@link BatchDeleter} for a {@link MockAccumulo} instance. Behaves similarly to a regular
- * {@link BatchDeleter}, with a few exceptions:
- * <ol>
- * <li>There is no waiting for memory to fill before flushing</li>
- * <li>Only one thread is used for writing</li>
- * </ol>
- *
- * Otherwise, it behaves as expected.
- *
- * @deprecated since 1.8.0; use MiniAccumuloCluster or a standard mock framework instead.
- */
-@Deprecated
-public class MockBatchDeleter extends MockBatchScanner implements BatchDeleter {
-
-  private final MockAccumulo acc;
-  private final String tableName;
-
-  /**
-   * Create a {@link BatchDeleter} for the specified instance on the specified table where the
-   * writer uses the specified {@link Authorizations}.
-   */
-  public MockBatchDeleter(MockAccumulo acc, String tableName, Authorizations auths) {
-    super(acc.tables.get(tableName), auths);
-    this.acc = acc;
-    this.tableName = tableName;
-  }
-
-  @Override
-  public void delete() throws MutationsRejectedException, TableNotFoundException {
-
-    try (BatchWriter writer = new MockBatchWriter(acc, tableName)) {
-      Iterator<Entry<Key,Value>> iter = super.iterator();
-      while (iter.hasNext()) {
-        Entry<Key,Value> next = iter.next();
-        Key k = next.getKey();
-        Mutation m = new Mutation(k.getRow());
-        m.putDelete(k.getColumnFamily(), k.getColumnQualifier(),
-            new ColumnVisibility(k.getColumnVisibility()), k.getTimestamp());
-        writer.addMutation(m);
-      }
-    }
-  }
-
-}
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mock/MockBatchScanner.java b/core/src/main/java/org/apache/accumulo/core/client/mock/MockBatchScanner.java
deleted file mode 100644
index 1ea27b5870..0000000000
--- a/core/src/main/java/org/apache/accumulo/core/client/mock/MockBatchScanner.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * 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.core.client.mock;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map.Entry;
-
-import org.apache.accumulo.core.client.BatchScanner;
-import org.apache.accumulo.core.data.Key;
-import org.apache.accumulo.core.data.Range;
-import org.apache.accumulo.core.data.Value;
-import org.apache.accumulo.core.iterators.SortedKeyValueIterator;
-import org.apache.accumulo.core.iterators.SortedMapIterator;
-import org.apache.accumulo.core.security.Authorizations;
-import org.apache.commons.collections.iterators.IteratorChain;
-
-/**
- * @deprecated since 1.8.0; use MiniAccumuloCluster or a standard mock framework instead.
- */
-@Deprecated
-public class MockBatchScanner extends MockScannerBase implements BatchScanner {
-
-  List<Range> ranges = null;
-
-  public MockBatchScanner(MockTable mockTable, Authorizations authorizations) {
-    super(mockTable, authorizations);
-  }
-
-  @Override
-  public void setRanges(Collection<Range> ranges) {
-    if (ranges == null || ranges.size() == 0) {
-      throw new IllegalArgumentException("ranges must be non null and contain at least 1 range");
-    }
-
-    this.ranges = new ArrayList<>(ranges);
-  }
-
-  @SuppressWarnings("unchecked")
-  @Override
-  public Iterator<Entry<Key,Value>> iterator() {
-    if (ranges == null) {
-      throw new IllegalStateException("ranges not set");
-    }
-
-    IteratorChain chain = new IteratorChain();
-    for (Range range : ranges) {
-      SortedKeyValueIterator<Key,Value> i = new SortedMapIterator(table.table);
-      try {
-        i = createFilter(i);
-        i.seek(range, createColumnBSS(fetchedColumns), !fetchedColumns.isEmpty());
-        chain.addIterator(new IteratorAdapter(i));
-      } catch (IOException e) {
-        throw new RuntimeException(e);
-      }
-    }
-    return chain;
-  }
-
-  @Override
-  public void close() {}
-}
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mock/MockBatchWriter.java b/core/src/main/java/org/apache/accumulo/core/client/mock/MockBatchWriter.java
deleted file mode 100644
index 53a0ddc785..0000000000
--- a/core/src/main/java/org/apache/accumulo/core/client/mock/MockBatchWriter.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * 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.core.client.mock;
-
-import static com.google.common.base.Preconditions.checkArgument;
-
-import org.apache.accumulo.core.client.BatchWriter;
-import org.apache.accumulo.core.client.MutationsRejectedException;
-import org.apache.accumulo.core.data.Mutation;
-
-/**
- * @deprecated since 1.8.0; use MiniAccumuloCluster or a standard mock framework instead.
- */
-@Deprecated
-public class MockBatchWriter implements BatchWriter {
-
-  final String tablename;
-  final MockAccumulo acu;
-
-  MockBatchWriter(MockAccumulo acu, String tablename) {
-    this.acu = acu;
-    this.tablename = tablename;
-  }
-
-  @Override
-  public void addMutation(Mutation m) throws MutationsRejectedException {
-    checkArgument(m != null, "m is null");
-    acu.addMutation(tablename, m);
-  }
-
-  @Override
-  public void addMutations(Iterable<Mutation> iterable) throws MutationsRejectedException {
-    checkArgument(iterable != null, "iterable is null");
-    for (Mutation m : iterable) {
-      acu.addMutation(tablename, m);
-    }
-  }
-
-  @Override
-  public void flush() throws MutationsRejectedException {}
-
-  @Override
-  public void close() throws MutationsRejectedException {}
-
-}
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mock/MockConfiguration.java b/core/src/main/java/org/apache/accumulo/core/client/mock/MockConfiguration.java
deleted file mode 100644
index 38ed1df3bd..0000000000
--- a/core/src/main/java/org/apache/accumulo/core/client/mock/MockConfiguration.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * 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.core.client.mock;
-
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.function.Predicate;
-
-import org.apache.accumulo.core.conf.AccumuloConfiguration;
-import org.apache.accumulo.core.conf.Property;
-
-/**
- * @deprecated since 1.8.0; use MiniAccumuloCluster or a standard mock framework instead.
- */
-@Deprecated
-class MockConfiguration extends AccumuloConfiguration {
-  Map<String,String> map;
-
-  MockConfiguration(Map<String,String> settings) {
-    map = settings;
-  }
-
-  public void put(String k, String v) {
-    map.put(k, v);
-  }
-
-  @Override
-  public String get(Property property) {
-    return map.get(property.getKey());
-  }
-
-  @Override
-  public void getProperties(Map<String,String> props, Predicate<String> filter) {
-    for (Entry<String,String> entry : map.entrySet()) {
-      if (filter.test(entry.getKey())) {
-        props.put(entry.getKey(), entry.getValue());
-      }
-    }
-  }
-}
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mock/MockConnector.java b/core/src/main/java/org/apache/accumulo/core/client/mock/MockConnector.java
deleted file mode 100644
index b831110712..0000000000
--- a/core/src/main/java/org/apache/accumulo/core/client/mock/MockConnector.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * 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.core.client.mock;
-
-import java.util.Properties;
-import java.util.concurrent.TimeUnit;
-
-import org.apache.accumulo.core.client.AccumuloSecurityException;
-import org.apache.accumulo.core.client.BatchDeleter;
-import org.apache.accumulo.core.client.BatchScanner;
-import org.apache.accumulo.core.client.BatchWriter;
-import org.apache.accumulo.core.client.BatchWriterConfig;
-import org.apache.accumulo.core.client.ClientInfo;
-import org.apache.accumulo.core.client.ConditionalWriter;
-import org.apache.accumulo.core.client.ConditionalWriterConfig;
-import org.apache.accumulo.core.client.Connector;
-import org.apache.accumulo.core.client.Instance;
-import org.apache.accumulo.core.client.MultiTableBatchWriter;
-import org.apache.accumulo.core.client.Scanner;
-import org.apache.accumulo.core.client.TableNotFoundException;
-import org.apache.accumulo.core.client.admin.InstanceOperations;
-import org.apache.accumulo.core.client.admin.NamespaceOperations;
-import org.apache.accumulo.core.client.admin.ReplicationOperations;
-import org.apache.accumulo.core.client.admin.SecurityOperations;
-import org.apache.accumulo.core.client.admin.TableOperations;
-import org.apache.accumulo.core.client.impl.ClientInfoImpl;
-import org.apache.accumulo.core.client.impl.Credentials;
-import org.apache.accumulo.core.client.impl.thrift.SecurityErrorCode;
-import org.apache.accumulo.core.client.security.tokens.NullToken;
-import org.apache.accumulo.core.conf.ClientProperty;
-import org.apache.accumulo.core.security.Authorizations;
-
-/**
- * @deprecated since 1.8.0; use MiniAccumuloCluster or a standard mock framework instead.
- */
-@Deprecated
-public class MockConnector extends Connector {
-
-  String username;
-  private final MockAccumulo acu;
-  private final Instance instance;
-
-  MockConnector(String username, MockInstance instance) throws AccumuloSecurityException {
-    this(new Credentials(username, new NullToken()),
-        new MockAccumulo(MockInstance.getDefaultFileSystem()), instance);
-  }
-
-  MockConnector(Credentials credentials, MockAccumulo acu, MockInstance instance)
-      throws AccumuloSecurityException {
-    if (credentials.getToken().isDestroyed())
-      throw new AccumuloSecurityException(credentials.getPrincipal(),
-          SecurityErrorCode.TOKEN_EXPIRED);
-    this.username = credentials.getPrincipal();
-    this.acu = acu;
-    this.instance = instance;
-  }
-
-  @Override
-  public BatchScanner createBatchScanner(String tableName, Authorizations authorizations,
-      int numQueryThreads) throws TableNotFoundException {
-    if (acu.tables.get(tableName) == null)
-      throw new TableNotFoundException(tableName, tableName, "no such table");
-    return acu.createBatchScanner(tableName, authorizations);
-  }
-
-  @Deprecated
-  @Override
-  public BatchDeleter createBatchDeleter(String tableName, Authorizations authorizations,
-      int numQueryThreads, long maxMemory, long maxLatency, int maxWriteThreads)
-      throws TableNotFoundException {
-    if (acu.tables.get(tableName) == null)
-      throw new TableNotFoundException(tableName, tableName, "no such table");
-    return new MockBatchDeleter(acu, tableName, authorizations);
-  }
-
-  @Override
-  public BatchDeleter createBatchDeleter(String tableName, Authorizations authorizations,
-      int numQueryThreads, BatchWriterConfig config) throws TableNotFoundException {
-    return createBatchDeleter(tableName, authorizations, numQueryThreads, config.getMaxMemory(),
-        config.getMaxLatency(TimeUnit.MILLISECONDS), config.getMaxWriteThreads());
-  }
-
-  @Override
-  public BatchDeleter createBatchDeleter(String tableName, Authorizations authorizations,
-      int numQueryThreads) throws TableNotFoundException {
-    return createBatchDeleter(tableName, authorizations, numQueryThreads, new BatchWriterConfig());
-  }
-
-  @Deprecated
-  @Override
-  public BatchWriter createBatchWriter(String tableName, long maxMemory, long maxLatency,
-      int maxWriteThreads) throws TableNotFoundException {
-    if (acu.tables.get(tableName) == null)
-      throw new TableNotFoundException(tableName, tableName, "no such table");
-    return new MockBatchWriter(acu, tableName);
-  }
-
-  @Override
-  public BatchWriter createBatchWriter(String tableName, BatchWriterConfig config)
-      throws TableNotFoundException {
-    return createBatchWriter(tableName, config.getMaxMemory(),
-        config.getMaxLatency(TimeUnit.MILLISECONDS), config.getMaxWriteThreads());
-  }
-
-  @Override
-  public BatchWriter createBatchWriter(String tableName) throws TableNotFoundException {
-    return createBatchWriter(tableName, new BatchWriterConfig());
-  }
-
-  @Deprecated
-  @Override
-  public MultiTableBatchWriter createMultiTableBatchWriter(long maxMemory, long maxLatency,
-      int maxWriteThreads) {
-    return new MockMultiTableBatchWriter(acu);
-  }
-
-  @Override
-  public MultiTableBatchWriter createMultiTableBatchWriter(BatchWriterConfig config) {
-    return createMultiTableBatchWriter(config.getMaxMemory(),
-        config.getMaxLatency(TimeUnit.MILLISECONDS), config.getMaxWriteThreads());
-  }
-
-  @Override
-  public MultiTableBatchWriter createMultiTableBatchWriter() {
-    return createMultiTableBatchWriter(new BatchWriterConfig());
-  }
-
-  @Override
-  public Scanner createScanner(String tableName, Authorizations authorizations)
-      throws TableNotFoundException {
-    MockTable table = acu.tables.get(tableName);
-    if (table == null)
-      throw new TableNotFoundException(tableName, tableName, "no such table");
-    return new MockScanner(table, authorizations);
-  }
-
-  @Override
-  public Instance getInstance() {
-    return instance;
-  }
-
-  @Override
-  public String whoami() {
-    return username;
-  }
-
-  @Override
-  public String getInstanceID() {
-    return instance.getInstanceID();
-  }
-
-  @Override
-  public TableOperations tableOperations() {
-    return new MockTableOperations(acu, username);
-  }
-
-  @Override
-  public SecurityOperations securityOperations() {
-    return new MockSecurityOperations(acu);
-  }
-
-  @Override
-  public InstanceOperations instanceOperations() {
-    return new MockInstanceOperations(acu);
-  }
-
-  @Override
-  public NamespaceOperations namespaceOperations() {
-    return new MockNamespaceOperations(acu, username);
-  }
-
-  @Override
-  public ConditionalWriter createConditionalWriter(String tableName, ConditionalWriterConfig config)
-      throws TableNotFoundException {
-    // TODO add implementation
-    throw new UnsupportedOperationException();
-  }
-
-  @Override
-  public ReplicationOperations replicationOperations() {
-    // TODO add implementation
-    throw new UnsupportedOperationException();
-  }
-
-  @Override
-  public ClientInfo info() {
-    Properties props = new Properties();
-    props.setProperty(ClientProperty.INSTANCE_ZOOKEEPERS.getKey(), instance.getZooKeepers());
-    props.setProperty(ClientProperty.INSTANCE_NAME.getKey(), instance.getInstanceName());
-    props.setProperty(ClientProperty.AUTH_PRINCIPAL.getKey(), username);
-    return new ClientInfoImpl(props);
-  }
-}
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mock/MockInstance.java b/core/src/main/java/org/apache/accumulo/core/client/mock/MockInstance.java
deleted file mode 100644
index 7e143e05c3..0000000000
--- a/core/src/main/java/org/apache/accumulo/core/client/mock/MockInstance.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * 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.core.client.mock;
-
-import java.io.IOException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.accumulo.core.client.AccumuloException;
-import org.apache.accumulo.core.client.AccumuloSecurityException;
-import org.apache.accumulo.core.client.Connector;
-import org.apache.accumulo.core.client.Instance;
-import org.apache.accumulo.core.client.impl.Credentials;
-import org.apache.accumulo.core.client.impl.thrift.SecurityErrorCode;
-import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
-import org.apache.accumulo.core.client.security.tokens.PasswordToken;
-import org.apache.accumulo.core.util.CachedConfiguration;
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.FileSystem;
-
-/**
- * Mock Accumulo provides an in memory implementation of the Accumulo client API. It is possible
- * that the behavior of this implementation may differ subtly from the behavior of Accumulo. This
- * could result in unit tests that pass on Mock Accumulo and fail on Accumulo or visa-versa.
- * Documenting the differences would be difficult and is not done.
- *
- * <p>
- * An alternative to Mock Accumulo called MiniAccumuloCluster was introduced in Accumulo 1.5.
- * MiniAccumuloCluster spins up actual Accumulo server processes, can be used for unit testing, and
- * its behavior should match Accumulo. The drawback of MiniAccumuloCluster is that it starts more
- * slowly than Mock Accumulo.
- *
- * @deprecated since 1.8.0; use MiniAccumuloCluster or a standard mock framework instead.
- */
-@Deprecated
-public class MockInstance implements Instance {
-
-  static final String genericAddress = "localhost:1234";
-  static final Map<String,MockAccumulo> instances = new HashMap<>();
-  MockAccumulo acu;
-  String instanceName;
-
-  public MockInstance() {
-    acu = new MockAccumulo(getDefaultFileSystem());
-    instanceName = "mock-instance";
-  }
-
-  static FileSystem getDefaultFileSystem() {
-    try {
-      Configuration conf = CachedConfiguration.getInstance();
-      conf.set("fs.file.impl", "org.apache.hadoop.fs.LocalFileSystem");
-      conf.set("fs.default.name", "file:///");
-      return FileSystem.get(CachedConfiguration.getInstance());
-    } catch (IOException ex) {
-      throw new RuntimeException(ex);
-    }
-  }
-
-  public MockInstance(String instanceName) {
-    this(instanceName, getDefaultFileSystem());
-  }
-
-  public MockInstance(String instanceName, FileSystem fs) {
-    synchronized (instances) {
-      if (instances.containsKey(instanceName))
-        acu = instances.get(instanceName);
-      else
-        instances.put(instanceName, acu = new MockAccumulo(fs));
-    }
-    this.instanceName = instanceName;
-  }
-
-  @Override
-  public String getRootTabletLocation() {
-    return genericAddress;
-  }
-
-  @Override
-  public List<String> getMasterLocations() {
-    return Collections.singletonList(genericAddress);
-  }
-
-  @Override
-  public String getInstanceID() {
-    return "mock-instance-id";
-  }
-
-  @Override
-  public String getInstanceName() {
-    return instanceName;
-  }
-
-  @Override
-  public String getZooKeepers() {
-    return "localhost";
-  }
-
-  @Override
-  public int getZooKeepersSessionTimeOut() {
-    return 30 * 1000;
-  }
-
-  @Override
-  public Connector getConnector(String principal, AuthenticationToken token)
-      throws AccumuloException, AccumuloSecurityException {
-    Connector conn = new MockConnector(new Credentials(principal, token), acu, this);
-    if (!acu.users.containsKey(principal))
-      conn.securityOperations().createLocalUser(principal, (PasswordToken) token);
-    else if (!acu.users.get(principal).token.equals(token))
-      throw new AccumuloSecurityException(principal, SecurityErrorCode.BAD_CREDENTIALS);
-    return conn;
-  }
-}
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mock/MockInstanceOperations.java b/core/src/main/java/org/apache/accumulo/core/client/mock/MockInstanceOperations.java
deleted file mode 100644
index b86b67aa78..0000000000
--- a/core/src/main/java/org/apache/accumulo/core/client/mock/MockInstanceOperations.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * 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.core.client.mock;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.accumulo.core.client.AccumuloException;
-import org.apache.accumulo.core.client.AccumuloSecurityException;
-import org.apache.accumulo.core.client.admin.ActiveCompaction;
-import org.apache.accumulo.core.client.admin.ActiveScan;
-import org.apache.accumulo.core.client.admin.InstanceOperations;
-import org.apache.accumulo.start.classloader.vfs.AccumuloVFSClassLoader;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * @deprecated since 1.8.0; use MiniAccumuloCluster or a standard mock framework instead.
- */
-@Deprecated
-class MockInstanceOperations implements InstanceOperations {
-  private static final Logger log = LoggerFactory.getLogger(MockInstanceOperations.class);
-  MockAccumulo acu;
-
-  public MockInstanceOperations(MockAccumulo acu) {
-    this.acu = acu;
-  }
-
-  @Override
-  public void setProperty(String property, String value)
-      throws AccumuloException, AccumuloSecurityException {
-    acu.setProperty(property, value);
-  }
-
-  @Override
-  public void removeProperty(String property) throws AccumuloException, AccumuloSecurityException {
-    acu.removeProperty(property);
-  }
-
-  @Override
-  public Map<String,String> getSystemConfiguration()
-      throws AccumuloException, AccumuloSecurityException {
-    return acu.systemProperties;
-  }
-
-  @Override
-  public Map<String,String> getSiteConfiguration()
-      throws AccumuloException, AccumuloSecurityException {
-    return acu.systemProperties;
-  }
-
-  @Override
-  public List<String> getTabletServers() {
-    return new ArrayList<>();
-  }
-
-  @Override
-  public List<ActiveScan> getActiveScans(String tserver)
-      throws AccumuloException, AccumuloSecurityException {
-    return new ArrayList<>();
-  }
-
-  @Override
-  public boolean testClassLoad(String className, String asTypeName)
-      throws AccumuloException, AccumuloSecurityException {
-    try {
-      AccumuloVFSClassLoader.loadClass(className, Class.forName(asTypeName));
-    } catch (ClassNotFoundException e) {
-      log.warn("Could not find class named '" + className + "' in testClassLoad.", e);
-      return false;
-    }
-    return true;
-  }
-
-  @Override
-  public List<ActiveCompaction> getActiveCompactions(String tserver)
-      throws AccumuloException, AccumuloSecurityException {
-    return new ArrayList<>();
-  }
-
-  @Override
-  public void ping(String tserver) throws AccumuloException {
-
-  }
-
-  @Override
-  public void waitForBalance() throws AccumuloException {}
-}
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mock/MockMultiTableBatchWriter.java b/core/src/main/java/org/apache/accumulo/core/client/mock/MockMultiTableBatchWriter.java
deleted file mode 100644
index 20b71aa6a3..0000000000
--- a/core/src/main/java/org/apache/accumulo/core/client/mock/MockMultiTableBatchWriter.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * 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.core.client.mock;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.accumulo.core.client.AccumuloException;
-import org.apache.accumulo.core.client.AccumuloSecurityException;
-import org.apache.accumulo.core.client.BatchWriter;
-import org.apache.accumulo.core.client.MultiTableBatchWriter;
-import org.apache.accumulo.core.client.MutationsRejectedException;
-import org.apache.accumulo.core.client.TableNotFoundException;
-
-/**
- * @deprecated since 1.8.0; use MiniAccumuloCluster or a standard mock framework instead.
- */
-@Deprecated
-public class MockMultiTableBatchWriter implements MultiTableBatchWriter {
-  MockAccumulo acu = null;
-  Map<String,MockBatchWriter> bws = null;
-
-  public MockMultiTableBatchWriter(MockAccumulo acu) {
-    this.acu = acu;
-    bws = new HashMap<>();
-  }
-
-  @Override
-  public BatchWriter getBatchWriter(String table)
-      throws AccumuloException, AccumuloSecurityException, TableNotFoundException {
-    if (!bws.containsKey(table)) {
-      bws.put(table, new MockBatchWriter(acu, table));
-    }
-    return bws.get(table);
-  }
-
-  @Override
-  public void flush() throws MutationsRejectedException {}
-
-  @Override
-  public void close() throws MutationsRejectedException {}
-
-  @Override
-  public boolean isClosed() {
-    throw new UnsupportedOperationException();
-  }
-}
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mock/MockNamespace.java b/core/src/main/java/org/apache/accumulo/core/client/mock/MockNamespace.java
deleted file mode 100644
index 4f57d50dda..0000000000
--- a/core/src/main/java/org/apache/accumulo/core/client/mock/MockNamespace.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * 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.core.client.mock;
-
-import java.util.EnumSet;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.apache.accumulo.core.conf.DefaultConfiguration;
-import org.apache.accumulo.core.conf.Property;
-import org.apache.accumulo.core.security.NamespacePermission;
-
-/**
- * @deprecated since 1.8.0; use MiniAccumuloCluster or a standard mock framework instead.
- */
-@Deprecated
-public class MockNamespace {
-
-  final HashMap<String,String> settings;
-  Map<String,EnumSet<NamespacePermission>> userPermissions = new HashMap<>();
-
-  public MockNamespace() {
-    settings = new HashMap<>();
-    for (Entry<String,String> entry : DefaultConfiguration.getInstance()) {
-      String key = entry.getKey();
-      if (key.startsWith(Property.TABLE_PREFIX.getKey())) {
-        settings.put(key, entry.getValue());
-      }
-    }
-  }
-
-  public List<String> getTables(MockAccumulo acu) {
-    List<String> l = new LinkedList<>();
-    for (String t : acu.tables.keySet()) {
-      if (acu.tables.get(t).getNamespace().equals(this)) {
-        l.add(t);
-      }
-    }
-    return l;
-  }
-}
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mock/MockNamespaceOperations.java b/core/src/main/java/org/apache/accumulo/core/client/mock/MockNamespaceOperations.java
deleted file mode 100644
index 65af2d70d2..0000000000
--- a/core/src/main/java/org/apache/accumulo/core/client/mock/MockNamespaceOperations.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * 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.core.client.mock;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.SortedSet;
-import java.util.TreeSet;
-
-import org.apache.accumulo.core.client.AccumuloException;
-import org.apache.accumulo.core.client.AccumuloSecurityException;
-import org.apache.accumulo.core.client.NamespaceExistsException;
-import org.apache.accumulo.core.client.NamespaceNotEmptyException;
-import org.apache.accumulo.core.client.NamespaceNotFoundException;
-import org.apache.accumulo.core.client.impl.NamespaceOperationsHelper;
-import org.apache.accumulo.core.client.impl.Namespaces;
-import org.apache.accumulo.core.client.impl.Tables;
-import org.apache.accumulo.start.classloader.vfs.AccumuloVFSClassLoader;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * @deprecated since 1.8.0; use MiniAccumuloCluster or a standard mock framework instead.
- */
-@Deprecated
-class MockNamespaceOperations extends NamespaceOperationsHelper {
-
-  private static final Logger log = LoggerFactory.getLogger(MockNamespaceOperations.class);
-
-  final private MockAccumulo acu;
-  final private String username;
-
-  MockNamespaceOperations(MockAccumulo acu, String username) {
-    this.acu = acu;
-    this.username = username;
-  }
-
-  @Override
-  public SortedSet<String> list() {
-    return new TreeSet<>(acu.namespaces.keySet());
-  }
-
-  @Override
-  public boolean exists(String namespace) {
-    return acu.namespaces.containsKey(namespace);
-  }
-
-  @Override
-  public void create(String namespace)
-      throws AccumuloException, AccumuloSecurityException, NamespaceExistsException {
-    if (!namespace.matches(Namespaces.VALID_NAME_REGEX))
-      throw new IllegalArgumentException();
-
-    if (exists(namespace))
-      throw new NamespaceExistsException(namespace, namespace, "");
-    else
-      acu.createNamespace(username, namespace);
-  }
-
-  @Override
-  public void delete(String namespace) throws AccumuloException, AccumuloSecurityException,
-      NamespaceNotFoundException, NamespaceNotEmptyException {
-    if (acu.namespaces.get(namespace).getTables(acu).size() > 0) {
-      throw new NamespaceNotEmptyException(null, namespace, null);
-    }
-    acu.namespaces.remove(namespace);
-  }
-
-  @Override
-  public void rename(String oldNamespaceName, String newNamespaceName)
-      throws AccumuloSecurityException, NamespaceNotFoundException, AccumuloException,
-      NamespaceExistsException {
-    if (!exists(oldNamespaceName))
-      throw new NamespaceNotFoundException(oldNamespaceName, oldNamespaceName, "");
-    if (exists(newNamespaceName))
-      throw new NamespaceExistsException(newNamespaceName, newNamespaceName, "");
-
-    MockNamespace n = acu.namespaces.get(oldNamespaceName);
-    for (String t : n.getTables(acu)) {
-      String tt = newNamespaceName + "." + Tables.qualify(t).getSecond();
-      acu.tables.put(tt, acu.tables.remove(t));
-    }
-    acu.namespaces.put(newNamespaceName, acu.namespaces.remove(oldNamespaceName));
-  }
-
-  @Override
-  public void setProperty(String namespace, String property, String value)
-      throws AccumuloException, AccumuloSecurityException {
-    acu.namespaces.get(namespace).settings.put(property, value);
-  }
-
-  @Override
-  public void removeProperty(String namespace, String property)
-      throws AccumuloException, AccumuloSecurityException {
-    acu.namespaces.get(namespace).settings.remove(property);
-  }
-
-  @Override
-  public Iterable<Entry<String,String>> getProperties(String namespace)
-      throws NamespaceNotFoundException {
-    if (!exists(namespace)) {
-      throw new NamespaceNotFoundException(namespace, namespace, "");
-    }
-
-    return acu.namespaces.get(namespace).settings.entrySet();
-  }
-
-  @Override
-  public Map<String,String> namespaceIdMap() {
-    Map<String,String> result = new HashMap<>();
-    for (String table : acu.tables.keySet()) {
-      result.put(table, table);
-    }
-    return result;
-  }
-
-  @Override
-  public boolean testClassLoad(String namespace, String className, String asTypeName)
-      throws AccumuloException, AccumuloSecurityException, NamespaceNotFoundException {
-
-    try {
-      AccumuloVFSClassLoader.loadClass(className, Class.forName(asTypeName));
-    } catch (ClassNotFoundException e) {
-      log.warn("Could not load class '" + className + "' with type name '" + asTypeName
-          + "' in testClassLoad()", e);
-      return false;
-    }
-    return true;
-  }
-}
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mock/MockScanner.java b/core/src/main/java/org/apache/accumulo/core/client/mock/MockScanner.java
deleted file mode 100644
index 1e36964454..0000000000
--- a/core/src/main/java/org/apache/accumulo/core/client/mock/MockScanner.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * 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.core.client.mock;
-
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.Map.Entry;
-import java.util.concurrent.TimeUnit;
-
-import org.apache.accumulo.core.client.Scanner;
-import org.apache.accumulo.core.data.Key;
-import org.apache.accumulo.core.data.Range;
-import org.apache.accumulo.core.data.Value;
-import org.apache.accumulo.core.iterators.Filter;
-import org.apache.accumulo.core.iterators.SortedKeyValueIterator;
-import org.apache.accumulo.core.iterators.SortedMapIterator;
-import org.apache.accumulo.core.security.Authorizations;
-
-/**
- * @deprecated since 1.8.0; use MiniAccumuloCluster or a standard mock framework instead.
- */
-@Deprecated
-public class MockScanner extends MockScannerBase implements Scanner {
-
-  int batchSize = 0;
-  Range range = new Range();
-
-  MockScanner(MockTable table, Authorizations auths) {
-    super(table, auths);
-  }
-
-  @Deprecated
-  @Override
-  public void setTimeOut(int timeOut) {
-    if (timeOut == Integer.MAX_VALUE)
-      setTimeout(Long.MAX_VALUE, TimeUnit.MILLISECONDS);
-    else
-      setTimeout(timeOut, TimeUnit.SECONDS);
-  }
-
-  @Deprecated
-  @Override
-  public int getTimeOut() {
-    long timeout = getTimeout(TimeUnit.SECONDS);
-    if (timeout >= Integer.MAX_VALUE)
-      return Integer.MAX_VALUE;
-    return (int) timeout;
-  }
-
-  @Override
-  public void setRange(Range range) {
-    this.range = range;
-  }
-
-  @Override
-  public Range getRange() {
-    return this.range;
-  }
-
-  @Override
-  public void setBatchSize(int size) {
-    this.batchSize = size;
-  }
-
-  @Override
-  public int getBatchSize() {
-    return this.batchSize;
-  }
-
-  @Override
-  public void enableIsolation() {}
-
-  @Override
-  public void disableIsolation() {}
-
-  static class RangeFilter extends Filter {
-    Range range;
-
-    RangeFilter(SortedKeyValueIterator<Key,Value> i, Range range) {
-      setSource(i);
-      this.range = range;
-    }
-
-    @Override
-    public boolean accept(Key k, Value v) {
-      return range.contains(k);
-    }
-  }
-
-  @Override
-  public Iterator<Entry<Key,Value>> iterator() {
-    SortedKeyValueIterator<Key,Value> i = new SortedMapIterator(table.table);
-    try {
-      i = new RangeFilter(createFilter(i), range);
-      i.seek(range, createColumnBSS(fetchedColumns), !fetchedColumns.isEmpty());
-      return new IteratorAdapter(i);
-    } catch (IOException e) {
-      throw new RuntimeException(e);
-    }
-
-  }
-
-  @Override
-  public long getReadaheadThreshold() {
-    return 0;
-  }
-
-  @Override
-  public void setReadaheadThreshold(long batches) {
-
-  }
-
-}
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mock/MockScannerBase.java b/core/src/main/java/org/apache/accumulo/core/client/mock/MockScannerBase.java
deleted file mode 100644
index 059821c69f..0000000000
--- a/core/src/main/java/org/apache/accumulo/core/client/mock/MockScannerBase.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * 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.core.client.mock;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map.Entry;
-
-import org.apache.accumulo.core.client.SampleNotPresentException;
-import org.apache.accumulo.core.client.ScannerBase;
-import org.apache.accumulo.core.client.impl.ScannerOptions;
-import org.apache.accumulo.core.client.sample.SamplerConfiguration;
-import org.apache.accumulo.core.conf.AccumuloConfiguration;
-import org.apache.accumulo.core.conf.DefaultConfiguration;
-import org.apache.accumulo.core.data.ArrayByteSequence;
-import org.apache.accumulo.core.data.ByteSequence;
-import org.apache.accumulo.core.data.Column;
-import org.apache.accumulo.core.data.Key;
-import org.apache.accumulo.core.data.Value;
-import org.apache.accumulo.core.iterators.IteratorEnvironment;
-import org.apache.accumulo.core.iterators.IteratorUtil;
-import org.apache.accumulo.core.iterators.IteratorUtil.IteratorScope;
-import org.apache.accumulo.core.iterators.SortedKeyValueIterator;
-import org.apache.accumulo.core.iterators.system.ColumnFamilySkippingIterator;
-import org.apache.accumulo.core.iterators.system.ColumnQualifierFilter;
-import org.apache.accumulo.core.iterators.system.DeletingIterator;
-import org.apache.accumulo.core.iterators.system.MultiIterator;
-import org.apache.accumulo.core.iterators.system.VisibilityFilter;
-import org.apache.accumulo.core.security.Authorizations;
-import org.apache.commons.lang.NotImplementedException;
-
-/**
- * @deprecated since 1.8.0; use MiniAccumuloCluster or a standard mock framework instead.
- */
-@Deprecated
-public class MockScannerBase extends ScannerOptions implements ScannerBase {
-
-  protected final MockTable table;
-  protected final Authorizations auths;
-
-  MockScannerBase(MockTable mockTable, Authorizations authorizations) {
-    this.table = mockTable;
-    this.auths = authorizations;
-  }
-
-  static HashSet<ByteSequence> createColumnBSS(Collection<Column> columns) {
-    HashSet<ByteSequence> columnSet = new HashSet<>();
-    for (Column c : columns) {
-      columnSet.add(new ArrayByteSequence(c.getColumnFamily()));
-    }
-    return columnSet;
-  }
-
-  static class MockIteratorEnvironment implements IteratorEnvironment {
-
-    private final Authorizations auths;
-
-    MockIteratorEnvironment(Authorizations auths) {
-      this.auths = auths;
-    }
-
-    @Override
-    public SortedKeyValueIterator<Key,Value> reserveMapFileReader(String mapFileName)
-        throws IOException {
-      throw new NotImplementedException();
-    }
-
-    @Override
-    public AccumuloConfiguration getConfig() {
-      return DefaultConfiguration.getInstance();
-    }
-
-    @Override
-    public IteratorScope getIteratorScope() {
-      return IteratorScope.scan;
-    }
-
-    @Override
-    public boolean isFullMajorCompaction() {
-      return false;
-    }
-
-    private ArrayList<SortedKeyValueIterator<Key,Value>> topLevelIterators = new ArrayList<>();
-
-    @Override
-    public void registerSideChannel(SortedKeyValueIterator<Key,Value> iter) {
-      topLevelIterators.add(iter);
-    }
-
-    @Override
-    public Authorizations getAuthorizations() {
-      return auths;
-    }
-
-    SortedKeyValueIterator<Key,Value> getTopLevelIterator(SortedKeyValueIterator<Key,Value> iter) {
-      if (topLevelIterators.isEmpty())
-        return iter;
-      ArrayList<SortedKeyValueIterator<Key,Value>> allIters = new ArrayList<>(topLevelIterators);
-      allIters.add(iter);
-      return new MultiIterator(allIters, false);
-    }
-
-    @Override
-    public boolean isSamplingEnabled() {
-      return false;
-    }
-
-    @Override
-    public SamplerConfiguration getSamplerConfiguration() {
-      return null;
-    }
-
-    @Override
-    public IteratorEnvironment cloneWithSamplingEnabled() {
-      throw new SampleNotPresentException();
-    }
-  }
-
-  public SortedKeyValueIterator<Key,Value> createFilter(SortedKeyValueIterator<Key,Value> inner)
-      throws IOException {
-    byte[] defaultLabels = {};
-    inner = new ColumnFamilySkippingIterator(new DeletingIterator(inner, false));
-    SortedKeyValueIterator<Key,Value> cqf = ColumnQualifierFilter.wrap(inner,
-        new HashSet<>(fetchedColumns));
-    SortedKeyValueIterator<Key,Value> vf = VisibilityFilter.wrap(cqf, auths, defaultLabels);
-    AccumuloConfiguration conf = new MockConfiguration(table.settings);
-    MockIteratorEnvironment iterEnv = new MockIteratorEnvironment(auths);
-    return iterEnv.getTopLevelIterator(IteratorUtil.loadIterators(IteratorScope.scan, vf, null,
-        conf, serverSideIteratorList, serverSideIteratorOptions, iterEnv, false));
-  }
-
-  @Override
-  public Iterator<Entry<Key,Value>> iterator() {
-    throw new UnsupportedOperationException();
-  }
-
-  @Override
-  public Authorizations getAuthorizations() {
-    return auths;
-  }
-
-  @Override
-  public void setClassLoaderContext(String context) {
-    throw new UnsupportedOperationException();
-  }
-}
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mock/MockSecurityOperations.java b/core/src/main/java/org/apache/accumulo/core/client/mock/MockSecurityOperations.java
deleted file mode 100644
index 79ad2fc7f3..0000000000
--- a/core/src/main/java/org/apache/accumulo/core/client/mock/MockSecurityOperations.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*
- * 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.core.client.mock;
-
-import java.util.EnumSet;
-import java.util.Set;
-
-import org.apache.accumulo.core.client.AccumuloException;
-import org.apache.accumulo.core.client.AccumuloSecurityException;
-import org.apache.accumulo.core.client.admin.DelegationTokenConfig;
-import org.apache.accumulo.core.client.admin.SecurityOperations;
-import org.apache.accumulo.core.client.impl.thrift.SecurityErrorCode;
-import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
-import org.apache.accumulo.core.client.security.tokens.DelegationToken;
-import org.apache.accumulo.core.client.security.tokens.PasswordToken;
-import org.apache.accumulo.core.security.Authorizations;
-import org.apache.accumulo.core.security.NamespacePermission;
-import org.apache.accumulo.core.security.SystemPermission;
-import org.apache.accumulo.core.security.TablePermission;
-
-/**
- * @deprecated since 1.8.0; use MiniAccumuloCluster or a standard mock framework instead.
- */
-@Deprecated
-class MockSecurityOperations implements SecurityOperations {
-
-  final private MockAccumulo acu;
-
-  MockSecurityOperations(MockAccumulo acu) {
-    this.acu = acu;
-  }
-
-  @Deprecated
-  @Override
-  public void createUser(String user, byte[] password, Authorizations authorizations)
-      throws AccumuloException, AccumuloSecurityException {
-    createLocalUser(user, new PasswordToken(password));
-    changeUserAuthorizations(user, authorizations);
-  }
-
-  @Override
-  public void createLocalUser(String principal, PasswordToken password)
-      throws AccumuloException, AccumuloSecurityException {
-    this.acu.users.put(principal, new MockUser(principal, password, new Authorizations()));
-  }
-
-  @Deprecated
-  @Override
-  public void dropUser(String user) throws AccumuloException, AccumuloSecurityException {
-    dropLocalUser(user);
-  }
-
-  @Override
-  public void dropLocalUser(String principal) throws AccumuloException, AccumuloSecurityException {
-    this.acu.users.remove(principal);
-  }
-
-  @Deprecated
-  @Override
-  public boolean authenticateUser(String user, byte[] password)
-      throws AccumuloException, AccumuloSecurityException {
-    return authenticateUser(user, new PasswordToken(password));
-  }
-
-  @Override
-  public boolean authenticateUser(String principal, AuthenticationToken token)
-      throws AccumuloException, AccumuloSecurityException {
-    MockUser user = acu.users.get(principal);
-    if (user == null)
-      return false;
-    return user.token.equals(token);
-  }
-
-  @Deprecated
-  @Override
-  public void changeUserPassword(String user, byte[] password)
-      throws AccumuloException, AccumuloSecurityException {
-    changeLocalUserPassword(user, new PasswordToken(password));
-  }
-
-  @Override
-  public void changeLocalUserPassword(String principal, PasswordToken token)
-      throws AccumuloException, AccumuloSecurityException {
-    MockUser user = acu.users.get(principal);
-    if (user != null)
-      user.token = token.clone();
-    else
-      throw new AccumuloSecurityException(principal, SecurityErrorCode.USER_DOESNT_EXIST);
-  }
-
-  @Override
-  public void changeUserAuthorizations(String principal, Authorizations authorizations)
-      throws AccumuloException, AccumuloSecurityException {
-    MockUser user = acu.users.get(principal);
-    if (user != null)
-      user.authorizations = authorizations;
-    else
-      throw new AccumuloSecurityException(principal, SecurityErrorCode.USER_DOESNT_EXIST);
-  }
-
-  @Override
-  public Authorizations getUserAuthorizations(String principal)
-      throws AccumuloException, AccumuloSecurityException {
-    MockUser user = acu.users.get(principal);
-    if (user != null)
-      return user.authorizations;
-    else
-      throw new AccumuloSecurityException(principal, SecurityErrorCode.USER_DOESNT_EXIST);
-  }
-
-  @Override
-  public boolean hasSystemPermission(String principal, SystemPermission perm)
-      throws AccumuloException, AccumuloSecurityException {
-    MockUser user = acu.users.get(principal);
-    if (user != null)
-      return user.permissions.contains(perm);
-    else
-      throw new AccumuloSecurityException(principal, SecurityErrorCode.USER_DOESNT_EXIST);
-  }
-
-  @Override
-  public boolean hasTablePermission(String principal, String tableName, TablePermission perm)
-      throws AccumuloException, AccumuloSecurityException {
-    MockTable table = acu.tables.get(tableName);
-    if (table == null)
-      throw new AccumuloSecurityException(tableName, SecurityErrorCode.TABLE_DOESNT_EXIST);
-    EnumSet<TablePermission> perms = table.userPermissions.get(principal);
-    if (perms == null)
-      return false;
-    return perms.contains(perm);
-  }
-
-  @Override
-  public boolean hasNamespacePermission(String principal, String namespace,
-      NamespacePermission permission) throws AccumuloException, AccumuloSecurityException {
-    MockNamespace mockNamespace = acu.namespaces.get(namespace);
-    if (mockNamespace == null)
-      throw new AccumuloSecurityException(namespace, SecurityErrorCode.NAMESPACE_DOESNT_EXIST);
-    EnumSet<NamespacePermission> perms = mockNamespace.userPermissions.get(principal);
-    if (perms == null)
-      return false;
-    return perms.contains(permission);
-  }
-
-  @Override
-  public void grantSystemPermission(String principal, SystemPermission permission)
-      throws AccumuloException, AccumuloSecurityException {
-    MockUser user = acu.users.get(principal);
-    if (user != null)
-      user.permissions.add(permission);
-    else
-      throw new AccumuloSecurityException(principal, SecurityErrorCode.USER_DOESNT_EXIST);
-  }
-
-  @Override
-  public void grantTablePermission(String principal, String tableName, TablePermission permission)
-      throws AccumuloException, AccumuloSecurityException {
-    if (acu.users.get(principal) == null)
-      throw new AccumuloSecurityException(principal, SecurityErrorCode.USER_DOESNT_EXIST);
-    MockTable table = acu.tables.get(tableName);
-    if (table == null)
-      throw new AccumuloSecurityException(tableName, SecurityErrorCode.TABLE_DOESNT_EXIST);
-    EnumSet<TablePermission> perms = table.userPermissions.get(principal);
-    if (perms == null)
-      table.userPermissions.put(principal, EnumSet.of(permission));
-    else
-      perms.add(permission);
-  }
-
-  @Override
-  public void grantNamespacePermission(String principal, String namespace,
-      NamespacePermission permission) throws AccumuloException, AccumuloSecurityException {
-    if (acu.users.get(principal) == null)
-      throw new AccumuloSecurityException(principal, SecurityErrorCode.USER_DOESNT_EXIST);
-    MockNamespace mockNamespace = acu.namespaces.get(namespace);
-    if (mockNamespace == null)
-      throw new AccumuloSecurityException(namespace, SecurityErrorCode.NAMESPACE_DOESNT_EXIST);
-    EnumSet<NamespacePermission> perms = mockNamespace.userPermissions.get(principal);
-    if (perms == null)
-      mockNamespace.userPermissions.put(principal, EnumSet.of(permission));
-    else
-      perms.add(permission);
-  }
-
-  @Override
-  public void revokeSystemPermission(String principal, SystemPermission permission)
-      throws AccumuloException, AccumuloSecurityException {
-    MockUser user = acu.users.get(principal);
-    if (user != null)
-      user.permissions.remove(permission);
-    else
-      throw new AccumuloSecurityException(principal, SecurityErrorCode.USER_DOESNT_EXIST);
-  }
-
-  @Override
-  public void revokeTablePermission(String principal, String tableName, TablePermission permission)
-      throws AccumuloException, AccumuloSecurityException {
-    if (acu.users.get(principal) == null)
-      throw new AccumuloSecurityException(principal, SecurityErrorCode.USER_DOESNT_EXIST);
-    MockTable table = acu.tables.get(tableName);
-    if (table == null)
-      throw new AccumuloSecurityException(tableName, SecurityErrorCode.TABLE_DOESNT_EXIST);
-    EnumSet<TablePermission> perms = table.userPermissions.get(principal);
-    if (perms != null)
-      perms.remove(permission);
-
-  }
-
-  @Override
-  public void revokeNamespacePermission(String principal, String namespace,
-      NamespacePermission permission) throws AccumuloException, AccumuloSecurityException {
-    if (acu.users.get(principal) == null)
-      throw new AccumuloSecurityException(principal, SecurityErrorCode.USER_DOESNT_EXIST);
-    MockNamespace mockNamespace = acu.namespaces.get(namespace);
-    if (mockNamespace == null)
-      throw new AccumuloSecurityException(namespace, SecurityErrorCode.NAMESPACE_DOESNT_EXIST);
-    EnumSet<NamespacePermission> perms = mockNamespace.userPermissions.get(principal);
-    if (perms != null)
-      perms.remove(permission);
-
-  }
-
-  @Deprecated
-  @Override
-  public Set<String> listUsers() throws AccumuloException, AccumuloSecurityException {
-    return listLocalUsers();
-  }
-
-  @Override
-  public Set<String> listLocalUsers() throws AccumuloException, AccumuloSecurityException {
-    return acu.users.keySet();
-  }
-
-  @Override
-  public DelegationToken getDelegationToken(DelegationTokenConfig cfg)
-      throws AccumuloException, AccumuloSecurityException {
-    return null;
-  }
-
-}
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mock/MockTable.java b/core/src/main/java/org/apache/accumulo/core/client/mock/MockTable.java
deleted file mode 100644
index 30b1f07cf9..0000000000
--- a/core/src/main/java/org/apache/accumulo/core/client/mock/MockTable.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
- * 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.core.client.mock;
-
-import java.util.Collection;
-import java.util.EnumSet;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-import java.util.SortedMap;
-import java.util.SortedSet;
-import java.util.TreeMap;
-import java.util.concurrent.ConcurrentSkipListMap;
-import java.util.concurrent.ConcurrentSkipListSet;
-
-import org.apache.accumulo.core.client.admin.TimeType;
-import org.apache.accumulo.core.conf.DefaultConfiguration;
-import org.apache.accumulo.core.conf.Property;
-import org.apache.accumulo.core.data.ColumnUpdate;
-import org.apache.accumulo.core.data.Key;
-import org.apache.accumulo.core.data.Mutation;
-import org.apache.accumulo.core.data.Value;
-import org.apache.accumulo.core.iterators.IteratorUtil;
-import org.apache.accumulo.core.security.TablePermission;
-import org.apache.hadoop.io.Text;
-
-/**
- * @deprecated since 1.8.0; use MiniAccumuloCluster or a standard mock framework instead.
- */
-@Deprecated
-public class MockTable {
-
-  static class MockMemKey extends Key {
-    private int count;
-
-    MockMemKey(Key key, int count) {
-      super(key);
-      this.count = count;
-    }
-
-    @Override
-    public int hashCode() {
-      return super.hashCode() + count;
-    }
-
-    @Override
-    public boolean equals(Object other) {
-      return (other instanceof MockMemKey) && super.equals(other)
-          && count == ((MockMemKey) other).count;
-    }
-
-    @Override
-    public String toString() {
-      return super.toString() + " count=" + count;
-    }
-
-    @Override
-    public int compareTo(Key o) {
-      int compare = super.compareTo(o);
-      if (compare != 0)
-        return compare;
-      if (o instanceof MockMemKey) {
-        MockMemKey other = (MockMemKey) o;
-        if (count < other.count)
-          return 1;
-        if (count > other.count)
-          return -1;
-      } else {
-        return 1;
-      }
-      return 0;
-    }
-  }
-
-  final SortedMap<Key,Value> table = new ConcurrentSkipListMap<>();
-  int mutationCount = 0;
-  final Map<String,String> settings;
-  Map<String,EnumSet<TablePermission>> userPermissions = new HashMap<>();
-  private TimeType timeType;
-  SortedSet<Text> splits = new ConcurrentSkipListSet<>();
-  Map<String,Set<Text>> localityGroups = new TreeMap<>();
-  private MockNamespace namespace;
-  private String namespaceName;
-  private String tableId;
-
-  MockTable(boolean limitVersion, TimeType timeType, String tableId) {
-    this.timeType = timeType;
-    this.tableId = tableId;
-    settings = IteratorUtil.generateInitialTableProperties(limitVersion);
-    for (Entry<String,String> entry : DefaultConfiguration.getInstance()) {
-      String key = entry.getKey();
-      if (key.startsWith(Property.TABLE_PREFIX.getKey()))
-        settings.put(key, entry.getValue());
-    }
-  }
-
-  MockTable(MockNamespace namespace, boolean limitVersion, TimeType timeType, String tableId,
-      Map<String,String> properties) {
-    this(limitVersion, timeType, tableId);
-    Set<Entry<String,String>> set = namespace.settings.entrySet();
-    Iterator<Entry<String,String>> entries = set.iterator();
-    while (entries.hasNext()) {
-      Entry<String,String> entry = entries.next();
-      String key = entry.getKey();
-      if (key.startsWith(Property.TABLE_PREFIX.getKey()))
-        settings.put(key, entry.getValue());
-    }
-
-    for (Entry<String,String> initialProp : properties.entrySet()) {
-      settings.put(initialProp.getKey(), initialProp.getValue());
-    }
-  }
-
-  public MockTable(MockNamespace namespace, TimeType timeType, String tableId,
-      Map<String,String> properties) {
-    this.timeType = timeType;
-    this.tableId = tableId;
-    settings = properties;
-    for (Entry<String,String> entry : DefaultConfiguration.getInstance()) {
-      String key = entry.getKey();
-      if (key.startsWith(Property.TABLE_PREFIX.getKey()))
-        settings.put(key, entry.getValue());
-    }
-
-    Set<Entry<String,String>> set = namespace.settings.entrySet();
-    Iterator<Entry<String,String>> entries = set.iterator();
-    while (entries.hasNext()) {
-      Entry<String,String> entry = entries.next();
-      String key = entry.getKey();
-      if (key.startsWith(Property.TABLE_PREFIX.getKey()))
-        settings.put(key, entry.getValue());
-    }
-  }
-
-  synchronized void addMutation(Mutation m) {
-    if (m.size() == 0)
-      throw new IllegalArgumentException("Can not add empty mutations");
-    long now = System.currentTimeMillis();
-    mutationCount++;
-    for (ColumnUpdate u : m.getUpdates()) {
-      Key key = new Key(m.getRow(), 0, m.getRow().length, u.getColumnFamily(), 0,
-          u.getColumnFamily().length, u.getColumnQualifier(), 0, u.getColumnQualifier().length,
-          u.getColumnVisibility(), 0, u.getColumnVisibility().length, u.getTimestamp());
-      if (u.isDeleted())
-        key.setDeleted(true);
-      if (!u.hasTimestamp())
-        if (timeType.equals(TimeType.LOGICAL))
-          key.setTimestamp(mutationCount);
-        else
-          key.setTimestamp(now);
-
-      table.put(new MockMemKey(key, mutationCount), new Value(u.getValue()));
-    }
-  }
-
-  public void addSplits(SortedSet<Text> partitionKeys) {
-    splits.addAll(partitionKeys);
-  }
-
-  public Collection<Text> getSplits() {
-    return splits;
-  }
-
-  public void setLocalityGroups(Map<String,Set<Text>> groups) {
-    localityGroups = groups;
-  }
-
-  public Map<String,Set<Text>> getLocalityGroups() {
-    return localityGroups;
-  }
-
-  public void merge(Text start, Text end) {
-    boolean reAdd = false;
-    if (splits.contains(start))
-      reAdd = true;
-    splits.removeAll(splits.subSet(start, end));
-    if (reAdd)
-      splits.add(start);
-  }
-
-  public void setNamespaceName(String n) {
-    this.namespaceName = n;
-  }
-
-  public void setNamespace(MockNamespace n) {
-    this.namespace = n;
-  }
-
-  public String getNamespaceName() {
-    return this.namespaceName;
-  }
-
-  public MockNamespace getNamespace() {
-    return this.namespace;
-  }
-
-  public String getTableId() {
-    return this.tableId;
-  }
-}
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mock/MockTableOperations.java b/core/src/main/java/org/apache/accumulo/core/client/mock/MockTableOperations.java
deleted file mode 100644
index 36d11f19b1..0000000000
--- a/core/src/main/java/org/apache/accumulo/core/client/mock/MockTableOperations.java
+++ /dev/null
@@ -1,573 +0,0 @@
-/*
- * 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.core.client.mock;
-
-import static com.google.common.base.Preconditions.checkArgument;
-
-import java.io.DataInputStream;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-import java.util.SortedSet;
-import java.util.TreeSet;
-import java.util.function.Predicate;
-
-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.TableExistsException;
-import org.apache.accumulo.core.client.TableNotFoundException;
-import org.apache.accumulo.core.client.admin.CompactionConfig;
-import org.apache.accumulo.core.client.admin.DiskUsage;
-import org.apache.accumulo.core.client.admin.FindMax;
-import org.apache.accumulo.core.client.admin.Locations;
-import org.apache.accumulo.core.client.admin.NewTableConfiguration;
-import org.apache.accumulo.core.client.admin.SummaryRetriever;
-import org.apache.accumulo.core.client.admin.TimeType;
-import org.apache.accumulo.core.client.impl.TableOperationsHelper;
-import org.apache.accumulo.core.client.impl.Tables;
-import org.apache.accumulo.core.client.sample.SamplerConfiguration;
-import org.apache.accumulo.core.client.summary.SummarizerConfiguration;
-import org.apache.accumulo.core.conf.DefaultConfiguration;
-import org.apache.accumulo.core.data.Key;
-import org.apache.accumulo.core.data.Mutation;
-import org.apache.accumulo.core.data.Range;
-import org.apache.accumulo.core.data.Value;
-import org.apache.accumulo.core.file.FileOperations;
-import org.apache.accumulo.core.file.FileSKVIterator;
-import org.apache.accumulo.core.metadata.MetadataTable;
-import org.apache.accumulo.core.metadata.RootTable;
-import org.apache.accumulo.core.security.Authorizations;
-import org.apache.accumulo.core.security.ColumnVisibility;
-import org.apache.accumulo.start.classloader.vfs.AccumuloVFSClassLoader;
-import org.apache.commons.lang.NotImplementedException;
-import org.apache.hadoop.fs.FSDataOutputStream;
-import org.apache.hadoop.fs.FileStatus;
-import org.apache.hadoop.fs.FileSystem;
-import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.io.Text;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * @deprecated since 1.8.0; use MiniAccumuloCluster or a standard mock framework instead.
- */
-@Deprecated
-class MockTableOperations extends TableOperationsHelper {
-  private static final Logger log = LoggerFactory.getLogger(MockTableOperations.class);
-  private static final byte[] ZERO = {0};
-  private final MockAccumulo acu;
-  private final String username;
-
-  MockTableOperations(MockAccumulo acu, String username) {
-    this.acu = acu;
-    this.username = username;
-  }
-
-  @Override
-  public SortedSet<String> list() {
-    return new TreeSet<>(acu.tables.keySet());
-  }
-
-  @Override
-  public boolean exists(String tableName) {
-    return acu.tables.containsKey(tableName);
-  }
-
-  private boolean namespaceExists(String namespace) {
-    return acu.namespaces.containsKey(namespace);
-  }
-
-  @Override
-  public void create(String tableName)
-      throws AccumuloException, AccumuloSecurityException, TableExistsException {
-    create(tableName, new NewTableConfiguration());
-  }
-
-  @Override
-  @Deprecated
-  public void create(String tableName, boolean versioningIter)
-      throws AccumuloException, AccumuloSecurityException, TableExistsException {
-    create(tableName, versioningIter, TimeType.MILLIS);
-  }
-
-  @Override
-  @Deprecated
-  public void create(String tableName, boolean versioningIter, TimeType timeType)
-      throws AccumuloException, AccumuloSecurityException, TableExistsException {
-    NewTableConfiguration ntc = new NewTableConfiguration().setTimeType(timeType);
-
-    if (versioningIter)
-      create(tableName, ntc);
-    else
-      create(tableName, ntc.withoutDefaultIterators());
-  }
-
-  @Override
-  public void create(String tableName, NewTableConfiguration ntc)
-      throws AccumuloException, AccumuloSecurityException, TableExistsException {
-    String namespace = Tables.qualify(tableName).getFirst();
-
-    checkArgument(tableName.matches(Tables.VALID_NAME_REGEX));
-    if (exists(tableName))
-      throw new TableExistsException(tableName, tableName, "");
-    checkArgument(namespaceExists(namespace),
-        "Namespace (" + namespace + ") does not exist, create it first");
-    acu.createTable(username, tableName, ntc.getTimeType(), ntc.getProperties());
-  }
-
-  @Override
-  public void addSplits(String tableName, SortedSet<Text> partitionKeys)
-      throws TableNotFoundException, AccumuloException, AccumuloSecurityException {
-    if (!exists(tableName))
-      throw new TableNotFoundException(tableName, tableName, "");
-    acu.addSplits(tableName, partitionKeys);
-  }
-
-  @Deprecated
-  @Override
-  public Collection<Text> getSplits(String tableName) throws TableNotFoundException {
-    return listSplits(tableName);
-  }
-
-  @Deprecated
-  @Override
-  public Collection<Text> getSplits(String tableName, int maxSplits) throws TableNotFoundException {
-    return listSplits(tableName);
-  }
-
-  @Override
-  public Collection<Text> listSplits(String tableName) throws TableNotFoundException {
-    if (!exists(tableName))
-      throw new TableNotFoundException(tableName, tableName, "");
-    return acu.getSplits(tableName);
-  }
-
-  @Override
-  public Collection<Text> listSplits(String tableName, int maxSplits)
-      throws TableNotFoundException {
-    return listSplits(tableName);
-  }
-
-  @Override
-  public void delete(String tableName)
-      throws AccumuloException, AccumuloSecurityException, TableNotFoundException {
-    if (!exists(tableName))
-      throw new TableNotFoundException(tableName, tableName, "");
-    acu.tables.remove(tableName);
-  }
-
-  @Override
-  public void rename(String oldTableName, String newTableName) throws AccumuloSecurityException,
-      TableNotFoundException, AccumuloException, TableExistsException {
-    if (!exists(oldTableName))
-      throw new TableNotFoundException(oldTableName, oldTableName, "");
-    if (exists(newTableName))
-      throw new TableExistsException(newTableName, newTableName, "");
-    MockTable t = acu.tables.remove(oldTableName);
-    String namespace = Tables.qualify(newTableName).getFirst();
-    MockNamespace n = acu.namespaces.get(namespace);
-    if (n == null) {
-      n = new MockNamespace();
-    }
-    t.setNamespaceName(namespace);
-    t.setNamespace(n);
-    acu.namespaces.put(namespace, n);
-    acu.tables.put(newTableName, t);
-  }
-
-  @Deprecated
-  @Override
-  public void flush(String tableName) throws AccumuloException, AccumuloSecurityException {}
-
-  @Override
-  public void setProperty(String tableName, String property, String value)
-      throws AccumuloException, AccumuloSecurityException {
-    acu.tables.get(tableName).settings.put(property, value);
-  }
-
-  @Override
-  public void removeProperty(String tableName, String property)
-      throws AccumuloException, AccumuloSecurityException {
-    acu.tables.get(tableName).settings.remove(property);
-  }
-
-  @Override
-  public Iterable<Entry<String,String>> getProperties(String tableName)
-      throws TableNotFoundException {
-    String namespace = Tables.qualify(tableName).getFirst();
-    if (!exists(tableName)) {
-      if (!namespaceExists(namespace))
-        throw new TableNotFoundException(tableName,
-            new NamespaceNotFoundException(null, namespace, null));
-      throw new TableNotFoundException(null, tableName, null);
-    }
-
-    Set<Entry<String,String>> props = new HashSet<>(
-        acu.namespaces.get(namespace).settings.entrySet());
-
-    Set<Entry<String,String>> tableProps = acu.tables.get(tableName).settings.entrySet();
-    for (Entry<String,String> e : tableProps) {
-      if (props.contains(e)) {
-        props.remove(e);
-      }
-      props.add(e);
-    }
-    return props;
-  }
-
-  @Override
-  public void setLocalityGroups(String tableName, Map<String,Set<Text>> groups)
-      throws AccumuloException, AccumuloSecurityException, TableNotFoundException {
-    if (!exists(tableName))
-      throw new TableNotFoundException(tableName, tableName, "");
-    acu.tables.get(tableName).setLocalityGroups(groups);
-  }
-
-  @Override
-  public Map<String,Set<Text>> getLocalityGroups(String tableName)
-      throws AccumuloException, TableNotFoundException {
-    if (!exists(tableName))
-      throw new TableNotFoundException(tableName, tableName, "");
-    return acu.tables.get(tableName).getLocalityGroups();
-  }
-
-  @Override
-  public Set<Range> splitRangeByTablets(String tableName, Range range, int maxSplits)
-      throws AccumuloException, AccumuloSecurityException, TableNotFoundException {
-    if (!exists(tableName))
-      throw new TableNotFoundException(tableName, tableName, "");
-    return Collections.singleton(range);
-  }
-
-  @Override
-  public void importDirectory(String tableName, String dir, String failureDir, boolean setTime)
-      throws IOException, AccumuloException, AccumuloSecurityException, TableNotFoundException {
-    long time = System.currentTimeMillis();
-    MockTable table = acu.tables.get(tableName);
-    if (table == null) {
-      throw new TableNotFoundException(null, tableName, "The table was not found");
-    }
-    Path importPath = new Path(dir);
-    Path failurePath = new Path(failureDir);
-
-    FileSystem fs = acu.getFileSystem();
-    /*
-     * check preconditions
-     */
-    // directories are directories
-    if (fs.isFile(importPath)) {
-      throw new IOException("Import path must be a directory.");
-    }
-    if (fs.isFile(failurePath)) {
-      throw new IOException("Failure path must be a directory.");
-    }
-    // failures are writable
-    Path createPath = failurePath.suffix("/.createFile");
-    FSDataOutputStream createStream = null;
-    try {
-      createStream = fs.create(createPath);
-    } catch (IOException e) {
-      throw new IOException("Error path is not writable.");
-    } finally {
-      if (createStream != null) {
-        createStream.close();
-      }
-    }
-    fs.delete(createPath, false);
-    // failures are empty
-    FileStatus[] failureChildStats = fs.listStatus(failurePath);
-    if (failureChildStats.length > 0) {
-      throw new IOException("Error path must be empty.");
-    }
-    /*
-     * Begin the import - iterate the files in the path
-     */
-    for (FileStatus importStatus : fs.listStatus(importPath)) {
-      try {
-        FileSKVIterator importIterator = FileOperations.getInstance().newReaderBuilder()
-            .forFile(importStatus.getPath().toString(), fs, fs.getConf())
-            .withTableConfiguration(DefaultConfiguration.getInstance()).seekToBeginning().build();
-        while (importIterator.hasTop()) {
-          Key key = importIterator.getTopKey();
-          Value value = importIterator.getTopValue();
-          if (setTime) {
-            key.setTimestamp(time);
-          }
-          Mutation mutation = new Mutation(key.getRow());
-          if (!key.isDeleted()) {
-            mutation.put(key.getColumnFamily(), key.getColumnQualifier(),
-                new ColumnVisibility(key.getColumnVisibilityData().toArray()), key.getTimestamp(),
-                value);
-          } else {
-            mutation.putDelete(key.getColumnFamily(), key.getColumnQualifier(),
-                new ColumnVisibility(key.getColumnVisibilityData().toArray()), key.getTimestamp());
-          }
-          table.addMutation(mutation);
-          importIterator.next();
-        }
-      } catch (Exception e) {
-        FSDataOutputStream failureWriter = null;
-        DataInputStream failureReader = null;
-        try {
-          failureWriter = fs.create(failurePath.suffix("/" + importStatus.getPath().getName()));
-          failureReader = fs.open(importStatus.getPath());
-          int read = 0;
-          byte[] buffer = new byte[1024];
-          while (-1 != (read = failureReader.read(buffer))) {
-            failureWriter.write(buffer, 0, read);
-          }
-        } finally {
-          if (failureReader != null)
-            failureReader.close();
-          if (failureWriter != null)
-            failureWriter.close();
-        }
-      }
-      fs.delete(importStatus.getPath(), true);
-    }
-  }
-
-  @Override
-  public void offline(String tableName)
-      throws AccumuloSecurityException, AccumuloException, TableNotFoundException {
-    offline(tableName, false);
-  }
-
-  @Override
-  public void offline(String tableName, boolean wait)
-      throws AccumuloSecurityException, AccumuloException, TableNotFoundException {
-    if (!exists(tableName))
-      throw new TableNotFoundException(tableName, tableName, "");
-  }
-
-  @Override
-  public void online(String tableName)
-      throws AccumuloSecurityException, AccumuloException, TableNotFoundException {
-    online(tableName, false);
-  }
-
-  @Override
-  public void online(String tableName, boolean wait)
-      throws AccumuloSecurityException, AccumuloException, TableNotFoundException {
-    if (!exists(tableName))
-      throw new TableNotFoundException(tableName, tableName, "");
-  }
-
-  @Override
-  public void clearLocatorCache(String tableName) throws TableNotFoundException {
-    if (!exists(tableName))
-      throw new TableNotFoundException(tableName, tableName, "");
-  }
-
-  @Override
-  public Map<String,String> tableIdMap() {
-    Map<String,String> result = new HashMap<>();
-    for (Entry<String,MockTable> entry : acu.tables.entrySet()) {
-      String table = entry.getKey();
-      if (RootTable.NAME.equals(table))
-        result.put(table, RootTable.ID.canonicalID());
-      else if (MetadataTable.NAME.equals(table))
-        result.put(table, MetadataTable.ID.canonicalID());
-      else
-        result.put(table, entry.getValue().getTableId());
-    }
-    return result;
-  }
-
-  @Override
-  public List<DiskUsage> getDiskUsage(Set<String> tables)
-      throws AccumuloException, AccumuloSecurityException {
-
-    List<DiskUsage> diskUsages = new ArrayList<>();
-    diskUsages.add(new DiskUsage(new TreeSet<>(tables), 0L));
-
-    return diskUsages;
-  }
-
-  @Override
-  public void merge(String tableName, Text start, Text end)
-      throws AccumuloException, AccumuloSecurityException, TableNotFoundException {
-    if (!exists(tableName))
-      throw new TableNotFoundException(tableName, tableName, "");
-    acu.merge(tableName, start, end);
-  }
-
-  @Override
-  public void deleteRows(String tableName, Text start, Text end)
-      throws AccumuloException, AccumuloSecurityException, TableNotFoundException {
-    if (!exists(tableName))
-      throw new TableNotFoundException(tableName, tableName, "");
-    MockTable t = acu.tables.get(tableName);
-    Text startText = start != null ? new Text(start) : new Text();
-    if (startText.getLength() == 0 && end == null) {
-      t.table.clear();
-      return;
-    }
-    Text endText = end != null ? new Text(end) : new Text(t.table.lastKey().getRow().getBytes());
-    startText.append(ZERO, 0, 1);
-    endText.append(ZERO, 0, 1);
-    Set<Key> keep = new TreeSet<>(t.table.subMap(new Key(startText), new Key(endText)).keySet());
-    t.table.keySet().removeAll(keep);
-  }
-
-  @Override
-  public void compact(String tableName, Text start, Text end, boolean flush, boolean wait)
-      throws AccumuloSecurityException, TableNotFoundException, AccumuloException {
-    if (!exists(tableName))
-      throw new TableNotFoundException(tableName, tableName, "");
-  }
-
-  @Override
-  public void compact(String tableName, Text start, Text end, List<IteratorSetting> iterators,
-      boolean flush, boolean wait)
-      throws AccumuloSecurityException, TableNotFoundException, AccumuloException {
-    if (!exists(tableName))
-      throw new TableNotFoundException(tableName, tableName, "");
-
-    if (iterators != null && iterators.size() > 0)
-      throw new UnsupportedOperationException();
-  }
-
-  @Override
-  public void compact(String tableName, CompactionConfig config)
-      throws AccumuloSecurityException, TableNotFoundException, AccumuloException {
-    if (!exists(tableName))
-      throw new TableNotFoundException(tableName, tableName, "");
-
-    if (config.getIterators().size() > 0 || config.getCompactionStrategy() != null)
-      throw new UnsupportedOperationException(
-          "Mock does not support iterators or compaction strategies for compactions");
-  }
-
-  @Override
-  public void cancelCompaction(String tableName)
-      throws AccumuloSecurityException, TableNotFoundException, AccumuloException {
-    if (!exists(tableName))
-      throw new TableNotFoundException(tableName, tableName, "");
-  }
-
-  @Override
-  public void clone(String srcTableName, String newTableName, boolean flush,
-      Map<String,String> propertiesToSet, Set<String> propertiesToExclude) throws AccumuloException,
-      AccumuloSecurityException, TableNotFoundException, TableExistsException {
-    throw new NotImplementedException();
-  }
-
-  @Override
-  public void flush(String tableName, Text start, Text end, boolean wait)
-      throws AccumuloException, AccumuloSecurityException, TableNotFoundException {
-    if (!exists(tableName))
-      throw new TableNotFoundException(tableName, tableName, "");
-  }
-
-  @Override
-  public Text getMaxRow(String tableName, Authorizations auths, Text startRow,
-      boolean startInclusive, Text endRow, boolean endInclusive)
-      throws TableNotFoundException, AccumuloException, AccumuloSecurityException {
-    MockTable table = acu.tables.get(tableName);
-    if (table == null)
-      throw new TableNotFoundException(tableName, tableName, "no such table");
-
-    return FindMax.findMax(new MockScanner(table, auths), startRow, startInclusive, endRow,
-        endInclusive);
-  }
-
-  @Override
-  public void importTable(String tableName, String exportDir)
-      throws TableExistsException, AccumuloException, AccumuloSecurityException {
-    throw new NotImplementedException();
-  }
-
-  @Override
-  public void exportTable(String tableName, String exportDir)
-      throws TableNotFoundException, AccumuloException, AccumuloSecurityException {
-    throw new NotImplementedException();
-  }
-
-  @Override
-  public boolean testClassLoad(String tableName, String className, String asTypeName)
-      throws AccumuloException, AccumuloSecurityException, TableNotFoundException {
-
-    try {
-      AccumuloVFSClassLoader.loadClass(className, Class.forName(asTypeName));
-    } catch (ClassNotFoundException e) {
-      log.warn("Could not load class '" + className + "' with type name '" + asTypeName
-          + "' in testClassLoad().", e);
-      return false;
-    }
-    return true;
-  }
-
-  @Override
-  public void setSamplerConfiguration(String tableName, SamplerConfiguration samplerConfiguration)
-      throws TableNotFoundException, AccumuloException, AccumuloSecurityException {
-    throw new UnsupportedOperationException();
-  }
-
-  @Override
-  public void clearSamplerConfiguration(String tableName)
-      throws TableNotFoundException, AccumuloException, AccumuloSecurityException {
-    throw new UnsupportedOperationException();
-  }
-
-  @Override
-  public SamplerConfiguration getSamplerConfiguration(String tableName)
-      throws TableNotFoundException, AccumuloException, AccumuloSecurityException {
-    throw new UnsupportedOperationException();
-  }
-
-  @Override
-  public Locations locate(String tableName, Collection<Range> ranges)
-      throws AccumuloException, AccumuloSecurityException, TableNotFoundException {
-    throw new UnsupportedOperationException();
-  }
-
-  @Override
-  public SummaryRetriever summaries(String tableName)
-      throws TableNotFoundException, AccumuloException, AccumuloSecurityException {
-    throw new UnsupportedOperationException();
-  }
-
-  @Override
-  public void addSummarizers(String tableName, SummarizerConfiguration... summarizerConf)
-      throws TableNotFoundException, AccumuloException, AccumuloSecurityException {
-    throw new UnsupportedOperationException();
-
-  }
-
-  @Override
-  public void removeSummarizers(String tableName, Predicate<SummarizerConfiguration> predicate)
-      throws AccumuloException, TableNotFoundException, AccumuloSecurityException {
-    throw new UnsupportedOperationException();
-
-  }
-
-  @Override
-  public List<SummarizerConfiguration> listSummarizers(String tableName)
-      throws AccumuloException, TableNotFoundException, AccumuloSecurityException {
-    throw new UnsupportedOperationException();
-  }
-}
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mock/MockUser.java b/core/src/main/java/org/apache/accumulo/core/client/mock/MockUser.java
deleted file mode 100644
index e32edad54a..0000000000
--- a/core/src/main/java/org/apache/accumulo/core/client/mock/MockUser.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * 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.core.client.mock;
-
-import java.util.EnumSet;
-
-import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
-import org.apache.accumulo.core.security.Authorizations;
-import org.apache.accumulo.core.security.SystemPermission;
-
-/**
- * @deprecated since 1.8.0; use MiniAccumuloCluster or a standard mock framework instead.
- */
-@Deprecated
-public class MockUser {
-  final EnumSet<SystemPermission> permissions;
-  final String name;
-  AuthenticationToken token;
-  Authorizations authorizations;
-
-  MockUser(String principal, AuthenticationToken token, Authorizations auths) {
-    this.name = principal;
-    this.token = token.clone();
-    this.authorizations = auths;
-    this.permissions = EnumSet.noneOf(SystemPermission.class);
-  }
-}
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mock/impl/MockTabletLocator.java b/core/src/main/java/org/apache/accumulo/core/client/mock/impl/MockTabletLocator.java
deleted file mode 100644
index 915271f240..0000000000
--- a/core/src/main/java/org/apache/accumulo/core/client/mock/impl/MockTabletLocator.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * 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.core.client.mock.impl;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.accumulo.core.client.AccumuloException;
-import org.apache.accumulo.core.client.AccumuloSecurityException;
-import org.apache.accumulo.core.client.Instance;
-import org.apache.accumulo.core.client.TableNotFoundException;
-import org.apache.accumulo.core.client.impl.ClientContext;
-import org.apache.accumulo.core.client.impl.TabletLocator;
-import org.apache.accumulo.core.data.Mutation;
-import org.apache.accumulo.core.data.Range;
-import org.apache.accumulo.core.data.impl.KeyExtent;
-import org.apache.hadoop.io.Text;
-
-/**
- * @deprecated since 1.8.0; use MiniAccumuloCluster or a standard mock framework instead.
- */
-@Deprecated
-public class MockTabletLocator extends TabletLocator {
-
-  @Override
-  public TabletLocation locateTablet(ClientContext context, Text row, boolean skipRow,
-      boolean retry) throws AccumuloException, AccumuloSecurityException, TableNotFoundException {
-    throw new UnsupportedOperationException();
-  }
-
-  @Override
-  public <T extends Mutation> void binMutations(ClientContext context, List<T> mutations,
-      Map<String,TabletServerMutations<T>> binnedMutations, List<T> failures)
-      throws AccumuloException, AccumuloSecurityException, TableNotFoundException {
-    TabletServerMutations<T> tsm = new TabletServerMutations<>("5");
-    for (T m : mutations)
-      tsm.addMutation(new KeyExtent(), m);
-    binnedMutations.put("", tsm);
-  }
-
-  @Override
-  public List<Range> binRanges(ClientContext context, List<Range> ranges,
-      Map<String,Map<KeyExtent,List<Range>>> binnedRanges)
-      throws AccumuloException, AccumuloSecurityException, TableNotFoundException {
-    binnedRanges.put("", Collections.singletonMap(new KeyExtent(), ranges));
-    return Collections.emptyList();
-  }
-
-  @Override
-  public void invalidateCache(KeyExtent failedExtent) {}
-
-  @Override
-  public void invalidateCache(Collection<KeyExtent> keySet) {}
-
-  @Override
-  public void invalidateCache() {}
-
-  @Override
-  public void invalidateCache(Instance instance, String server) {}
-}
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mock/package-info.java b/core/src/main/java/org/apache/accumulo/core/client/mock/package-info.java
deleted file mode 100644
index 08e4251d25..0000000000
--- a/core/src/main/java/org/apache/accumulo/core/client/mock/package-info.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * 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.
- */
-/**
- * Mock framework for Accumulo
- *
- * <p>
- * Deprecated since 1.8.0; use MiniAccumuloCluster or a standard mock framework instead.
- */
-@Deprecated
-package org.apache.accumulo.core.client.mock;
diff --git a/core/src/main/java/org/apache/accumulo/core/replication/ReplicationTable.java b/core/src/main/java/org/apache/accumulo/core/replication/ReplicationTable.java
index b79a671ec3..488c6e3766 100644
--- a/core/src/main/java/org/apache/accumulo/core/replication/ReplicationTable.java
+++ b/core/src/main/java/org/apache/accumulo/core/replication/ReplicationTable.java
@@ -36,7 +36,6 @@
 import org.apache.accumulo.core.replication.ReplicationSchema.StatusSection;
 import org.apache.accumulo.core.replication.ReplicationSchema.WorkSection;
 import org.apache.accumulo.core.security.Authorizations;
-import org.apache.accumulo.core.util.DeprecationUtil;
 import org.apache.hadoop.io.Text;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -90,8 +89,7 @@ public static BatchScanner getBatchScanner(Connector conn, int queryThreads)
   }
 
   public static boolean isOnline(Connector conn) {
-    return DeprecationUtil.isMockInstance(conn.getInstance())
-        || TableState.ONLINE == Tables.getTableState(conn.getInstance(), ID);
+    return TableState.ONLINE == Tables.getTableState(conn.getInstance(), ID);
   }
 
   public static void setOnline(Connector conn) throws AccumuloSecurityException, AccumuloException {
diff --git a/core/src/main/java/org/apache/accumulo/core/util/DeprecationUtil.java b/core/src/main/java/org/apache/accumulo/core/util/DeprecationUtil.java
deleted file mode 100644
index 045da7c614..0000000000
--- a/core/src/main/java/org/apache/accumulo/core/util/DeprecationUtil.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * 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.core.util;
-
-import org.apache.accumulo.core.client.Instance;
-
-/**
- * A utility class for managing deprecated items. This avoids scattering private helper methods all
- * over the code with warnings suppression.
- *
- * <p>
- * This class will never be public API and methods will be removed as soon as they are no longer
- * needed. No methods in this class will, themselves, be deprecated, because that would propagate
- * the deprecation warning we are trying to avoid.
- *
- * <p>
- * This class should not be used as a substitute for deprecated classes. It should <b>only</b> be
- * used for implementation code which must remain to support the deprecated features, and
- * <b>only</b> until that feature is removed.
- */
-public class DeprecationUtil {
-
-  @SuppressWarnings("deprecation")
-  public static boolean isMockInstance(Instance instance) {
-    return instance instanceof org.apache.accumulo.core.client.mock.MockInstance;
-  }
-
-  @SuppressWarnings("deprecation")
-  public static Instance makeMockInstance(String instance) {
-    return new org.apache.accumulo.core.client.mock.MockInstance(instance);
-  }
-
-}
diff --git a/core/src/test/java/org/apache/accumulo/core/client/mock/MockConnectorTest.java b/core/src/test/java/org/apache/accumulo/core/client/mock/MockConnectorTest.java
deleted file mode 100644
index 2ed3bef0c5..0000000000
--- a/core/src/test/java/org/apache/accumulo/core/client/mock/MockConnectorTest.java
+++ /dev/null
@@ -1,382 +0,0 @@
-/*
- * 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.core.client.mock;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map.Entry;
-import java.util.Random;
-import java.util.concurrent.TimeUnit;
-
-import org.apache.accumulo.core.client.AccumuloException;
-import org.apache.accumulo.core.client.AccumuloSecurityException;
-import org.apache.accumulo.core.client.BatchDeleter;
-import org.apache.accumulo.core.client.BatchScanner;
-import org.apache.accumulo.core.client.BatchWriter;
-import org.apache.accumulo.core.client.BatchWriterConfig;
-import org.apache.accumulo.core.client.Connector;
-import org.apache.accumulo.core.client.Instance;
-import org.apache.accumulo.core.client.IteratorSetting;
-import org.apache.accumulo.core.client.MultiTableBatchWriter;
-import org.apache.accumulo.core.client.Scanner;
-import org.apache.accumulo.core.client.security.tokens.PasswordToken;
-import org.apache.accumulo.core.data.Key;
-import org.apache.accumulo.core.data.Mutation;
-import org.apache.accumulo.core.data.Range;
-import org.apache.accumulo.core.data.Value;
-import org.apache.accumulo.core.iterators.Combiner;
-import org.apache.accumulo.core.iterators.user.SummingCombiner;
-import org.apache.accumulo.core.security.Authorizations;
-import org.apache.hadoop.io.Text;
-import org.junit.Assert;
-import org.junit.Test;
-
-import com.google.common.collect.Iterators;
-
-@Deprecated
-public class MockConnectorTest {
-  Random random = new Random();
-
-  static Text asText(int i) {
-    return new Text(Integer.toHexString(i));
-  }
-
-  @Test
-  public void testSunnyDay() throws Exception {
-    Connector c = new MockConnector("root", new MockInstance());
-    c.tableOperations().create("test");
-    BatchWriter bw = c.createBatchWriter("test", new BatchWriterConfig());
-    for (int i = 0; i < 100; i++) {
-      int r = random.nextInt();
-      Mutation m = new Mutation(asText(r));
-      m.put(asText(random.nextInt()), asText(random.nextInt()),
-          new Value(Integer.toHexString(r).getBytes()));
-      bw.addMutation(m);
-    }
-    bw.close();
-    BatchScanner s = c.createBatchScanner("test", Authorizations.EMPTY, 2);
-    s.setRanges(Collections.singletonList(new Range()));
-    Key key = null;
-    int count = 0;
-    for (Entry<Key,Value> entry : s) {
-      if (key != null)
-        assertTrue(key.compareTo(entry.getKey()) < 0);
-      assertEquals(entry.getKey().getRow(), new Text(entry.getValue().get()));
-      key = entry.getKey();
-      count++;
-    }
-    assertEquals(100, count);
-  }
-
-  @Test
-  public void testChangeAuths() throws Exception {
-    Connector c = new MockConnector("root", new MockInstance());
-    c.securityOperations().createLocalUser("greg", new PasswordToken(new byte[0]));
-    assertTrue(c.securityOperations().getUserAuthorizations("greg").isEmpty());
-    c.securityOperations().changeUserAuthorizations("greg", new Authorizations("A".getBytes()));
-    assertTrue(c.securityOperations().getUserAuthorizations("greg").contains("A".getBytes()));
-    c.securityOperations().changeUserAuthorizations("greg", new Authorizations("X", "Y", "Z"));
-    assertTrue(c.securityOperations().getUserAuthorizations("greg").contains("X".getBytes()));
-    assertFalse(c.securityOperations().getUserAuthorizations("greg").contains("A".getBytes()));
-  }
-
-  @Test
-  public void testBadMutations() throws Exception {
-    Connector c = new MockConnector("root", new MockInstance());
-    c.tableOperations().create("test");
-    BatchWriter bw = c.createBatchWriter("test", new BatchWriterConfig().setMaxMemory(10000L)
-        .setMaxLatency(1000L, TimeUnit.MILLISECONDS).setMaxWriteThreads(4));
-
-    try {
-      bw.addMutation(null);
-      Assert.fail("addMutation should throw IAE for null mutation");
-    } catch (IllegalArgumentException iae) {}
-    try {
-      bw.addMutations(null);
-      Assert.fail("addMutations should throw IAE for null iterable");
-    } catch (IllegalArgumentException iae) {}
-
-    bw.addMutations(Collections.emptyList());
-
-    Mutation bad = new Mutation("bad");
-    try {
-      bw.addMutation(bad);
-      Assert.fail("addMutation should throw IAE for empty mutation");
-    } catch (IllegalArgumentException iae) {}
-
-    Mutation good = new Mutation("good");
-    good.put(asText(random.nextInt()), asText(random.nextInt()), new Value("good".getBytes()));
-    List<Mutation> mutations = new ArrayList<>();
-    mutations.add(good);
-    mutations.add(bad);
-    try {
-      bw.addMutations(mutations);
-      Assert.fail("addMutations should throw IAE if it contains empty mutation");
-    } catch (IllegalArgumentException iae) {}
-
-    bw.close();
-  }
-
-  @Test
-  public void testAggregation() throws Exception {
-    MockInstance mockInstance = new MockInstance();
-    Connector c = mockInstance.getConnector("root", new PasswordToken(""));
-    String table = "perDayCounts";
-    c.tableOperations().create(table);
-    IteratorSetting is = new IteratorSetting(10, "String Summation", SummingCombiner.class);
-    Combiner.setColumns(is, Collections.singletonList(new IteratorSetting.Column("day")));
-    SummingCombiner.setEncodingType(is, SummingCombiner.Type.STRING);
-    c.tableOperations().attachIterator(table, is);
-    String keys[][] = {{"foo", "day", "20080101"}, {"foo", "day", "20080101"},
-        {"foo", "day", "20080103"}, {"bar", "day", "20080101"}, {"bar", "day", "20080101"},};
-    BatchWriter bw = c.createBatchWriter("perDayCounts", new BatchWriterConfig());
-    for (String elt[] : keys) {
-      Mutation m = new Mutation(new Text(elt[0]));
-      m.put(new Text(elt[1]), new Text(elt[2]), new Value("1".getBytes()));
-      bw.addMutation(m);
-    }
-    bw.close();
-
-    Scanner s = c.createScanner("perDayCounts", Authorizations.EMPTY);
-    Iterator<Entry<Key,Value>> iterator = s.iterator();
-    assertTrue(iterator.hasNext());
-    checkEntry(iterator.next(), "bar", "day", "20080101", "2");
-    assertTrue(iterator.hasNext());
-    checkEntry(iterator.next(), "foo", "day", "20080101", "2");
-    assertTrue(iterator.hasNext());
-    checkEntry(iterator.next(), "foo", "day", "20080103", "1");
-    assertFalse(iterator.hasNext());
-  }
-
-  @Test
-  public void testDelete() throws Exception {
-    Connector c = new MockConnector("root", new MockInstance());
-    c.tableOperations().create("test");
-    BatchWriter bw = c.createBatchWriter("test", new BatchWriterConfig());
-
-    Mutation m1 = new Mutation("r1");
-
-    m1.put("cf1", "cq1", 1, "v1");
-
-    bw.addMutation(m1);
-    bw.flush();
-
-    Mutation m2 = new Mutation("r1");
-
-    m2.putDelete("cf1", "cq1", 2);
-
-    bw.addMutation(m2);
-    bw.flush();
-
-    Scanner scanner = c.createScanner("test", Authorizations.EMPTY);
-
-    int count = Iterators.size(scanner.iterator());
-
-    assertEquals(0, count);
-
-    try {
-      c.tableOperations().create("test_this_$tableName");
-      fail();
-
-    } catch (IllegalArgumentException iae) {
-
-    }
-  }
-
-  @Test
-  public void testDeletewithBatchDeleter() throws Exception {
-    Connector c = new MockConnector("root", new MockInstance());
-
-    // make sure we are using a clean table
-    if (c.tableOperations().exists("test"))
-      c.tableOperations().delete("test");
-    c.tableOperations().create("test");
-
-    BatchDeleter deleter = c.createBatchDeleter("test", Authorizations.EMPTY, 2,
-        new BatchWriterConfig());
-    // first make sure it deletes fine when its empty
-    deleter.setRanges(Collections.singletonList(new Range(("r1"))));
-    deleter.delete();
-    this.checkRemaining(c, "test", 0);
-
-    // test deleting just one row
-    BatchWriter writer = c.createBatchWriter("test", new BatchWriterConfig());
-    Mutation m = new Mutation("r1");
-    m.put("fam", "qual", "value");
-    writer.addMutation(m);
-
-    // make sure the write goes through
-    writer.flush();
-    writer.close();
-
-    deleter.setRanges(Collections.singletonList(new Range(("r1"))));
-    deleter.delete();
-    this.checkRemaining(c, "test", 0);
-
-    // test multi row deletes
-    writer = c.createBatchWriter("test", new BatchWriterConfig());
-    m = new Mutation("r1");
-    m.put("fam", "qual", "value");
-    writer.addMutation(m);
-    Mutation m2 = new Mutation("r2");
-    m2.put("fam", "qual", "value");
-    writer.addMutation(m2);
-
-    // make sure the write goes through
-    writer.flush();
-    writer.close();
-
-    deleter.setRanges(Collections.singletonList(new Range(("r1"))));
-    deleter.delete();
-    checkRemaining(c, "test", 1);
-  }
-
-  /**
-   * Test to make sure that a certain number of rows remain
-   *
-   * @param c
-   *          connector to the {@link MockInstance}
-   * @param tableName
-   *          Table to check
-   * @param count
-   *          number of entries to expect in the table
-   */
-  private void checkRemaining(Connector c, String tableName, int count) throws Exception {
-    Scanner scanner = c.createScanner(tableName, Authorizations.EMPTY);
-
-    int total = Iterators.size(scanner.iterator());
-    assertEquals(count, total);
-  }
-
-  @Test
-  public void testCMod() throws Exception {
-    // test writing to a table that the is being scanned
-    Connector c = new MockConnector("root", new MockInstance());
-    c.tableOperations().create("test");
-    BatchWriter bw = c.createBatchWriter("test", new BatchWriterConfig());
-
-    for (int i = 0; i < 10; i++) {
-      Mutation m1 = new Mutation("r" + i);
-      m1.put("cf1", "cq1", 1, "v" + i);
-      bw.addMutation(m1);
-    }
-
-    bw.flush();
-
-    int count = 10;
-
-    Scanner scanner = c.createScanner("test", Authorizations.EMPTY);
-    for (Entry<Key,Value> entry : scanner) {
-      Key key = entry.getKey();
-      Mutation m = new Mutation(key.getRow());
-      m.put(key.getColumnFamily().toString(), key.getColumnQualifier().toString(),
-          key.getTimestamp() + 1, "v" + (count));
-      count++;
-      bw.addMutation(m);
-    }
-
-    bw.flush();
-
-    count = 10;
-
-    for (Entry<Key,Value> entry : scanner) {
-      assertEquals(entry.getValue().toString(), "v" + (count++));
-    }
-
-    assertEquals(count, 20);
-
-    try {
-      c.tableOperations().create("test_this_$tableName");
-      fail();
-
-    } catch (IllegalArgumentException iae) {
-
-    }
-  }
-
-  private void checkEntry(Entry<Key,Value> next, String row, String cf, String cq, String value) {
-    assertEquals(row, next.getKey().getRow().toString());
-    assertEquals(cf, next.getKey().getColumnFamily().toString());
-    assertEquals(cq, next.getKey().getColumnQualifier().toString());
-    assertEquals(value, next.getValue().toString());
-  }
-
-  @Test
-  public void testMockMultiTableBatchWriter() throws Exception {
-    Connector c = new MockConnector("root", new MockInstance());
-    c.tableOperations().create("a");
-    c.tableOperations().create("b");
-    MultiTableBatchWriter bw = c.createMultiTableBatchWriter(new BatchWriterConfig());
-    Mutation m1 = new Mutation("r1");
-    m1.put("cf1", "cq1", 1, "v1");
-    BatchWriter b = bw.getBatchWriter("a");
-    b.addMutation(m1);
-    b.flush();
-    b = bw.getBatchWriter("b");
-    b.addMutation(m1);
-    b.flush();
-
-    Scanner scanner = c.createScanner("a", Authorizations.EMPTY);
-    int count = Iterators.size(scanner.iterator());
-    assertEquals(1, count);
-    scanner = c.createScanner("b", Authorizations.EMPTY);
-    count = Iterators.size(scanner.iterator());
-    assertEquals(1, count);
-
-  }
-
-  @Test
-  public void testUpdate() throws Exception {
-    Connector c = new MockConnector("root", new MockInstance());
-    c.tableOperations().create("test");
-    BatchWriter bw = c.createBatchWriter("test", new BatchWriterConfig());
-
-    for (int i = 0; i < 10; i++) {
-      Mutation m = new Mutation("r1");
-      m.put("cf1", "cq1", "" + i);
-      bw.addMutation(m);
-    }
-
-    bw.close();
-
-    Scanner scanner = c.createScanner("test", Authorizations.EMPTY);
-
-    Entry<Key,Value> entry = scanner.iterator().next();
-
-    assertEquals("9", entry.getValue().toString());
-
-  }
-
-  @Test
-  public void testMockConnectorReturnsCorrectInstance()
-      throws AccumuloException, AccumuloSecurityException {
-    String name = "an-interesting-instance-name";
-    Instance mockInstance = new MockInstance(name);
-    assertEquals(mockInstance,
-        mockInstance.getConnector("foo", new PasswordToken("bar")).getInstance());
-    assertEquals(name,
-        mockInstance.getConnector("foo", new PasswordToken("bar")).info().getInstanceName());
-  }
-
-}
diff --git a/core/src/test/java/org/apache/accumulo/core/client/mock/MockNamespacesTest.java b/core/src/test/java/org/apache/accumulo/core/client/mock/MockNamespacesTest.java
deleted file mode 100644
index 934326089d..0000000000
--- a/core/src/test/java/org/apache/accumulo/core/client/mock/MockNamespacesTest.java
+++ /dev/null
@@ -1,300 +0,0 @@
-/*
- * 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.core.client.mock;
-
-import static java.nio.charset.StandardCharsets.UTF_8;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.util.EnumSet;
-import java.util.HashSet;
-import java.util.Map.Entry;
-
-import org.apache.accumulo.core.client.AccumuloException;
-import org.apache.accumulo.core.client.AccumuloSecurityException;
-import org.apache.accumulo.core.client.BatchWriter;
-import org.apache.accumulo.core.client.BatchWriterConfig;
-import org.apache.accumulo.core.client.Connector;
-import org.apache.accumulo.core.client.Instance;
-import org.apache.accumulo.core.client.IteratorSetting;
-import org.apache.accumulo.core.client.NamespaceNotEmptyException;
-import org.apache.accumulo.core.client.NamespaceNotFoundException;
-import org.apache.accumulo.core.client.Scanner;
-import org.apache.accumulo.core.client.TableNotFoundException;
-import org.apache.accumulo.core.client.admin.NamespaceOperations;
-import org.apache.accumulo.core.client.impl.Namespace;
-import org.apache.accumulo.core.client.security.tokens.PasswordToken;
-import org.apache.accumulo.core.conf.Property;
-import org.apache.accumulo.core.data.Key;
-import org.apache.accumulo.core.data.Mutation;
-import org.apache.accumulo.core.data.Value;
-import org.apache.accumulo.core.iterators.Filter;
-import org.apache.accumulo.core.iterators.IteratorUtil.IteratorScope;
-import org.apache.accumulo.core.security.Authorizations;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TestName;
-
-@Deprecated
-public class MockNamespacesTest {
-
-  @Rule
-  public TestName test = new TestName();
-
-  private Connector conn;
-
-  @Before
-  public void setupInstance() throws Exception {
-    Instance inst = new MockInstance(test.getMethodName());
-    conn = inst.getConnector("user", new PasswordToken("pass"));
-  }
-
-  /**
-   * This test creates a table without specifying a namespace. In this case, it puts the table into
-   * the default namespace.
-   */
-  @Test
-  public void testDefaultNamespace() throws Exception {
-    String tableName = "test";
-
-    assertTrue(conn.namespaceOperations().exists(Namespace.DEFAULT));
-    conn.tableOperations().create(tableName);
-    assertTrue(conn.tableOperations().exists(tableName));
-  }
-
-  /**
-   * This test creates a new namespace "testing" and a table "testing.table1" which puts "table1"
-   * into the "testing" namespace. Then we create "testing.table2" which creates "table2" and puts
-   * it into "testing" as well. Then we make sure that you can't delete a namespace with tables in
-   * it, and then we delete the tables and delete the namespace.
-   */
-  @Test
-  public void testCreateAndDeleteNamespace() throws Exception {
-    String namespace = "testing";
-    String tableName1 = namespace + ".table1";
-    String tableName2 = namespace + ".table2";
-
-    conn.namespaceOperations().create(namespace);
-    assertTrue(conn.namespaceOperations().exists(namespace));
-
-    conn.tableOperations().create(tableName1);
-    assertTrue(conn.tableOperations().exists(tableName1));
-
-    conn.tableOperations().create(tableName2);
-    assertTrue(conn.tableOperations().exists(tableName2));
-
-    // deleting
-    try {
-      // can't delete a namespace with tables in it
-      conn.namespaceOperations().delete(namespace);
-      fail();
-    } catch (NamespaceNotEmptyException e) {
-      // ignore, supposed to happen
-    }
-    assertTrue(conn.namespaceOperations().exists(namespace));
-    assertTrue(conn.tableOperations().exists(tableName1));
-    assertTrue(conn.tableOperations().exists(tableName2));
-
-    conn.tableOperations().delete(tableName2);
-    assertTrue(!conn.tableOperations().exists(tableName2));
-    assertTrue(conn.namespaceOperations().exists(namespace));
-
-    conn.tableOperations().delete(tableName1);
-    assertTrue(!conn.tableOperations().exists(tableName1));
-    conn.namespaceOperations().delete(namespace);
-    assertTrue(!conn.namespaceOperations().exists(namespace));
-  }
-
-  /**
-   * This test creates a namespace, modifies it's properties, and checks to make sure that those
-   * properties are applied to its tables. To do something on a namespace-wide level, use
-   * {@link NamespaceOperations}.
-   *
-   * Checks to make sure namespace-level properties are overridden by table-level properties.
-   *
-   * Checks to see if the default namespace's properties work as well.
-   */
-
-  @Test
-  public void testNamespaceProperties() throws Exception {
-    String namespace = "propchange";
-    String tableName1 = namespace + ".table1";
-    String tableName2 = namespace + ".table2";
-
-    String propKey = Property.TABLE_SCAN_MAXMEM.getKey();
-    String propVal = "42K";
-
-    conn.namespaceOperations().create(namespace);
-    conn.tableOperations().create(tableName1);
-    conn.namespaceOperations().setProperty(namespace, propKey, propVal);
-
-    // check the namespace has the property
-    assertTrue(checkNamespaceHasProp(conn, namespace, propKey, propVal));
-
-    // check that the table gets it from the namespace
-    assertTrue(checkTableHasProp(conn, tableName1, propKey, propVal));
-
-    // test a second table to be sure the first wasn't magical
-    // (also, changed the order, the namespace has the property already)
-    conn.tableOperations().create(tableName2);
-    assertTrue(checkTableHasProp(conn, tableName2, propKey, propVal));
-
-    // test that table properties override namespace properties
-    String propKey2 = Property.TABLE_FILE_MAX.getKey();
-    String propVal2 = "42";
-    String tablePropVal = "13";
-
-    conn.tableOperations().setProperty(tableName2, propKey2, tablePropVal);
-    conn.namespaceOperations().setProperty("propchange", propKey2, propVal2);
-
-    assertTrue(checkTableHasProp(conn, tableName2, propKey2, tablePropVal));
-
-    // now check that you can change the default namespace's properties
-    propVal = "13K";
-    String tableName = "some_table";
-    conn.tableOperations().create(tableName);
-    conn.namespaceOperations().setProperty(Namespace.DEFAULT, propKey, propVal);
-
-    assertTrue(checkTableHasProp(conn, tableName, propKey, propVal));
-
-    // test the properties server-side by configuring an iterator.
-    // should not show anything with column-family = 'a'
-    String tableName3 = namespace + ".table3";
-    conn.tableOperations().create(tableName3);
-
-    IteratorSetting setting = new IteratorSetting(250, "thing", SimpleFilter.class.getName());
-    conn.namespaceOperations().attachIterator(namespace, setting);
-
-    BatchWriter bw = conn.createBatchWriter(tableName3, new BatchWriterConfig());
-    Mutation m = new Mutation("r");
-    m.put("a", "b", new Value("abcde".getBytes()));
-    bw.addMutation(m);
-    bw.flush();
-    bw.close();
-
-    // Scanner s = c.createScanner(tableName3, Authorizations.EMPTY);
-    // do scanners work correctly in mock?
-    // assertTrue(!s.iterator().hasNext());
-  }
-
-  /**
-   * This test renames and clones two separate table into different namespaces. different namespace.
-   */
-  @Test
-  public void testRenameAndCloneTableToNewNamespace() throws Exception {
-    String namespace1 = "renamed";
-    String namespace2 = "cloned";
-    String tableName = "table";
-    String tableName1 = "renamed.table1";
-    // String tableName2 = "cloned.table2";
-
-    conn.tableOperations().create(tableName);
-    conn.namespaceOperations().create(namespace1);
-    conn.namespaceOperations().create(namespace2);
-
-    conn.tableOperations().rename(tableName, tableName1);
-
-    assertTrue(conn.tableOperations().exists(tableName1));
-    assertTrue(!conn.tableOperations().exists(tableName));
-
-    // TODO implement clone in mock
-    // c.tableOperations().clone(tableName1, tableName2, false, null, null);
-    // assertTrue(c.tableOperations().exists(tableName1));
-    // assertTrue(c.tableOperations().exists(tableName2));
-  }
-
-  /**
-   * This test renames a namespace and ensures that its tables are still correct
-   */
-  @Test
-  public void testNamespaceRename() throws Exception {
-    String namespace1 = "n1";
-    String namespace2 = "n2";
-    String table = "t";
-
-    conn.namespaceOperations().create(namespace1);
-    conn.tableOperations().create(namespace1 + "." + table);
-
-    conn.namespaceOperations().rename(namespace1, namespace2);
-
-    assertTrue(!conn.namespaceOperations().exists(namespace1));
-    assertTrue(conn.namespaceOperations().exists(namespace2));
-    assertTrue(!conn.tableOperations().exists(namespace1 + "." + table));
-    assertTrue(conn.tableOperations().exists(namespace2 + "." + table));
-  }
-
-  /**
-   * This tests adding iterators to a namespace, listing them, and removing them
-   */
-  @Test
-  public void testNamespaceIterators() throws Exception {
-    String namespace = "iterator";
-    String tableName = namespace + ".table";
-    String iter = "thing";
-
-    conn.namespaceOperations().create(namespace);
-    conn.tableOperations().create(tableName);
-
-    IteratorSetting setting = new IteratorSetting(250, iter, SimpleFilter.class.getName());
-    HashSet<IteratorScope> scope = new HashSet<>();
-    scope.add(IteratorScope.scan);
-    conn.namespaceOperations().attachIterator(namespace, setting, EnumSet.copyOf(scope));
-
-    BatchWriter bw = conn.createBatchWriter(tableName, new BatchWriterConfig());
-    Mutation m = new Mutation("r");
-    m.put("a", "b", new Value("abcde".getBytes(UTF_8)));
-    bw.addMutation(m);
-    bw.flush();
-
-    Scanner s = conn.createScanner(tableName, Authorizations.EMPTY);
-    System.out.println(s.iterator().next());
-    // do scanners work correctly in mock?
-    // assertTrue(!s.iterator().hasNext());
-
-    assertTrue(conn.namespaceOperations().listIterators(namespace).containsKey(iter));
-    conn.namespaceOperations().removeIterator(namespace, iter, EnumSet.copyOf(scope));
-  }
-
-  private boolean checkTableHasProp(Connector c, String t, String propKey, String propVal)
-      throws AccumuloException, TableNotFoundException {
-    for (Entry<String,String> e : c.tableOperations().getProperties(t)) {
-      if (e.getKey().equals(propKey) && e.getValue().equals(propVal)) {
-        return true;
-      }
-    }
-    return false;
-  }
-
-  private boolean checkNamespaceHasProp(Connector c, String n, String propKey, String propVal)
-      throws AccumuloException, NamespaceNotFoundException, AccumuloSecurityException {
-    for (Entry<String,String> e : c.namespaceOperations().getProperties(n)) {
-      if (e.getKey().equals(propKey) && e.getValue().equals(propVal)) {
-        return true;
-      }
-    }
-    return false;
-  }
-
-  public static class SimpleFilter extends Filter {
-    @Override
-    public boolean accept(Key k, Value v) {
-      return !k.getColumnFamily().toString().equals("a");
-    }
-  }
-}
diff --git a/core/src/test/java/org/apache/accumulo/core/client/mock/MockScannerTest.java b/core/src/test/java/org/apache/accumulo/core/client/mock/MockScannerTest.java
deleted file mode 100644
index 3cbe233ca5..0000000000
--- a/core/src/test/java/org/apache/accumulo/core/client/mock/MockScannerTest.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * 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.core.client.mock;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.fail;
-
-import java.io.IOException;
-import java.util.Collections;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.apache.accumulo.core.client.BatchScanner;
-import org.apache.accumulo.core.client.BatchWriter;
-import org.apache.accumulo.core.client.BatchWriterConfig;
-import org.apache.accumulo.core.client.Connector;
-import org.apache.accumulo.core.client.IteratorSetting;
-import org.apache.accumulo.core.client.SampleNotPresentException;
-import org.apache.accumulo.core.client.security.tokens.PasswordToken;
-import org.apache.accumulo.core.data.Key;
-import org.apache.accumulo.core.data.Mutation;
-import org.apache.accumulo.core.data.Range;
-import org.apache.accumulo.core.data.Value;
-import org.apache.accumulo.core.iterators.IteratorEnvironment;
-import org.apache.accumulo.core.iterators.SortedKeyValueIterator;
-import org.apache.accumulo.core.iterators.WrappingIterator;
-import org.apache.accumulo.core.security.Authorizations;
-import org.junit.Test;
-
-@Deprecated
-public class MockScannerTest {
-
-  public static final String ROOT = "root";
-  public static final String TEST = "test";
-  public static final String SEP = ",";
-  public static final String A_B_C_D = 'A' + SEP + 'B' + SEP + 'C' + SEP + 'D';
-  public static final String CF = "cf";
-  public static final String CQ = "cq";
-
-  public static class DeepCopyIterator extends WrappingIterator {
-
-    @Override
-    public void init(SortedKeyValueIterator<Key,Value> source, Map<String,String> options,
-        IteratorEnvironment env) throws IOException {
-      super.init(source.deepCopy(env), options, env);
-    }
-  }
-
-  @Test
-  public void testDeepCopy() throws Exception {
-    MockInstance inst = new MockInstance();
-    Connector conn = inst.getConnector(ROOT, new PasswordToken(""));
-    conn.tableOperations().create(TEST);
-    BatchWriter bw = conn.createBatchWriter(TEST, new BatchWriterConfig());
-    for (String row : A_B_C_D.split(SEP)) {
-      Mutation m = new Mutation(row);
-      m.put(CF, CQ, "");
-      bw.addMutation(m);
-    }
-    bw.flush();
-    BatchScanner bs = conn.createBatchScanner(TEST, Authorizations.EMPTY, 1);
-    IteratorSetting cfg = new IteratorSetting(100, DeepCopyIterator.class);
-    bs.addScanIterator(cfg);
-    bs.setRanges(Collections.singletonList(new Range("A", "Z")));
-    StringBuilder sb = new StringBuilder();
-    String comma = "";
-    for (Entry<Key,Value> entry : bs) {
-      sb.append(comma);
-      sb.append(entry.getKey().getRow());
-      comma = SEP;
-    }
-    assertEquals(A_B_C_D, sb.toString());
-  }
-
-  @Test
-  public void testEnvironment() throws Exception {
-    MockScannerBase.MockIteratorEnvironment env = new MockScannerBase.MockIteratorEnvironment(
-        Authorizations.EMPTY);
-    assertFalse(env.isSamplingEnabled());
-    assertNull(env.getSamplerConfiguration());
-    try {
-      env.cloneWithSamplingEnabled();
-      fail("cloneWithSamplingEnabled should have thrown SampleNotPresentException");
-    } catch (SampleNotPresentException se) {
-      // expected
-    }
-  }
-
-}
diff --git a/core/src/test/java/org/apache/accumulo/core/client/mock/MockTableOperationsTest.java b/core/src/test/java/org/apache/accumulo/core/client/mock/MockTableOperationsTest.java
deleted file mode 100644
index 10a3f80817..0000000000
--- a/core/src/test/java/org/apache/accumulo/core/client/mock/MockTableOperationsTest.java
+++ /dev/null
@@ -1,357 +0,0 @@
-/*
- * 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.core.client.mock;
-
-import java.io.IOException;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.EnumSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.apache.accumulo.core.client.AccumuloException;
-import org.apache.accumulo.core.client.AccumuloSecurityException;
-import org.apache.accumulo.core.client.BatchScanner;
-import org.apache.accumulo.core.client.BatchWriter;
-import org.apache.accumulo.core.client.BatchWriterConfig;
-import org.apache.accumulo.core.client.Connector;
-import org.apache.accumulo.core.client.Instance;
-import org.apache.accumulo.core.client.IteratorSetting;
-import org.apache.accumulo.core.client.MutationsRejectedException;
-import org.apache.accumulo.core.client.Scanner;
-import org.apache.accumulo.core.client.TableExistsException;
-import org.apache.accumulo.core.client.TableNotFoundException;
-import org.apache.accumulo.core.client.admin.NewTableConfiguration;
-import org.apache.accumulo.core.client.admin.TableOperations;
-import org.apache.accumulo.core.client.admin.TimeType;
-import org.apache.accumulo.core.client.security.tokens.PasswordToken;
-import org.apache.accumulo.core.conf.DefaultConfiguration;
-import org.apache.accumulo.core.data.Key;
-import org.apache.accumulo.core.data.Mutation;
-import org.apache.accumulo.core.data.Range;
-import org.apache.accumulo.core.data.Value;
-import org.apache.accumulo.core.file.FileOperations;
-import org.apache.accumulo.core.file.FileSKVWriter;
-import org.apache.accumulo.core.iterators.IteratorUtil.IteratorScope;
-import org.apache.accumulo.core.iterators.user.VersioningIterator;
-import org.apache.accumulo.core.security.Authorizations;
-import org.apache.accumulo.core.security.ColumnVisibility;
-import org.apache.accumulo.core.util.Pair;
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.FileSystem;
-import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.io.Text;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TestName;
-
-import com.google.common.collect.Iterators;
-
-@Deprecated
-public class MockTableOperationsTest {
-
-  @Rule
-  public TestName test = new TestName();
-
-  private Connector conn;
-
-  @Before
-  public void setupInstance() throws Exception {
-    Instance inst = new MockInstance(test.getMethodName());
-    conn = inst.getConnector("user", new PasswordToken("pass"));
-  }
-
-  @Test
-  public void testCreateUseVersions() throws AccumuloException, AccumuloSecurityException,
-      TableExistsException, TableNotFoundException {
-    String t = "tableName1";
-
-    {
-      conn.tableOperations().create(t,
-          new NewTableConfiguration().withoutDefaultIterators().setTimeType(TimeType.LOGICAL));
-
-      writeVersionable(conn, t, 3);
-      assertVersionable(conn, t, 3);
-
-      IteratorSetting settings = new IteratorSetting(20, VersioningIterator.class);
-      conn.tableOperations().attachIterator(t, settings);
-
-      assertVersionable(conn, t, 1);
-
-      conn.tableOperations().delete(t);
-    }
-
-    {
-      conn.tableOperations().create(t, new NewTableConfiguration().setTimeType(TimeType.MILLIS));
-
-      try {
-        IteratorSetting settings = new IteratorSetting(20, VersioningIterator.class);
-        conn.tableOperations().attachIterator(t, settings);
-        Assert.fail();
-      } catch (AccumuloException ex) {}
-
-      writeVersionable(conn, t, 3);
-      assertVersionable(conn, t, 1);
-
-      conn.tableOperations().delete(t);
-    }
-  }
-
-  protected void writeVersionable(Connector c, String tableName, int size)
-      throws TableNotFoundException, MutationsRejectedException {
-    for (int i = 0; i < size; i++) {
-      BatchWriter w = c.createBatchWriter(tableName, new BatchWriterConfig());
-      Mutation m = new Mutation("row1");
-      m.put("cf", "cq", String.valueOf(i));
-      w.addMutation(m);
-      w.close();
-    }
-  }
-
-  protected void assertVersionable(Connector c, String tableName, int size)
-      throws TableNotFoundException {
-    BatchScanner s = c.createBatchScanner(tableName, Authorizations.EMPTY, 1);
-    s.setRanges(Collections.singleton(Range.exact("row1", "cf", "cq")));
-    int count = 0;
-    for (Map.Entry<Key,Value> e : s) {
-      Assert.assertEquals("row1", e.getKey().getRow().toString());
-      Assert.assertEquals("cf", e.getKey().getColumnFamily().toString());
-      Assert.assertEquals("cq", e.getKey().getColumnQualifier().toString());
-      count++;
-
-    }
-    Assert.assertEquals(size, count);
-    s.close();
-  }
-
-  @Test
-  public void testTableNotFound() throws AccumuloException, AccumuloSecurityException,
-      TableExistsException, TableNotFoundException {
-    IteratorSetting setting = new IteratorSetting(100, "myvers", VersioningIterator.class);
-    String t = "tableName";
-    try {
-      conn.tableOperations().attachIterator(t, setting);
-      Assert.fail();
-    } catch (TableNotFoundException e) {}
-    try {
-      conn.tableOperations().checkIteratorConflicts(t, setting, EnumSet.allOf(IteratorScope.class));
-      Assert.fail();
-    } catch (TableNotFoundException e) {}
-    try {
-      conn.tableOperations().delete(t);
-      Assert.fail();
-    } catch (TableNotFoundException e) {}
-    try {
-      conn.tableOperations().getIteratorSetting(t, "myvers", IteratorScope.scan);
-      Assert.fail();
-    } catch (TableNotFoundException e) {}
-    try {
-      conn.tableOperations().getProperties(t);
-      Assert.fail();
-    } catch (TableNotFoundException e) {}
-    try {
-      conn.tableOperations().listSplits(t);
-      Assert.fail();
-    } catch (TableNotFoundException e) {}
-    try {
-      conn.tableOperations().listIterators(t);
-      Assert.fail();
-    } catch (TableNotFoundException e) {}
-    try {
-      conn.tableOperations().removeIterator(t, null, EnumSet.noneOf(IteratorScope.class));
-      Assert.fail();
-    } catch (TableNotFoundException e) {}
-    try {
-      conn.tableOperations().rename(t, t);
-      Assert.fail();
-    } catch (TableNotFoundException e) {}
-    conn.tableOperations().create(t);
-    try {
-      conn.tableOperations().create(t);
-      Assert.fail();
-    } catch (TableExistsException e) {}
-    try {
-      conn.tableOperations().rename(t, t);
-      Assert.fail();
-    } catch (TableExistsException e) {}
-  }
-
-  private static class ImportTestFilesAndData {
-    Path importPath;
-    Path failurePath;
-    List<Pair<Key,Value>> keyVals;
-  }
-
-  @Test
-  public void testImport() throws Throwable {
-    ImportTestFilesAndData dataAndFiles = prepareTestFiles();
-    TableOperations tableOperations = conn.tableOperations();
-    tableOperations.create("a_table");
-    tableOperations.importDirectory("a_table", dataAndFiles.importPath.toString(),
-        dataAndFiles.failurePath.toString(), false);
-    Scanner scanner = conn.createScanner("a_table", new Authorizations());
-    Iterator<Entry<Key,Value>> iterator = scanner.iterator();
-    for (int i = 0; i < 5; i++) {
-      Assert.assertTrue(iterator.hasNext());
-      Entry<Key,Value> kv = iterator.next();
-      Pair<Key,Value> expected = dataAndFiles.keyVals.get(i);
-      Assert.assertEquals(expected.getFirst(), kv.getKey());
-      Assert.assertEquals(expected.getSecond(), kv.getValue());
-    }
-    Assert.assertFalse(iterator.hasNext());
-  }
-
-  private ImportTestFilesAndData prepareTestFiles() throws Throwable {
-    Configuration defaultConf = new Configuration();
-    Path tempFile = new Path("target/accumulo-test/import/sample.rf");
-    Path failures = new Path("target/accumulo-test/failures/");
-    FileSystem fs = FileSystem.get(new URI("file:///"), defaultConf);
-    fs.deleteOnExit(tempFile);
-    fs.deleteOnExit(failures);
-    fs.delete(failures, true);
-    fs.delete(tempFile, true);
-    fs.mkdirs(failures);
-    fs.mkdirs(tempFile.getParent());
-    FileSKVWriter writer = FileOperations.getInstance().newWriterBuilder()
-        .forFile(tempFile.toString(), fs, defaultConf)
-        .withTableConfiguration(DefaultConfiguration.getInstance()).build();
-    writer.startDefaultLocalityGroup();
-    List<Pair<Key,Value>> keyVals = new ArrayList<>();
-    for (int i = 0; i < 5; i++) {
-      keyVals
-          .add(new Pair<>(new Key("a" + i, "b" + i, "c" + i, new ColumnVisibility(""), 1000L + i),
-              new Value(Integer.toString(i).getBytes())));
-    }
-    for (Pair<Key,Value> keyVal : keyVals) {
-      writer.append(keyVal.getFirst(), keyVal.getSecond());
-    }
-    writer.close();
-    ImportTestFilesAndData files = new ImportTestFilesAndData();
-    files.failurePath = failures;
-    files.importPath = tempFile.getParent();
-    files.keyVals = keyVals;
-    return files;
-  }
-
-  @Test(expected = TableNotFoundException.class)
-  public void testFailsWithNoTable() throws Throwable {
-    TableOperations tableOperations = conn.tableOperations();
-    ImportTestFilesAndData testFiles = prepareTestFiles();
-    tableOperations.importDirectory("doesnt_exist_table", testFiles.importPath.toString(),
-        testFiles.failurePath.toString(), false);
-  }
-
-  @Test(expected = IOException.class)
-  public void testFailsWithNonEmptyFailureDirectory() throws Throwable {
-    TableOperations tableOperations = conn.tableOperations();
-    ImportTestFilesAndData testFiles = prepareTestFiles();
-    FileSystem fs = testFiles.failurePath.getFileSystem(new Configuration());
-    fs.open(testFiles.failurePath.suffix("/something")).close();
-    tableOperations.importDirectory("doesnt_exist_table", testFiles.importPath.toString(),
-        testFiles.failurePath.toString(), false);
-  }
-
-  @Test
-  public void testDeleteRows() throws Exception {
-    TableOperations to = conn.tableOperations();
-    to.create("test");
-    BatchWriter bw = conn.createBatchWriter("test", new BatchWriterConfig());
-    for (int r = 0; r < 20; r++) {
-      Mutation m = new Mutation("" + r);
-      for (int c = 0; c < 5; c++) {
-        m.put(new Text("cf"), new Text("" + c), new Value(("" + c).getBytes()));
-      }
-      bw.addMutation(m);
-    }
-    bw.flush();
-    to.deleteRows("test", new Text("1"), new Text("2"));
-    Scanner s = conn.createScanner("test", Authorizations.EMPTY);
-    int oneCnt = 0;
-    for (Entry<Key,Value> entry : s) {
-      char rowStart = entry.getKey().getRow().toString().charAt(0);
-      Assert.assertTrue(rowStart != '2');
-      oneCnt += rowStart == '1' ? 1 : 0;
-    }
-    Assert.assertEquals(5, oneCnt);
-  }
-
-  @Test
-  public void testDeleteRowsWithNullKeys() throws Exception {
-    TableOperations to = conn.tableOperations();
-    to.create("test2");
-    BatchWriter bw = conn.createBatchWriter("test2", new BatchWriterConfig());
-    for (int r = 0; r < 30; r++) {
-      Mutation m = new Mutation(Integer.toString(r));
-      for (int c = 0; c < 5; c++) {
-        m.put(new Text("cf"), new Text(Integer.toString(c)),
-            new Value(Integer.toString(c).getBytes()));
-      }
-      bw.addMutation(m);
-    }
-    bw.flush();
-
-    // test null end
-    // will remove rows 4 through 9 (6 * 5 = 30 entries)
-    to.deleteRows("test2", new Text("30"), null);
-    Scanner s = conn.createScanner("test2", Authorizations.EMPTY);
-    int rowCnt = 0;
-    for (Entry<Key,Value> entry : s) {
-      String rowId = entry.getKey().getRow().toString();
-      Assert.assertFalse(rowId.startsWith("30"));
-      rowCnt++;
-    }
-    s.close();
-    Assert.assertEquals(120, rowCnt);
-
-    // test null start
-    // will remove 0-1, 10-19, 2
-    to.deleteRows("test2", null, new Text("2"));
-    s = conn.createScanner("test2", Authorizations.EMPTY);
-    rowCnt = 0;
-    for (Entry<Key,Value> entry : s) {
-      char rowStart = entry.getKey().getRow().toString().charAt(0);
-      Assert.assertTrue(rowStart >= '2');
-      rowCnt++;
-    }
-    s.close();
-    Assert.assertEquals(55, rowCnt);
-
-    // test null start and end
-    // deletes everything still left
-    to.deleteRows("test2", null, null);
-    s = conn.createScanner("test2", Authorizations.EMPTY);
-    rowCnt = Iterators.size(s.iterator());
-    s.close();
-    to.delete("test2");
-    Assert.assertEquals(0, rowCnt);
-
-  }
-
-  @Test
-  public void testTableIdMap() throws Exception {
-    TableOperations tops = conn.tableOperations();
-    tops.create("foo");
-
-    // Should get a table ID, not the table name
-    Assert.assertNotEquals("foo", tops.tableIdMap().get("foo"));
-  }
-}
diff --git a/core/src/test/java/org/apache/accumulo/core/client/mock/TestBatchScanner821.java b/core/src/test/java/org/apache/accumulo/core/client/mock/TestBatchScanner821.java
deleted file mode 100644
index a2fd64f630..0000000000
--- a/core/src/test/java/org/apache/accumulo/core/client/mock/TestBatchScanner821.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * 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.core.client.mock;
-
-import static org.junit.Assert.assertEquals;
-
-import java.util.Collections;
-import java.util.Map.Entry;
-
-import org.apache.accumulo.core.client.BatchScanner;
-import org.apache.accumulo.core.client.BatchWriter;
-import org.apache.accumulo.core.client.BatchWriterConfig;
-import org.apache.accumulo.core.client.Connector;
-import org.apache.accumulo.core.client.IteratorSetting;
-import org.apache.accumulo.core.client.security.tokens.PasswordToken;
-import org.apache.accumulo.core.data.Key;
-import org.apache.accumulo.core.data.Mutation;
-import org.apache.accumulo.core.data.Range;
-import org.apache.accumulo.core.data.Value;
-import org.apache.accumulo.core.iterators.WrappingIterator;
-import org.apache.accumulo.core.security.Authorizations;
-import org.apache.hadoop.io.Text;
-import org.junit.Test;
-
-@Deprecated
-public class TestBatchScanner821 {
-
-  public static class TransformIterator extends WrappingIterator {
-
-    @Override
-    public Key getTopKey() {
-      Key k = getSource().getTopKey();
-      return new Key(new Text(k.getRow().toString().toLowerCase()), k.getColumnFamily(),
-          k.getColumnQualifier(), k.getColumnVisibility(), k.getTimestamp());
-    }
-  }
-
-  @Test
-  public void test() throws Exception {
-    MockInstance inst = new MockInstance();
-    Connector conn = inst.getConnector("root", new PasswordToken(""));
-    conn.tableOperations().create("test");
-    BatchWriter bw = conn.createBatchWriter("test", new BatchWriterConfig());
-    for (String row : "A,B,C,D".split(",")) {
-      Mutation m = new Mutation(row);
-      m.put("cf", "cq", "");
-      bw.addMutation(m);
-    }
-    bw.flush();
-    BatchScanner bs = conn.createBatchScanner("test", Authorizations.EMPTY, 1);
-    IteratorSetting cfg = new IteratorSetting(100, TransformIterator.class);
-    bs.addScanIterator(cfg);
-    bs.setRanges(Collections.singletonList(new Range("A", "Z")));
-    StringBuilder sb = new StringBuilder();
-    String comma = "";
-    for (Entry<Key,Value> entry : bs) {
-      sb.append(comma);
-      sb.append(entry.getKey().getRow());
-      comma = ",";
-    }
-    assertEquals("a,b,c,d", sb.toString());
-  }
-
-}
diff --git a/core/src/test/java/org/apache/accumulo/core/security/CredentialsTest.java b/core/src/test/java/org/apache/accumulo/core/security/CredentialsTest.java
index 38173b4f3e..6709651245 100644
--- a/core/src/test/java/org/apache/accumulo/core/security/CredentialsTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/security/CredentialsTest.java
@@ -19,7 +19,6 @@
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotEquals;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
@@ -27,9 +26,7 @@
 
 import javax.security.auth.DestroyFailedException;
 
-import org.apache.accumulo.core.client.AccumuloException;
 import org.apache.accumulo.core.client.AccumuloSecurityException;
-import org.apache.accumulo.core.client.Connector;
 import org.apache.accumulo.core.client.Instance;
 import org.apache.accumulo.core.client.impl.Credentials;
 import org.apache.accumulo.core.client.security.SecurityErrorCode;
@@ -37,7 +34,6 @@
 import org.apache.accumulo.core.client.security.tokens.NullToken;
 import org.apache.accumulo.core.client.security.tokens.PasswordToken;
 import org.apache.accumulo.core.security.thrift.TCredentials;
-import org.apache.accumulo.core.util.DeprecationUtil;
 import org.easymock.EasyMock;
 import org.junit.Before;
 import org.junit.Rule;
@@ -89,25 +85,6 @@ public void roundtripThrift() throws DestroyFailedException {
     assertEquals("Roundtrip through thirft changed credentials equality", creds, roundtrip);
   }
 
-  @Test
-  public void testMockConnector()
-      throws AccumuloException, DestroyFailedException, AccumuloSecurityException {
-    Instance inst = DeprecationUtil.makeMockInstance(test.getMethodName());
-    Connector rootConnector = inst.getConnector("root", new PasswordToken());
-    PasswordToken testToken = new PasswordToken("testPass");
-    rootConnector.securityOperations().createLocalUser("testUser", testToken);
-
-    assertFalse(testToken.isDestroyed());
-    testToken.destroy();
-    assertTrue(testToken.isDestroyed());
-    try {
-      inst.getConnector("testUser", testToken);
-      fail();
-    } catch (AccumuloSecurityException e) {
-      assertEquals(e.getSecurityErrorCode(), SecurityErrorCode.TOKEN_EXPIRED);
-    }
-  }
-
   @Test
   public void testEqualsAndHashCode() {
     Credentials nullNullCreds = new Credentials(null, null);
diff --git a/proxy/proxy.properties b/proxy/proxy.properties
index ad5b77e26d..3bb3b28ffe 100644
--- a/proxy/proxy.properties
+++ b/proxy/proxy.properties
@@ -15,8 +15,6 @@
 
 # Port to run proxy on
 port=42424
-# Set to true if you wish to an in-memory Mock instance
-useMockInstance=false
 # Set to true if you wish to use an Mini Accumulo Cluster
 useMiniAccumulo=false
 protocolFactory=org.apache.thrift.protocol.TCompactProtocol$Factory
diff --git a/proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java b/proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java
index a00d6356fa..0dea95d825 100644
--- a/proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java
+++ b/proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java
@@ -62,8 +62,6 @@
 
   public static final String USE_MINI_ACCUMULO_KEY = "useMiniAccumulo";
   public static final String USE_MINI_ACCUMULO_DEFAULT = "false";
-  public static final String USE_MOCK_INSTANCE_KEY = "useMockInstance";
-  public static final String USE_MOCK_INSTANCE_DEFAULT = "false";
   public static final String THRIFT_THREAD_POOL_SIZE_KEY = "numThreads";
   // Default number of threads from THsHaServer.Args
   public static final String THRIFT_THREAD_POOL_SIZE_DEFAULT = "5";
@@ -131,12 +129,10 @@ public void execute(final String[] args) throws Exception {
 
     boolean useMini = Boolean
         .parseBoolean(proxyProps.getProperty(USE_MINI_ACCUMULO_KEY, USE_MINI_ACCUMULO_DEFAULT));
-    boolean useMock = Boolean
-        .parseBoolean(proxyProps.getProperty(USE_MOCK_INSTANCE_KEY, USE_MOCK_INSTANCE_DEFAULT));
 
-    if (!useMini && !useMock && clientProps == null) {
+    if (!useMini && clientProps == null) {
       System.err.println("The '-c' option must be set with an accumulo-client.properties file or"
-          + " proxy.properties must contain either useMiniAccumulo=true or useMockInstance=true");
+          + " proxy.properties must contain either useMiniAccumulo=true");
       System.exit(1);
     }
 
diff --git a/proxy/src/main/java/org/apache/accumulo/proxy/ProxyServer.java b/proxy/src/main/java/org/apache/accumulo/proxy/ProxyServer.java
index d9fc9d777a..93c9d49ba1 100644
--- a/proxy/src/main/java/org/apache/accumulo/proxy/ProxyServer.java
+++ b/proxy/src/main/java/org/apache/accumulo/proxy/ProxyServer.java
@@ -86,7 +86,6 @@
 import org.apache.accumulo.core.security.SystemPermission;
 import org.apache.accumulo.core.security.TablePermission;
 import org.apache.accumulo.core.util.ByteBufferUtil;
-import org.apache.accumulo.core.util.DeprecationUtil;
 import org.apache.accumulo.core.util.TextUtil;
 import org.apache.accumulo.proxy.thrift.AccumuloProxy;
 import org.apache.accumulo.proxy.thrift.BatchScanOptions;
@@ -191,14 +190,9 @@ public void onRemoval(RemovalNotification<UUID,ConditionalWriter> notification)
 
   public ProxyServer(Properties props) {
 
-    String useMock = props.getProperty("useMockInstance");
-    if (useMock != null && Boolean.parseBoolean(useMock))
-      instance = DeprecationUtil.makeMockInstance(this.getClass().getName());
-    else {
-      @SuppressWarnings("deprecation")
-      Instance i = new ZooKeeperInstance(ClientConfConverter.toClientConf(props));
-      instance = i;
-    }
+    @SuppressWarnings("deprecation")
+    Instance i = new ZooKeeperInstance(ClientConfConverter.toClientConf(props));
+    instance = i;
 
     try {
       String tokenProp = props.getProperty("tokenClass", PasswordToken.class.getName());
diff --git a/server/base/src/main/java/org/apache/accumulo/server/AccumuloServerContext.java b/server/base/src/main/java/org/apache/accumulo/server/AccumuloServerContext.java
index 1640cbdab9..3d378525ae 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/AccumuloServerContext.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/AccumuloServerContext.java
@@ -28,11 +28,9 @@
 import org.apache.accumulo.core.client.impl.ClientContext;
 import org.apache.accumulo.core.client.impl.ConnectorImpl;
 import org.apache.accumulo.core.client.impl.Credentials;
-import org.apache.accumulo.core.client.security.tokens.PasswordToken;
 import org.apache.accumulo.core.conf.AccumuloConfiguration;
 import org.apache.accumulo.core.conf.Property;
 import org.apache.accumulo.core.rpc.SslConnectionParams;
-import org.apache.accumulo.core.util.DeprecationUtil;
 import org.apache.accumulo.server.client.HdfsZooInstance;
 import org.apache.accumulo.server.conf.ServerConfigurationFactory;
 import org.apache.accumulo.server.rpc.SaslServerConnectionParams;
@@ -63,7 +61,7 @@ public AccumuloServerContext(Instance instance, ServerConfigurationFactory confF
    */
   private AccumuloServerContext(Instance instance, ServerConfigurationFactory confFactory,
       AuthenticationTokenSecretManager secretManager) {
-    super(instance, getCredentials(instance), confFactory.getSystemConfiguration());
+    super(instance, SystemCredentials.get(instance), confFactory.getSystemConfiguration());
     this.confFactory = confFactory;
     this.secretManager = secretManager;
     if (null != getSaslParams()) {
@@ -96,17 +94,6 @@ void enforceKerberosLogin() {
         "Expected login user to be " + kerberosPrincipal + " but was " + loginUser.getUserName());
   }
 
-  /**
-   * Get the credentials to use for this instance so it can be passed to the superclass during
-   * construction.
-   */
-  private static Credentials getCredentials(Instance instance) {
-    if (DeprecationUtil.isMockInstance(instance)) {
-      return new Credentials("mockSystemUser", new PasswordToken("mockSystemPassword"));
-    }
-    return SystemCredentials.get(instance);
-  }
-
   /**
    * Retrieve the configuration factory used to construct this context
    */
diff --git a/shell/src/main/java/org/apache/accumulo/shell/Shell.java b/shell/src/main/java/org/apache/accumulo/shell/Shell.java
index 6baae6dffd..98cd953805 100644
--- a/shell/src/main/java/org/apache/accumulo/shell/Shell.java
+++ b/shell/src/main/java/org/apache/accumulo/shell/Shell.java
@@ -62,7 +62,6 @@
 import org.apache.accumulo.core.tabletserver.thrift.ConstraintViolationException;
 import org.apache.accumulo.core.trace.DistributedTrace;
 import org.apache.accumulo.core.util.BadArgumentException;
-import org.apache.accumulo.core.util.DeprecationUtil;
 import org.apache.accumulo.core.util.format.DefaultFormatter;
 import org.apache.accumulo.core.util.format.Formatter;
 import org.apache.accumulo.core.util.format.FormatterConfig;
@@ -337,9 +336,7 @@ public boolean config(String... args) throws IOException {
     }
 
     try {
-      if (!options.isFake()) {
-        DistributedTrace.enable(InetAddress.getLocalHost().getHostName(), "shell", properties);
-      }
+      DistributedTrace.enable(InetAddress.getLocalHost().getHostName(), "shell", properties);
       this.setTableName("");
       connector = instance.getConnector(user, token);
 
@@ -428,21 +425,17 @@ public boolean config(String... args) throws IOException {
   protected void setInstance(ShellOptionsJC options) {
     // should only be one set of instance options set
     instance = null;
-    if (options.isFake()) {
-      instance = DeprecationUtil.makeMockInstance("fake");
+    String instanceName, hosts;
+    if (options.getZooKeeperInstance().size() > 0) {
+      List<String> zkOpts = options.getZooKeeperInstance();
+      instanceName = zkOpts.get(0);
+      hosts = zkOpts.get(1);
     } else {
-      String instanceName, hosts;
-      if (options.getZooKeeperInstance().size() > 0) {
-        List<String> zkOpts = options.getZooKeeperInstance();
-        instanceName = zkOpts.get(0);
-        hosts = zkOpts.get(1);
-      } else {
-        instanceName = options.getZooKeeperInstanceName();
-        hosts = options.getZooKeeperHosts();
-      }
-      final Properties properties = options.getClientProperties();
-      instance = getZooInstance(instanceName, hosts, properties);
+      instanceName = options.getZooKeeperInstanceName();
+      hosts = options.getZooKeeperHosts();
     }
+    final Properties properties = options.getClientProperties();
+    instance = getZooInstance(instanceName, hosts, properties);
   }
 
   /**
diff --git a/shell/src/main/java/org/apache/accumulo/shell/ShellOptionsJC.java b/shell/src/main/java/org/apache/accumulo/shell/ShellOptionsJC.java
index 86032f0995..25aec13e85 100644
--- a/shell/src/main/java/org/apache/accumulo/shell/ShellOptionsJC.java
+++ b/shell/src/main/java/org/apache/accumulo/shell/ShellOptionsJC.java
@@ -132,9 +132,6 @@ public String convert(String value) {
   @Parameter(names = "--debug", description = "enables client debugging")
   private boolean debugEnabled;
 
-  @Parameter(names = "--fake", description = "fake a connection to accumulo")
-  private boolean fake;
-
   @Parameter(names = {"-?", "--help"}, help = true, description = "display this help")
   private boolean helpEnabled;
 
@@ -226,10 +223,6 @@ public boolean isDebugEnabled() {
     return debugEnabled;
   }
 
-  public boolean isFake() {
-    return fake;
-  }
-
   public boolean isHelpEnabled() {
     return helpEnabled;
   }
diff --git a/shell/src/main/java/org/apache/accumulo/shell/mock/MockShell.java b/shell/src/main/java/org/apache/accumulo/shell/mock/MockShell.java
deleted file mode 100644
index 5790241fc1..0000000000
--- a/shell/src/main/java/org/apache/accumulo/shell/mock/MockShell.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * 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.mock;
-
-import static java.nio.charset.StandardCharsets.UTF_8;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import org.apache.accumulo.core.client.AccumuloException;
-import org.apache.accumulo.core.client.AccumuloSecurityException;
-import org.apache.accumulo.core.client.TableNotFoundException;
-import org.apache.accumulo.shell.Shell;
-import org.apache.accumulo.shell.ShellOptionsJC;
-import org.apache.commons.cli.CommandLine;
-import org.apache.commons.vfs2.FileSystemException;
-
-import jline.console.ConsoleReader;
-
-/**
- * An Accumulo Shell implementation that allows a developer to attach an InputStream and Writer to
- * the Shell for testing purposes.
- *
- * @deprecated since 1.8.0; use MiniAccumuloCluster or a standard mock framework instead.
- */
-@Deprecated
-public class MockShell extends Shell {
-  private static final String NEWLINE = "\n";
-
-  protected InputStream in;
-  protected OutputStream out;
-
-  public MockShell(InputStream in, OutputStream out) throws IOException {
-    super();
-    this.in = in;
-    this.out = out;
-  }
-
-  @Override
-  public boolean config(String... args) throws IOException {
-    // If configuring the shell failed, fail quickly
-    if (!super.config(args)) {
-      return false;
-    }
-
-    // Update the ConsoleReader with the input and output "redirected"
-    try {
-      this.reader = new ConsoleReader(in, out);
-    } catch (Exception e) {
-      printException(e);
-      return false;
-    }
-
-    // Don't need this for testing purposes
-    this.reader.setHistoryEnabled(false);
-    this.reader.setPaginationEnabled(false);
-
-    // Make the parsing from the client easier;
-    this.verbose = false;
-    return true;
-  }
-
-  @Override
-  protected void setInstance(ShellOptionsJC options) {
-    // We always want a MockInstance for this test
-    instance = new org.apache.accumulo.core.client.mock.MockInstance();
-  }
-
-  @Override
-  public int start() throws IOException {
-    String input;
-    if (isVerbose())
-      printInfo();
-
-    if (execFile != null) {
-      try (java.util.Scanner scanner = new java.util.Scanner(execFile, UTF_8.name())) {
-        while (scanner.hasNextLine() && !hasExited()) {
-          execCommand(scanner.nextLine(), true, isVerbose());
-        }
-      }
-    } else if (execCommand != null) {
-      for (String command : execCommand.split("\n")) {
-        execCommand(command, true, isVerbose());
-      }
-      return exitCode;
-    }
-
-    while (true) {
-      if (hasExited())
-        return exitCode;
-
-      reader.setPrompt(getDefaultPrompt());
-      input = reader.readLine();
-      if (input == null) {
-        reader.println();
-        return exitCode;
-      } // user canceled
-
-      execCommand(input, false, false);
-    }
-  }
-
-  /**
-   * @param in
-   *          the in to set
-   */
-  public void setConsoleInputStream(InputStream in) {
-    this.in = in;
-  }
-
-  /**
-   * @param out
-   *          the output stream to set
-   */
-  public void setConsoleWriter(OutputStream out) {
-    this.out = out;
-  }
-
-  @Override
-  public ClassLoader getClassLoader(final CommandLine cl, final Shell shellState)
-      throws AccumuloException, TableNotFoundException, AccumuloSecurityException, IOException,
-      FileSystemException {
-    return MockShell.class.getClassLoader();
-  }
-
-  /**
-   * Convenience method to create the byte-array to hand to the console
-   *
-   * @param commands
-   *          An array of commands to run
-   * @return A byte[] input stream which can be handed to the console.
-   */
-  public static ByteArrayInputStream makeCommands(String... commands) {
-    StringBuilder sb = new StringBuilder(commands.length * 8);
-
-    for (String command : commands) {
-      sb.append(command).append(NEWLINE);
-    }
-
-    return new ByteArrayInputStream(sb.toString().getBytes(UTF_8));
-  }
-}
diff --git a/shell/src/test/java/org/apache/accumulo/shell/ShellConfigTest.java b/shell/src/test/java/org/apache/accumulo/shell/ShellConfigTest.java
index 9782f307ed..cc29383afa 100644
--- a/shell/src/test/java/org/apache/accumulo/shell/ShellConfigTest.java
+++ b/shell/src/test/java/org/apache/accumulo/shell/ShellConfigTest.java
@@ -24,12 +24,12 @@
 import java.io.FileDescriptor;
 import java.io.FileInputStream;
 import java.io.IOException;
+import java.io.OutputStream;
 import java.io.PrintStream;
 import java.nio.file.Files;
 import java.util.Properties;
 
 import org.apache.accumulo.core.conf.ClientProperty;
-import org.apache.accumulo.shell.ShellTest.TestOutputStream;
 import org.apache.log4j.Level;
 import org.junit.After;
 import org.junit.Before;
@@ -40,6 +40,24 @@
 import jline.console.ConsoleReader;
 
 public class ShellConfigTest {
+
+  public static class TestOutputStream extends OutputStream {
+    StringBuilder sb = new StringBuilder();
+
+    @Override
+    public void write(int b) throws IOException {
+      sb.append((char) (0xff & b));
+    }
+
+    public String get() {
+      return sb.toString();
+    }
+
+    public void clear() {
+      sb.setLength(0);
+    }
+  }
+
   TestOutputStream output;
   Shell shell;
   PrintStream out;
diff --git a/shell/src/test/java/org/apache/accumulo/shell/ShellSetInstanceTest.java b/shell/src/test/java/org/apache/accumulo/shell/ShellSetInstanceTest.java
index ebb1e126e8..b0e48db9a2 100644
--- a/shell/src/test/java/org/apache/accumulo/shell/ShellSetInstanceTest.java
+++ b/shell/src/test/java/org/apache/accumulo/shell/ShellSetInstanceTest.java
@@ -40,7 +40,6 @@
 import org.apache.log4j.Level;
 import org.junit.After;
 import org.junit.AfterClass;
-import org.junit.Assert;
 import org.junit.Assume;
 import org.junit.Before;
 import org.junit.BeforeClass;
@@ -115,18 +114,6 @@ public void tearDown() {
     SiteConfiguration.clearInstance();
   }
 
-  @Deprecated
-  @Test
-  public void testSetInstance_Fake() throws Exception {
-    ShellOptionsJC opts = createMock(ShellOptionsJC.class);
-    expect(opts.isFake()).andReturn(true);
-    replay(opts);
-
-    shell.setInstance(opts);
-    Assert.assertTrue(
-        shell.getInstance() instanceof org.apache.accumulo.core.client.mock.MockInstance);
-  }
-
   @Test
   public void testSetInstance_ZKInstance_DashZ() throws Exception {
     testSetInstance_ZKInstance(true);
@@ -140,7 +127,6 @@ public void testSetInstance_ZKInstance_DashZIandZH() throws Exception {
   private void testSetInstance_ZKInstance(boolean dashZ) throws Exception {
     Properties props = createMock(Properties.class);
     ShellOptionsJC opts = createMock(ShellOptionsJC.class);
-    expect(opts.isFake()).andReturn(false);
     expect(opts.getClientProperties()).andReturn(new Properties());
     expect(props.getProperty(Property.GENERAL_SECURITY_CREDENTIAL_PROVIDER_PATHS.getKey()))
         .andReturn(null);
diff --git a/shell/src/test/java/org/apache/accumulo/shell/ShellTest.java b/test/src/main/java/org/apache/accumulo/test/ShellIT.java
similarity index 92%
rename from shell/src/test/java/org/apache/accumulo/shell/ShellTest.java
rename to test/src/main/java/org/apache/accumulo/test/ShellIT.java
index 70951149ef..a837a51cfb 100644
--- a/shell/src/test/java/org/apache/accumulo/shell/ShellTest.java
+++ b/test/src/main/java/org/apache/accumulo/test/ShellIT.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.accumulo.shell;
+package org.apache.accumulo.test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
@@ -31,17 +31,41 @@
 import java.util.List;
 import java.util.TimeZone;
 
+import org.apache.accumulo.harness.SharedMiniClusterBase;
+import org.apache.accumulo.shell.Shell;
+import org.apache.accumulo.test.categories.MiniClusterOnlyTests;
+import org.apache.accumulo.test.categories.SunnyDayTests;
 import org.apache.log4j.Level;
 import org.junit.After;
+import org.junit.AfterClass;
 import org.junit.Before;
+import org.junit.BeforeClass;
 import org.junit.Test;
+import org.junit.experimental.categories.Category;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import jline.console.ConsoleReader;
 
-public class ShellTest {
-  private static final Logger log = LoggerFactory.getLogger(ShellTest.class);
+@Category({MiniClusterOnlyTests.class, SunnyDayTests.class})
+public class ShellIT extends SharedMiniClusterBase {
+
+  @Override
+  protected int defaultTimeoutSeconds() {
+    return 30;
+  }
+
+  @BeforeClass
+  public static void setup() throws Exception {
+    SharedMiniClusterBase.startMiniCluster();
+  }
+
+  @AfterClass
+  public static void teardown() throws Exception {
+    SharedMiniClusterBase.stopMiniCluster();
+  }
+
+  private static final Logger log = LoggerFactory.getLogger(ShellIT.class);
 
   public static class TestOutputStream extends OutputStream {
     StringBuilder sb = new StringBuilder();
@@ -125,7 +149,7 @@ void exec(String cmd, boolean expectGoodExit, String expectString, boolean strin
   }
 
   @Before
-  public void setup() throws IOException {
+  public void setupShell() throws IOException {
     TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
     Shell.log.setLevel(Level.OFF);
     output = new TestOutputStream();
@@ -133,11 +157,12 @@ public void setup() throws IOException {
     config = Files.createTempFile(null, null).toFile();
     shell = new Shell(new ConsoleReader(input, output));
     shell.setLogErrorsToConsole();
-    shell.config("--config-file", config.toString(), "--fake", "-u", "test", "-p", "secret");
+    shell.config("--config-file", config.toString(), "-u", "root", "-p", getRootPassword(), "-zi",
+        getCluster().getInstanceName(), "-zh", getCluster().getZooKeepers());
   }
 
   @After
-  public void teardown() {
+  public void teardownShell() {
     if (config.exists()) {
       if (!config.delete()) {
         log.error("Unable to delete {}", config);
@@ -370,8 +395,9 @@ public void commentTest() throws IOException {
   @Test
   public void execFileTest() throws IOException {
     Shell.log.debug("Starting exec file test --------------------------");
-    shell.config("--config-file", config.toString(), "--fake", "-u", "test", "-p", "secret", "-f",
-        "src/test/resources/shelltest.txt");
+    shell.config("--config-file", config.toString(), "-u", "root", "-p", getRootPassword(), "-zi",
+        getCluster().getInstanceName(), "-zh", getCluster().getZooKeepers(), "-f",
+        "src/main/resources/shellit.txt");
     assertEquals(0, shell.start());
     assertGoodExit("Unknown command", false);
   }
diff --git a/test/src/main/java/org/apache/accumulo/test/functional/KerberosProxyIT.java b/test/src/main/java/org/apache/accumulo/test/functional/KerberosProxyIT.java
index d7ee459bee..7fa12b8963 100644
--- a/test/src/main/java/org/apache/accumulo/test/functional/KerberosProxyIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/functional/KerberosProxyIT.java
@@ -255,7 +255,6 @@ private File generateNewProxyConfiguration(MiniAccumuloConfigImpl cfg) throws IO
       assertTrue("Failed to delete proxy.properties file", proxyPropertiesFile.delete());
     }
     Properties proxyProperties = new Properties();
-    proxyProperties.setProperty("useMockInstance", "false");
     proxyProperties.setProperty("useMiniAccumulo", "false");
     proxyProperties.setProperty("protocolFactory", TCompactProtocol.Factory.class.getName());
     proxyProperties.setProperty("tokenClass", KerberosToken.class.getName());
diff --git a/test/src/main/java/org/apache/accumulo/test/proxy/TestProxyInstanceOperations.java b/test/src/main/java/org/apache/accumulo/test/proxy/TestProxyInstanceOperations.java
index 2b8c189638..e4aca9bad0 100644
--- a/test/src/main/java/org/apache/accumulo/test/proxy/TestProxyInstanceOperations.java
+++ b/test/src/main/java/org/apache/accumulo/test/proxy/TestProxyInstanceOperations.java
@@ -47,7 +47,6 @@
   @BeforeClass
   public static void setup() throws Exception {
     Properties proxyProps = new Properties();
-    proxyProps.setProperty("useMockInstance", "true");
     proxyProps.put("tokenClass", PasswordToken.class.getName());
 
     proxy = Proxy.createProxyServer(HostAndPort.fromParts("localhost", port),
diff --git a/test/src/main/java/org/apache/accumulo/test/proxy/TestProxyNamespaceOperations.java b/test/src/main/java/org/apache/accumulo/test/proxy/TestProxyNamespaceOperations.java
index c050bb43d8..526fe493ea 100644
--- a/test/src/main/java/org/apache/accumulo/test/proxy/TestProxyNamespaceOperations.java
+++ b/test/src/main/java/org/apache/accumulo/test/proxy/TestProxyNamespaceOperations.java
@@ -56,7 +56,6 @@
   @BeforeClass
   public static void setup() throws Exception {
     Properties prop = new Properties();
-    prop.setProperty("useMockInstance", "true");
     prop.put("tokenClass", PasswordToken.class.getName());
 
     proxy = Proxy.createProxyServer(HostAndPort.fromParts("localhost", port),
diff --git a/test/src/main/java/org/apache/accumulo/test/proxy/TestProxyReadWrite.java b/test/src/main/java/org/apache/accumulo/test/proxy/TestProxyReadWrite.java
index 3867ba4653..685c4351c3 100644
--- a/test/src/main/java/org/apache/accumulo/test/proxy/TestProxyReadWrite.java
+++ b/test/src/main/java/org/apache/accumulo/test/proxy/TestProxyReadWrite.java
@@ -60,7 +60,6 @@
   @BeforeClass
   public static void setup() throws Exception {
     Properties prop = new Properties();
-    prop.setProperty("useMockInstance", "true");
     prop.put("tokenClass", PasswordToken.class.getName());
 
     proxy = Proxy.createProxyServer(HostAndPort.fromParts("localhost", port),
diff --git a/test/src/main/java/org/apache/accumulo/test/proxy/TestProxySecurityOperations.java b/test/src/main/java/org/apache/accumulo/test/proxy/TestProxySecurityOperations.java
index 35b0ad5596..d1f905f1b8 100644
--- a/test/src/main/java/org/apache/accumulo/test/proxy/TestProxySecurityOperations.java
+++ b/test/src/main/java/org/apache/accumulo/test/proxy/TestProxySecurityOperations.java
@@ -58,7 +58,6 @@
   @BeforeClass
   public static void setup() throws Exception {
     Properties prop = new Properties();
-    prop.setProperty("useMockInstance", "true");
     prop.put("tokenClass", PasswordToken.class.getName());
 
     proxy = Proxy.createProxyServer(HostAndPort.fromParts("localhost", port),
diff --git a/test/src/main/java/org/apache/accumulo/test/proxy/TestProxyTableOperations.java b/test/src/main/java/org/apache/accumulo/test/proxy/TestProxyTableOperations.java
index fbd07c7f50..b8e14e27fa 100644
--- a/test/src/main/java/org/apache/accumulo/test/proxy/TestProxyTableOperations.java
+++ b/test/src/main/java/org/apache/accumulo/test/proxy/TestProxyTableOperations.java
@@ -55,7 +55,6 @@
   @BeforeClass
   public static void setup() throws Exception {
     Properties prop = new Properties();
-    prop.setProperty("useMockInstance", "true");
     prop.put("tokenClass", PasswordToken.class.getName());
 
     proxy = Proxy.createProxyServer(HostAndPort.fromParts("localhost", port),
diff --git a/shell/src/test/resources/shelltest.txt b/test/src/main/resources/shellit.txt
similarity index 100%
rename from shell/src/test/resources/shelltest.txt
rename to test/src/main/resources/shellit.txt
diff --git a/test/src/test/java/org/apache/accumulo/test/security/KerberosTokenEmbeddedKDCTest.java b/test/src/test/java/org/apache/accumulo/test/security/KerberosTokenEmbeddedKDCTest.java
index ae101d02e2..dbda155f37 100644
--- a/test/src/test/java/org/apache/accumulo/test/security/KerberosTokenEmbeddedKDCTest.java
+++ b/test/src/test/java/org/apache/accumulo/test/security/KerberosTokenEmbeddedKDCTest.java
@@ -43,7 +43,7 @@
   @Rule
   public TestName testName = new TestName();
 
-  private static TestingKdc kdc;
+  private volatile static TestingKdc kdc;
 
   @BeforeClass
   public static void startKdc() throws Exception {


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services