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/02/21 22:03:52 UTC

[GitHub] milleruntime closed pull request #388: ACCUMULO-4820 Cleanup code for 2.0

milleruntime closed pull request #388: ACCUMULO-4820 Cleanup code for 2.0
URL: https://github.com/apache/accumulo/pull/388
 
 
   

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/core/src/main/java/org/apache/accumulo/core/client/IteratorSetting.java b/core/src/main/java/org/apache/accumulo/core/client/IteratorSetting.java
index a6d9a0994d..ec2bcdafce 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/IteratorSetting.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/IteratorSetting.java
@@ -121,7 +121,7 @@ public void setIteratorClass(String iteratorClass) {
    *          the fully qualified class name for the iterator
    */
   public IteratorSetting(int priority, String name, String iteratorClass) {
-    this(priority, name, iteratorClass, new HashMap<String,String>());
+    this(priority, name, iteratorClass, new HashMap<>());
   }
 
   /**
diff --git a/core/src/main/java/org/apache/accumulo/core/client/MutationsRejectedException.java b/core/src/main/java/org/apache/accumulo/core/client/MutationsRejectedException.java
index 3d26e2d841..3bfc284af2 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/MutationsRejectedException.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/MutationsRejectedException.java
@@ -73,7 +73,7 @@ private static String format(Map<TabletId,Set<SecurityErrorCode>> hashMap, Insta
       String tableInfo = Tables.getPrintableTableInfoFromId(instance, Table.ID.of(tabletId.getTableId().toString()));
 
       if (!result.containsKey(tableInfo)) {
-        result.put(tableInfo, new HashSet<SecurityErrorCode>());
+        result.put(tableInfo, new HashSet<>());
       }
 
       result.get(tableInfo).addAll(hashMap.get(tabletId));
diff --git a/core/src/main/java/org/apache/accumulo/core/client/impl/ConditionalWriterImpl.java b/core/src/main/java/org/apache/accumulo/core/client/impl/ConditionalWriterImpl.java
index 22d8a1b449..638f7ba34e 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/impl/ConditionalWriterImpl.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/impl/ConditionalWriterImpl.java
@@ -96,7 +96,7 @@
 
 class ConditionalWriterImpl implements ConditionalWriter {
 
-  private static ThreadPoolExecutor cleanupThreadPool = new ThreadPoolExecutor(1, 1, 3, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>(), r -> {
+  private static ThreadPoolExecutor cleanupThreadPool = new ThreadPoolExecutor(1, 1, 3, TimeUnit.SECONDS, new LinkedBlockingQueue<>(), r -> {
     Thread t = new Thread(r, "Conditional Writer Cleanup Thread");
     t.setDaemon(true);
     return t;
@@ -834,9 +834,7 @@ private boolean isVisible(ByteSequence cv) {
       Boolean bb = ve.evaluate(new ColumnVisibility(testVis));
       cache.put(new Text(testVis), bb);
       return bb;
-    } catch (VisibilityParseException e) {
-      return false;
-    } catch (BadArgumentException e) {
+    } catch (VisibilityParseException | BadArgumentException e) {
       return false;
     }
   }
diff --git a/core/src/main/java/org/apache/accumulo/core/client/impl/InstanceOperationsImpl.java b/core/src/main/java/org/apache/accumulo/core/client/impl/InstanceOperationsImpl.java
index 7a93371b62..7eade0d808 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/impl/InstanceOperationsImpl.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/impl/InstanceOperationsImpl.java
@@ -193,10 +193,6 @@ public void ping(String tserver) throws AccumuloException {
       transport = ThriftUtil.createTransport(AddressUtil.parseAddress(tserver, false), context);
       TabletClientService.Client client = ThriftUtil.createClient(new TabletClientService.Client.Factory(), transport);
       client.getTabletServerStatus(Tracer.traceInfo(), context.rpcCreds());
-    } catch (TTransportException e) {
-      throw new AccumuloException(e);
-    } catch (ThriftSecurityException e) {
-      throw new AccumuloException(e);
     } catch (TException e) {
       throw new AccumuloException(e);
     } finally {
diff --git a/core/src/main/java/org/apache/accumulo/core/client/impl/NamespaceOperationsImpl.java b/core/src/main/java/org/apache/accumulo/core/client/impl/NamespaceOperationsImpl.java
index bf21a17c1a..9cfb1a4e3a 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/impl/NamespaceOperationsImpl.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/impl/NamespaceOperationsImpl.java
@@ -268,10 +268,7 @@ private String doNamespaceFateOperation(FateOperation op, List<ByteBuffer> args,
       AccumuloException, NamespaceExistsException, NamespaceNotFoundException {
     try {
       return tableOps.doFateOperation(op, args, opts, namespace);
-    } catch (TableExistsException e) {
-      // should not happen
-      throw new AssertionError(e);
-    } catch (TableNotFoundException e) {
+    } catch (TableExistsException | TableNotFoundException e) {
       // should not happen
       throw new AssertionError(e);
     }
diff --git a/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerIterator.java b/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerIterator.java
index c24e50b990..ec0c48cf71 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerIterator.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerIterator.java
@@ -66,7 +66,7 @@
 
   private static final List<KeyValue> EMPTY_LIST = Collections.emptyList();
 
-  private static ThreadPoolExecutor readaheadPool = new ThreadPoolExecutor(0, Integer.MAX_VALUE, 3l, TimeUnit.SECONDS, new SynchronousQueue<Runnable>(),
+  private static ThreadPoolExecutor readaheadPool = new ThreadPoolExecutor(0, Integer.MAX_VALUE, 3l, TimeUnit.SECONDS, new SynchronousQueue<>(),
       new NamingThreadFactory("Accumulo scanner read ahead thread"));
 
   private class Reader implements Runnable {
diff --git a/core/src/main/java/org/apache/accumulo/core/client/impl/TableOperationsImpl.java b/core/src/main/java/org/apache/accumulo/core/client/impl/TableOperationsImpl.java
index 63996b906a..e4b34b58e8 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/impl/TableOperationsImpl.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/impl/TableOperationsImpl.java
@@ -756,7 +756,7 @@ public void flush(String tableName, Text start, Text end, boolean wait) throws A
   @Override
   public void compact(String tableName, Text start, Text end, boolean flush, boolean wait) throws AccumuloSecurityException, TableNotFoundException,
       AccumuloException {
-    compact(tableName, start, end, new ArrayList<IteratorSetting>(), flush, wait);
+    compact(tableName, start, end, new ArrayList<>(), flush, wait);
   }
 
   @Override
@@ -802,10 +802,7 @@ public void compact(String tableName, CompactionConfig config) throws AccumuloSe
     Map<String,String> opts = new HashMap<>();
     try {
       doFateOperation(FateOperation.TABLE_COMPACT, args, opts, tableName, config.getWait());
-    } catch (TableExistsException e) {
-      // should not happen
-      throw new AssertionError(e);
-    } catch (NamespaceExistsException e) {
+    } catch (TableExistsException | NamespaceExistsException e) {
       // should not happen
       throw new AssertionError(e);
     } catch (NamespaceNotFoundException e) {
@@ -1385,27 +1382,21 @@ public Text getMaxRow(String tableName, Authorizations auths, Text startRow, boo
   public static Map<String,String> getExportedProps(FileSystem fs, Path path) throws IOException {
     HashMap<String,String> props = new HashMap<>();
 
-    ZipInputStream zis = new ZipInputStream(fs.open(path));
-    try {
+    try (ZipInputStream zis = new ZipInputStream(fs.open(path))) {
       ZipEntry zipEntry;
       while ((zipEntry = zis.getNextEntry()) != null) {
         if (zipEntry.getName().equals(Constants.EXPORT_TABLE_CONFIG_FILE)) {
-          BufferedReader in = new BufferedReader(new InputStreamReader(zis, UTF_8));
-          try {
+          try (BufferedReader in = new BufferedReader(new InputStreamReader(zis, UTF_8))) {
             String line;
             while ((line = in.readLine()) != null) {
               String sa[] = line.split("=", 2);
               props.put(sa[0], sa[1]);
             }
-          } finally {
-            in.close();
           }
 
           break;
         }
       }
-    } finally {
-      zis.close();
     }
     return props;
   }
diff --git a/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java b/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java
index ea0fe4f5dd..a09576b254 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java
@@ -393,10 +393,7 @@ public void run() {
             // there were some failures
             try {
               processFailures(failures, receiver, columns);
-            } catch (TableNotFoundException e) {
-              log.debug("{}", e.getMessage(), e);
-              fatalException = e;
-            } catch (AccumuloException e) {
+            } catch (TableNotFoundException | AccumuloException e) {
               log.debug("{}", e.getMessage(), e);
               fatalException = e;
             } catch (AccumuloSecurityException e) {
diff --git a/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchWriter.java b/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchWriter.java
index ba5a6fd01f..fa21db7bbd 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchWriter.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchWriter.java
@@ -62,7 +62,6 @@
 import org.apache.accumulo.core.master.state.tables.TableState;
 import org.apache.accumulo.core.rpc.ThriftUtil;
 import org.apache.accumulo.core.tabletserver.thrift.ConstraintViolationException;
-import org.apache.accumulo.core.tabletserver.thrift.NoSuchScanIDException;
 import org.apache.accumulo.core.tabletserver.thrift.NotServingTabletException;
 import org.apache.accumulo.core.tabletserver.thrift.TabletClientService;
 import org.apache.accumulo.core.trace.Span;
@@ -667,7 +666,7 @@ public MutationWriter(int numSendThreads) {
       queued = new HashSet<>();
       sendThreadPool = new SimpleThreadPool(numSendThreads, this.getClass().getName());
       locators = new HashMap<>();
-      binningThreadPool = new SimpleThreadPool(1, "BinMutations", new SynchronousQueue<Runnable>());
+      binningThreadPool = new SimpleThreadPool(1, "BinMutations", new SynchronousQueue<>());
       binningThreadPool.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
     }
 
@@ -714,11 +713,7 @@ else if (Tables.getTableState(context.getInstance(), tableId) == TableState.OFFL
         failedMutations.add(mutationsToProcess);
       } catch (AccumuloSecurityException e) {
         updateAuthorizationFailures(Collections.singletonMap(new KeyExtent(tableId, null, null), SecurityErrorCode.valueOf(e.getSecurityErrorCode().name())));
-      } catch (TableDeletedException e) {
-        updateUnknownErrors(e.getMessage(), e);
-      } catch (TableOfflineException e) {
-        updateUnknownErrors(e.getMessage(), e);
-      } catch (TableNotFoundException e) {
+      } catch (TableDeletedException | TableNotFoundException | TableOfflineException e) {
         updateUnknownErrors(e.getMessage(), e);
       }
 
@@ -1001,8 +996,6 @@ private MutationSet sendMutationsToTabletServer(String location, Map<KeyExtent,L
       } catch (ThriftSecurityException e) {
         updateAuthorizationFailures(tabMuts.keySet(), e.code);
         throw new AccumuloSecurityException(e.user, e.code, e);
-      } catch (NoSuchScanIDException e) {
-        throw new IOException(e);
       } catch (TException e) {
         throw new IOException(e);
       }
diff --git a/core/src/main/java/org/apache/accumulo/core/client/impl/ThriftScanner.java b/core/src/main/java/org/apache/accumulo/core/client/impl/ThriftScanner.java
index d6637e4dc1..b495334d7f 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/impl/ThriftScanner.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/impl/ThriftScanner.java
@@ -79,7 +79,7 @@
 
   static {
     for (TabletType ttype : TabletType.values()) {
-      serversWaitedForWrites.put(ttype, Collections.synchronizedSet(new HashSet<String>()));
+      serversWaitedForWrites.put(ttype, Collections.synchronizedSet(new HashSet<>()));
     }
   }
 
diff --git a/core/src/main/java/org/apache/accumulo/core/client/impl/ZookeeperLockChecker.java b/core/src/main/java/org/apache/accumulo/core/client/impl/ZookeeperLockChecker.java
index a9c33b5ab1..b90478e5b4 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/impl/ZookeeperLockChecker.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/impl/ZookeeperLockChecker.java
@@ -46,9 +46,7 @@
   public boolean isLockHeld(String tserver, String session) {
     try {
       return ZooLock.getSessionId(zc, root + "/" + tserver) == Long.parseLong(session, 16);
-    } catch (KeeperException e) {
-      throw new RuntimeException(e);
-    } catch (InterruptedException e) {
+    } catch (KeeperException | InterruptedException e) {
       throw new RuntimeException(e);
     }
   }
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloOutputFormat.java b/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloOutputFormat.java
index 426a4d6329..62d32a62f1 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloOutputFormat.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloOutputFormat.java
@@ -519,9 +519,7 @@ public void addTable(Text tableName) throws AccumuloException, AccumuloSecurityE
       } catch (TableNotFoundException e) {
         log.error("Accumulo table " + table + " doesn't exist and cannot be created.", e);
         throw new AccumuloException(e);
-      } catch (AccumuloException e) {
-        throw e;
-      } catch (AccumuloSecurityException e) {
+      } catch (AccumuloException | AccumuloSecurityException e) {
         throw e;
       }
 
@@ -595,9 +593,7 @@ public void checkOutputSpecs(FileSystem ignored, JobConf job) throws IOException
       Connector c = getInstance(job).getConnector(principal, token);
       if (!c.securityOperations().authenticateUser(principal, token))
         throw new IOException("Unable to authenticate user");
-    } catch (AccumuloException e) {
-      throw new IOException(e);
-    } catch (AccumuloSecurityException e) {
+    } catch (AccumuloException | AccumuloSecurityException e) {
       throw new IOException(e);
     }
   }
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java
index af69e5a2db..21b7714e17 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java
@@ -519,9 +519,7 @@ public void addTable(Text tableName) throws AccumuloException, AccumuloSecurityE
       } catch (TableNotFoundException e) {
         log.error("Accumulo table " + table + " doesn't exist and cannot be created.", e);
         throw new AccumuloException(e);
-      } catch (AccumuloException e) {
-        throw e;
-      } catch (AccumuloSecurityException e) {
+      } catch (AccumuloException | AccumuloSecurityException e) {
         throw e;
       }
 
@@ -595,9 +593,7 @@ public void checkOutputSpecs(JobContext job) throws IOException {
       Connector c = getInstance(job).getConnector(principal, token);
       if (!c.securityOperations().authenticateUser(principal, token))
         throw new IOException("Unable to authenticate user");
-    } catch (AccumuloException e) {
-      throw new IOException(e);
-    } catch (AccumuloSecurityException e) {
+    } catch (AccumuloException | AccumuloSecurityException e) {
       throw new IOException(e);
     }
   }
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputTableConfig.java b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputTableConfig.java
index b892ac1a90..c8ec22f9b2 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputTableConfig.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputTableConfig.java
@@ -326,7 +326,7 @@ public void readFields(DataInput dataInput) throws IOException {
       Text colFam = new Text();
       colFam.readFields(dataInput);
       if (numPairs == 1) {
-        columns.add(new Pair<Text,Text>(colFam, null));
+        columns.add(new Pair<>(colFam, null));
       } else if (numPairs == 2) {
         Text colQual = new Text();
         colQual.readFields(dataInput);
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/InputConfigurator.java b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/InputConfigurator.java
index a8227fe04f..2212c9daf8 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/InputConfigurator.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/InputConfigurator.java
@@ -736,11 +736,7 @@ public static void validatePermissions(Class<?> implementingClass, Configuration
           }
         }
       }
-    } catch (AccumuloException e) {
-      throw new IOException(e);
-    } catch (AccumuloSecurityException e) {
-      throw new IOException(e);
-    } catch (TableNotFoundException e) {
+    } catch (AccumuloException | TableNotFoundException | AccumuloSecurityException e) {
       throw new IOException(e);
     }
   }
@@ -799,11 +795,7 @@ public static void validateOptions(Class<?> implementingClass, Configuration con
           }
         }
       }
-    } catch (AccumuloException e) {
-      throw new IOException(e);
-    } catch (AccumuloSecurityException e) {
-      throw new IOException(e);
-    } catch (TableNotFoundException e) {
+    } catch (AccumuloException | TableNotFoundException | AccumuloSecurityException e) {
       throw new IOException(e);
     }
   }
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/partition/RangePartitioner.java b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/partition/RangePartitioner.java
index c6fab6f7f7..f9d1bc1621 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/partition/RangePartitioner.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/partition/RangePartitioner.java
@@ -90,12 +90,9 @@ private synchronized int getNumSubBins() {
         for (Path path : cf) {
           if (path.toUri().getPath().endsWith(cutFileName.substring(cutFileName.lastIndexOf('/')))) {
             TreeSet<Text> cutPoints = new TreeSet<>();
-            Scanner in = new Scanner(new BufferedReader(new InputStreamReader(new FileInputStream(path.toString()), UTF_8)));
-            try {
+            try (Scanner in = new Scanner(new BufferedReader(new InputStreamReader(new FileInputStream(path.toString()), UTF_8)))) {
               while (in.hasNextLine())
                 cutPoints.add(new Text(Base64.getDecoder().decode(in.nextLine())));
-            } finally {
-              in.close();
             }
             cutPointArray = cutPoints.toArray(new Text[cutPoints.size()]);
             break;
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
index bacd844fb6..b55b3274e5 100644
--- 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
@@ -58,8 +58,7 @@ public MockBatchDeleter(MockAccumulo acc, String tableName, Authorizations auths
   @Override
   public void delete() throws MutationsRejectedException, TableNotFoundException {
 
-    BatchWriter writer = new MockBatchWriter(acc, tableName);
-    try {
+    try (BatchWriter writer = new MockBatchWriter(acc, tableName)) {
       Iterator<Entry<Key,Value>> iter = super.iterator();
       while (iter.hasNext()) {
         Entry<Key,Value> next = iter.next();
@@ -68,8 +67,6 @@ public void delete() throws MutationsRejectedException, TableNotFoundException {
         m.putDelete(k.getColumnFamily(), k.getColumnQualifier(), new ColumnVisibility(k.getColumnVisibility()), k.getTimestamp());
         writer.addMutation(m);
       }
-    } finally {
-      writer.close();
     }
   }
 
diff --git a/core/src/main/java/org/apache/accumulo/core/conf/ConfigurationCopy.java b/core/src/main/java/org/apache/accumulo/core/conf/ConfigurationCopy.java
index 0f617bba61..cf1c9fea18 100644
--- a/core/src/main/java/org/apache/accumulo/core/conf/ConfigurationCopy.java
+++ b/core/src/main/java/org/apache/accumulo/core/conf/ConfigurationCopy.java
@@ -55,7 +55,7 @@ public ConfigurationCopy(Iterable<Entry<String,String>> config) {
    * Creates a new empty configuration.
    */
   public ConfigurationCopy() {
-    this(new HashMap<String,String>());
+    this(new HashMap<>());
   }
 
   @Override
diff --git a/core/src/main/java/org/apache/accumulo/core/conf/CredentialProviderFactoryShim.java b/core/src/main/java/org/apache/accumulo/core/conf/CredentialProviderFactoryShim.java
index eb1920d105..39292107f6 100644
--- a/core/src/main/java/org/apache/accumulo/core/conf/CredentialProviderFactoryShim.java
+++ b/core/src/main/java/org/apache/accumulo/core/conf/CredentialProviderFactoryShim.java
@@ -98,10 +98,7 @@ public static synchronized boolean isHadoopCredentialProviderAvailable() {
     // Load Hadoop CredentialProviderFactory.getProviders(Configuration)
     try {
       getProvidersMethod = hadoopCredProviderFactoryClz.getMethod(HADOOP_CRED_PROVIDER_FACTORY_GET_PROVIDERS_METHOD_NAME, Configuration.class);
-    } catch (SecurityException e) {
-      log.trace("Could not find {} method on {}", HADOOP_CRED_PROVIDER_FACTORY_GET_PROVIDERS_METHOD_NAME, HADOOP_CRED_PROVIDER_FACTORY_CLASS_NAME, e);
-      return false;
-    } catch (NoSuchMethodException e) {
+    } catch (SecurityException | NoSuchMethodException e) {
       log.trace("Could not find {} method on {}", HADOOP_CRED_PROVIDER_FACTORY_GET_PROVIDERS_METHOD_NAME, HADOOP_CRED_PROVIDER_FACTORY_CLASS_NAME, e);
       return false;
     }
@@ -109,10 +106,7 @@ public static synchronized boolean isHadoopCredentialProviderAvailable() {
     // Instantiate Hadoop CredentialProviderFactory
     try {
       hadoopCredProviderFactory = hadoopCredProviderFactoryClz.newInstance();
-    } catch (InstantiationException e) {
-      log.trace("Could not instantiate class {}", HADOOP_CRED_PROVIDER_FACTORY_CLASS_NAME, e);
-      return false;
-    } catch (IllegalAccessException e) {
+    } catch (InstantiationException | IllegalAccessException e) {
       log.trace("Could not instantiate class {}", HADOOP_CRED_PROVIDER_FACTORY_CLASS_NAME, e);
       return false;
     }
@@ -129,10 +123,7 @@ public static synchronized boolean isHadoopCredentialProviderAvailable() {
     // Load Hadoop CredentialProvider.getCredentialEntry(String)
     try {
       getCredentialEntryMethod = hadoopCredProviderClz.getMethod(HADOOP_CRED_PROVIDER_GET_CREDENTIAL_ENTRY_METHOD_NAME, String.class);
-    } catch (SecurityException e) {
-      log.trace("Could not find {} method on {}", HADOOP_CRED_PROVIDER_GET_CREDENTIAL_ENTRY_METHOD_NAME, HADOOP_CRED_PROVIDER_CLASS_NAME, e);
-      return false;
-    } catch (NoSuchMethodException e) {
+    } catch (SecurityException | NoSuchMethodException e) {
       log.trace("Could not find {} method on {}", HADOOP_CRED_PROVIDER_GET_CREDENTIAL_ENTRY_METHOD_NAME, HADOOP_CRED_PROVIDER_CLASS_NAME, e);
       return false;
     }
@@ -140,10 +131,7 @@ public static synchronized boolean isHadoopCredentialProviderAvailable() {
     // Load Hadoop CredentialProvider.getAliases()
     try {
       getAliasesMethod = hadoopCredProviderClz.getMethod(HADOOP_CRED_PROVIDER_GET_ALIASES_METHOD_NAME);
-    } catch (SecurityException e) {
-      log.trace("Could not find {} method on {}", HADOOP_CRED_PROVIDER_GET_ALIASES_METHOD_NAME, HADOOP_CRED_PROVIDER_CLASS_NAME, e);
-      return false;
-    } catch (NoSuchMethodException e) {
+    } catch (SecurityException | NoSuchMethodException e) {
       log.trace("Could not find {} method on {}", HADOOP_CRED_PROVIDER_GET_ALIASES_METHOD_NAME, HADOOP_CRED_PROVIDER_CLASS_NAME, e);
       return false;
     }
@@ -151,10 +139,7 @@ public static synchronized boolean isHadoopCredentialProviderAvailable() {
     // Load Hadoop CredentialProvider.createCredentialEntry(String, char[])
     try {
       createCredentialEntryMethod = hadoopCredProviderClz.getMethod(HADOOP_CRED_PROVIDER_CREATE_CREDENTIAL_ENTRY_METHOD_NAME, String.class, char[].class);
-    } catch (SecurityException e) {
-      log.trace("Could not find {} method on {}", HADOOP_CRED_PROVIDER_CREATE_CREDENTIAL_ENTRY_METHOD_NAME, HADOOP_CRED_PROVIDER_CLASS_NAME, e);
-      return false;
-    } catch (NoSuchMethodException e) {
+    } catch (SecurityException | NoSuchMethodException e) {
       log.trace("Could not find {} method on {}", HADOOP_CRED_PROVIDER_CREATE_CREDENTIAL_ENTRY_METHOD_NAME, HADOOP_CRED_PROVIDER_CLASS_NAME, e);
       return false;
     }
@@ -162,10 +147,7 @@ public static synchronized boolean isHadoopCredentialProviderAvailable() {
     // Load Hadoop CredentialProvider.flush()
     try {
       flushMethod = hadoopCredProviderClz.getMethod(HADOOP_CRED_PROVIDER_FLUSH_METHOD_NAME);
-    } catch (SecurityException e) {
-      log.trace("Could not find {} method on {}", HADOOP_CRED_PROVIDER_FLUSH_METHOD_NAME, HADOOP_CRED_PROVIDER_CLASS_NAME, e);
-      return false;
-    } catch (NoSuchMethodException e) {
+    } catch (SecurityException | NoSuchMethodException e) {
       log.trace("Could not find {} method on {}", HADOOP_CRED_PROVIDER_FLUSH_METHOD_NAME, HADOOP_CRED_PROVIDER_CLASS_NAME, e);
       return false;
     }
@@ -182,10 +164,7 @@ public static synchronized boolean isHadoopCredentialProviderAvailable() {
     // Load Hadoop CredentialEntry.getCredential()
     try {
       getCredentialMethod = hadoopCredentialEntryClz.getMethod(HADOOP_CRED_ENTRY_GET_CREDENTIAL_METHOD_NAME);
-    } catch (SecurityException e) {
-      log.trace("Could not find {} method on {}", HADOOP_CRED_ENTRY_GET_CREDENTIAL_METHOD_NAME, HADOOP_CRED_ENTRY_CLASS_NAME, e);
-      return false;
-    } catch (NoSuchMethodException e) {
+    } catch (SecurityException | NoSuchMethodException e) {
       log.trace("Could not find {} method on {}", HADOOP_CRED_ENTRY_GET_CREDENTIAL_METHOD_NAME, HADOOP_CRED_ENTRY_CLASS_NAME, e);
       return false;
     }
@@ -218,13 +197,7 @@ public static synchronized boolean isHadoopCredentialProviderAvailable() {
     Object providersObj = null;
     try {
       providersObj = getProvidersMethod.invoke(hadoopCredProviderFactory, conf);
-    } catch (IllegalArgumentException e) {
-      log.warn("Could not invoke {}.{}", HADOOP_CRED_PROVIDER_FACTORY_CLASS_NAME, HADOOP_CRED_PROVIDER_FACTORY_GET_PROVIDERS_METHOD_NAME, e);
-      return null;
-    } catch (IllegalAccessException e) {
-      log.warn("Could not invoke {}.{}", HADOOP_CRED_PROVIDER_FACTORY_CLASS_NAME, HADOOP_CRED_PROVIDER_FACTORY_GET_PROVIDERS_METHOD_NAME, e);
-      return null;
-    } catch (InvocationTargetException e) {
+    } catch (IllegalArgumentException | InvocationTargetException | IllegalAccessException e) {
       log.warn("Could not invoke {}.{}", HADOOP_CRED_PROVIDER_FACTORY_CLASS_NAME, HADOOP_CRED_PROVIDER_FACTORY_GET_PROVIDERS_METHOD_NAME, e);
       return null;
     }
@@ -264,13 +237,7 @@ public static synchronized boolean isHadoopCredentialProviderAvailable() {
         Object credential = getCredentialMethod.invoke(credEntryObj);
 
         return (char[]) credential;
-      } catch (IllegalArgumentException e) {
-        log.warn("Failed to get credential for {} from {}", alias, providerObj, e);
-        continue;
-      } catch (IllegalAccessException e) {
-        log.warn("Failed to get credential for {} from {}", alias, providerObj, e);
-        continue;
-      } catch (InvocationTargetException e) {
+      } catch (IllegalArgumentException | InvocationTargetException | IllegalAccessException e) {
         log.warn("Failed to get credential for {} from {}", alias, providerObj, e);
         continue;
       }
@@ -307,13 +274,7 @@ public static synchronized boolean isHadoopCredentialProviderAvailable() {
             }
           }
 
-        } catch (IllegalArgumentException e) {
-          log.warn("Failed to invoke {} on {}", HADOOP_CRED_PROVIDER_GET_ALIASES_METHOD_NAME, providerObj, e);
-          continue;
-        } catch (IllegalAccessException e) {
-          log.warn("Failed to invoke {} on {}", HADOOP_CRED_PROVIDER_GET_ALIASES_METHOD_NAME, providerObj, e);
-          continue;
-        } catch (InvocationTargetException e) {
+        } catch (IllegalArgumentException | InvocationTargetException | IllegalAccessException e) {
           log.warn("Failed to invoke {} on {}", HADOOP_CRED_PROVIDER_GET_ALIASES_METHOD_NAME, providerObj, e);
           continue;
         }
@@ -452,21 +413,14 @@ public static void createEntryInProvider(Object credentialProvider, String name,
     } catch (IllegalArgumentException e) {
       log.warn("Failed to invoke createCredentialEntry method on CredentialProvider", e);
       return;
-    } catch (IllegalAccessException e) {
-      log.warn("Failed to invoke createCredentialEntry method", e);
-      return;
-    } catch (InvocationTargetException e) {
+    } catch (IllegalAccessException | InvocationTargetException e) {
       log.warn("Failed to invoke createCredentialEntry method", e);
       return;
     }
 
     try {
       flushMethod.invoke(credentialProvider);
-    } catch (IllegalArgumentException e) {
-      log.warn("Failed to invoke flush method on CredentialProvider", e);
-    } catch (IllegalAccessException e) {
-      log.warn("Failed to invoke flush method on CredentialProvider", e);
-    } catch (InvocationTargetException e) {
+    } catch (IllegalArgumentException | InvocationTargetException | IllegalAccessException e) {
       log.warn("Failed to invoke flush method on CredentialProvider", e);
     }
   }
diff --git a/core/src/main/java/org/apache/accumulo/core/conf/Property.java b/core/src/main/java/org/apache/accumulo/core/conf/Property.java
index 036ef4fcee..482fe6cf21 100644
--- a/core/src/main/java/org/apache/accumulo/core/conf/Property.java
+++ b/core/src/main/java/org/apache/accumulo/core/conf/Property.java
@@ -809,9 +809,7 @@ public static boolean isSensitive(String key) {
       for (Annotation a : getClass().getField(name()).getAnnotations())
         if (annotationType.isInstance(a))
           return true;
-    } catch (SecurityException e) {
-      log.error("{}", e.getMessage(), e);
-    } catch (NoSuchFieldException e) {
+    } catch (SecurityException | NoSuchFieldException e) {
       log.error("{}", e.getMessage(), e);
     }
     return false;
diff --git a/core/src/main/java/org/apache/accumulo/core/constraints/VisibilityConstraint.java b/core/src/main/java/org/apache/accumulo/core/constraints/VisibilityConstraint.java
index 6a962c2421..04e01a33e2 100644
--- a/core/src/main/java/org/apache/accumulo/core/constraints/VisibilityConstraint.java
+++ b/core/src/main/java/org/apache/accumulo/core/constraints/VisibilityConstraint.java
@@ -76,9 +76,7 @@ public String getViolationDescription(short violationCode) {
           if (!ve.evaluate(new ColumnVisibility(cv)))
             return Collections.singletonList(Short.valueOf((short) 2));
 
-        } catch (BadArgumentException bae) {
-          return Collections.singletonList(Short.valueOf((short) 1));
-        } catch (VisibilityParseException e) {
+        } catch (BadArgumentException | VisibilityParseException bae) {
           return Collections.singletonList(Short.valueOf((short) 1));
         }
 
diff --git a/core/src/main/java/org/apache/accumulo/core/file/BloomFilterLayer.java b/core/src/main/java/org/apache/accumulo/core/file/BloomFilterLayer.java
index 01fb69912f..ed9cfd9f7f 100644
--- a/core/src/main/java/org/apache/accumulo/core/file/BloomFilterLayer.java
+++ b/core/src/main/java/org/apache/accumulo/core/file/BloomFilterLayer.java
@@ -492,7 +492,7 @@ public static void main(String[] args) throws IOException {
       String fi = String.format("%010d", row);
       // bmfr.seek(new Range(new Text("r"+fi)));
       org.apache.accumulo.core.data.Key k1 = new org.apache.accumulo.core.data.Key(new Text("r" + fi), new Text("cf1"));
-      bmfr.seek(new Range(k1, true, k1.followingKey(PartialKey.ROW_COLFAM), false), new ArrayList<ByteSequence>(), false);
+      bmfr.seek(new Range(k1, true, k1.followingKey(PartialKey.ROW_COLFAM), false), new ArrayList<>(), false);
       if (valsSet.contains(row)) {
         hits++;
         if (!bmfr.hasTop()) {
@@ -515,7 +515,7 @@ public static void main(String[] args) throws IOException {
       // bmfr.seek(new Range(new Text("r"+fi)));
 
       org.apache.accumulo.core.data.Key k1 = new org.apache.accumulo.core.data.Key(new Text("r" + fi), new Text("cf1"));
-      bmfr.seek(new Range(k1, true, k1.followingKey(PartialKey.ROW_COLFAM), false), new ArrayList<ByteSequence>(), false);
+      bmfr.seek(new Range(k1, true, k1.followingKey(PartialKey.ROW_COLFAM), false), new ArrayList<>(), false);
 
       if (!bmfr.hasTop()) {
         out.println("ERROR 2 " + row);
diff --git a/core/src/main/java/org/apache/accumulo/core/file/map/MapFileOperations.java b/core/src/main/java/org/apache/accumulo/core/file/map/MapFileOperations.java
index 10ca253434..5330eac053 100644
--- a/core/src/main/java/org/apache/accumulo/core/file/map/MapFileOperations.java
+++ b/core/src/main/java/org/apache/accumulo/core/file/map/MapFileOperations.java
@@ -140,7 +140,7 @@ protected FileSKVIterator openReader(OpenReaderOperation options) throws IOExcep
     FileSKVIterator iter = new RangeIterator(new MapFileIterator(options.getTableConfiguration(), options.getFileSystem(), options.getFilename(),
         options.getConfiguration()));
     if (options.isSeekToBeginning()) {
-      iter.seek(new Range(new Key(), null), new ArrayList<ByteSequence>(), false);
+      iter.seek(new Range(new Key(), null), new ArrayList<>(), false);
     }
     return iter;
   }
diff --git a/core/src/main/java/org/apache/accumulo/core/file/rfile/SplitLarge.java b/core/src/main/java/org/apache/accumulo/core/file/rfile/SplitLarge.java
index 4816990b4b..09e5ce5d37 100644
--- a/core/src/main/java/org/apache/accumulo/core/file/rfile/SplitLarge.java
+++ b/core/src/main/java/org/apache/accumulo/core/file/rfile/SplitLarge.java
@@ -23,7 +23,6 @@
 import org.apache.accumulo.core.conf.AccumuloConfiguration;
 import org.apache.accumulo.core.conf.DefaultConfiguration;
 import org.apache.accumulo.core.conf.Property;
-import org.apache.accumulo.core.data.ByteSequence;
 import org.apache.accumulo.core.data.Key;
 import org.apache.accumulo.core.data.Range;
 import org.apache.accumulo.core.data.Value;
@@ -74,7 +73,7 @@ public static void main(String[] args) throws Exception {
           small.startDefaultLocalityGroup();
           large.startDefaultLocalityGroup();
 
-          iter.seek(new Range(), new ArrayList<ByteSequence>(), false);
+          iter.seek(new Range(), new ArrayList<>(), false);
           while (iter.hasTop()) {
             Key key = iter.getTopKey();
             Value value = iter.getTopValue();
diff --git a/core/src/main/java/org/apache/accumulo/core/file/rfile/VisMetricsGatherer.java b/core/src/main/java/org/apache/accumulo/core/file/rfile/VisMetricsGatherer.java
index b64833565b..21cb731820 100644
--- a/core/src/main/java/org/apache/accumulo/core/file/rfile/VisMetricsGatherer.java
+++ b/core/src/main/java/org/apache/accumulo/core/file/rfile/VisMetricsGatherer.java
@@ -80,8 +80,8 @@ public void startLocalityGroup(Text oneCF) {
       }
     }
     localityGroups.add(name);
-    metric.put(name, AtomicLongMap.create(new HashMap<String,Long>()));
-    blocks.put(name, AtomicLongMap.create(new HashMap<String,Long>()));
+    metric.put(name, AtomicLongMap.create(new HashMap<>()));
+    blocks.put(name, AtomicLongMap.create(new HashMap<>()));
     numLG++;
     numEntries.add((long) 0);
     numBlocks.add(0);
diff --git a/core/src/main/java/org/apache/accumulo/core/file/rfile/bcfile/BCFile.java b/core/src/main/java/org/apache/accumulo/core/file/rfile/bcfile/BCFile.java
index e998a8791c..ea6bc59182 100644
--- a/core/src/main/java/org/apache/accumulo/core/file/rfile/bcfile/BCFile.java
+++ b/core/src/main/java/org/apache/accumulo/core/file/rfile/bcfile/BCFile.java
@@ -384,11 +384,8 @@ public void close() throws IOException {
           }
 
           // add metaBCFileIndex to metaIndex as the last meta block
-          BlockAppender appender = prepareMetaBlock(DataIndex.BLOCK_NAME, getDefaultCompressionAlgorithm());
-          try {
+          try (BlockAppender appender = prepareMetaBlock(DataIndex.BLOCK_NAME, getDefaultCompressionAlgorithm())) {
             dataIndex.write(appender);
-          } finally {
-            appender.close();
           }
 
           long offsetIndexMeta = out.position();
@@ -868,11 +865,8 @@ public long getStartPos() {
       }
 
       // read data:BCFile.index, the data block index
-      BlockReader blockR = getMetaBlock(DataIndex.BLOCK_NAME);
-      try {
+      try (BlockReader blockR = getMetaBlock(DataIndex.BLOCK_NAME)) {
         dataIndex = new DataIndex(blockR);
-      } finally {
-        blockR.close();
       }
     }
 
diff --git a/core/src/main/java/org/apache/accumulo/core/iterators/AggregatingIterator.java b/core/src/main/java/org/apache/accumulo/core/iterators/AggregatingIterator.java
index 979eaebc7c..de88e438fb 100644
--- a/core/src/main/java/org/apache/accumulo/core/iterators/AggregatingIterator.java
+++ b/core/src/main/java/org/apache/accumulo/core/iterators/AggregatingIterator.java
@@ -174,13 +174,7 @@ public void init(SortedKeyValueIterator<Key,Value> source, Map<String,String> op
       if (null != env)
         context = env.getConfig().get(Property.TABLE_CLASSPATH);
       this.aggregators = new ColumnToClassMapping<>(options, org.apache.accumulo.core.iterators.aggregation.Aggregator.class, context);
-    } catch (ClassNotFoundException e) {
-      log.error(e.toString());
-      throw new IllegalArgumentException(e);
-    } catch (InstantiationException e) {
-      log.error(e.toString());
-      throw new IllegalArgumentException(e);
-    } catch (IllegalAccessException e) {
+    } catch (ClassNotFoundException | IllegalAccessException | InstantiationException e) {
       log.error(e.toString());
       throw new IllegalArgumentException(e);
     }
diff --git a/core/src/main/java/org/apache/accumulo/core/iterators/IteratorUtil.java b/core/src/main/java/org/apache/accumulo/core/iterators/IteratorUtil.java
index 7ac67f8066..1019dc8099 100644
--- a/core/src/main/java/org/apache/accumulo/core/iterators/IteratorUtil.java
+++ b/core/src/main/java/org/apache/accumulo/core/iterators/IteratorUtil.java
@@ -282,13 +282,7 @@ private static void mergeOptions(Map<String,Map<String,String>> ssio, Map<String
         skvi.init(prev, options, env);
         prev = skvi;
       }
-    } catch (ClassNotFoundException e) {
-      log.error(e.toString());
-      throw new RuntimeException(e);
-    } catch (InstantiationException e) {
-      log.error(e.toString());
-      throw new RuntimeException(e);
-    } catch (IllegalAccessException e) {
+    } catch (ClassNotFoundException | IllegalAccessException | InstantiationException e) {
       log.error(e.toString());
       throw new RuntimeException(e);
     }
diff --git a/core/src/main/java/org/apache/accumulo/core/iterators/system/SourceSwitchingIterator.java b/core/src/main/java/org/apache/accumulo/core/iterators/system/SourceSwitchingIterator.java
index 3631cc8e87..d192218702 100644
--- a/core/src/main/java/org/apache/accumulo/core/iterators/system/SourceSwitchingIterator.java
+++ b/core/src/main/java/org/apache/accumulo/core/iterators/system/SourceSwitchingIterator.java
@@ -87,7 +87,7 @@ private SourceSwitchingIterator(DataSource source, boolean onlySwitchAfterRow, L
   }
 
   public SourceSwitchingIterator(DataSource source, boolean onlySwitchAfterRow) {
-    this(source, onlySwitchAfterRow, new ArrayList<SourceSwitchingIterator>());
+    this(source, onlySwitchAfterRow, new ArrayList<>());
   }
 
   public SourceSwitchingIterator(DataSource source) {
diff --git a/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java b/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java
index 81854a9845..2e2d7ff5c9 100644
--- a/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java
+++ b/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java
@@ -415,10 +415,7 @@ protected boolean canSee(Key key) {
           colVis = new ColumnVisibility(visibility.toArray());
         visible = ve.evaluate(colVis);
         visibleCache.put(visibility, visible);
-      } catch (VisibilityParseException e) {
-        log.error("Parse Error", e);
-        visible = Boolean.FALSE;
-      } catch (BadArgumentException e) {
+      } catch (VisibilityParseException | BadArgumentException e) {
         log.error("Parse Error", e);
         visible = Boolean.FALSE;
       }
diff --git a/core/src/main/java/org/apache/accumulo/core/security/crypto/CachingHDFSSecretKeyEncryptionStrategy.java b/core/src/main/java/org/apache/accumulo/core/security/crypto/CachingHDFSSecretKeyEncryptionStrategy.java
index b301988bee..46331285e1 100644
--- a/core/src/main/java/org/apache/accumulo/core/security/crypto/CachingHDFSSecretKeyEncryptionStrategy.java
+++ b/core/src/main/java/org/apache/accumulo/core/security/crypto/CachingHDFSSecretKeyEncryptionStrategy.java
@@ -84,10 +84,7 @@ private void doKeyEncryptionOperation(int encryptionMode, CryptoModuleParameters
       try {
         Key plaintextKey = cipher.unwrap(params.getEncryptedKey(), params.getKeyAlgorithmName(), Cipher.SECRET_KEY);
         params.setPlaintextKey(plaintextKey.getEncoded());
-      } catch (InvalidKeyException e) {
-        log.error("{}", e.getMessage(), e);
-        throw new RuntimeException(e);
-      } catch (NoSuchAlgorithmException e) {
+      } catch (InvalidKeyException | NoSuchAlgorithmException e) {
         log.error("{}", e.getMessage(), e);
         throw new RuntimeException(e);
       }
@@ -97,10 +94,7 @@ private void doKeyEncryptionOperation(int encryptionMode, CryptoModuleParameters
         byte[] encryptedSecretKey = cipher.wrap(plaintextKey);
         params.setEncryptedKey(encryptedSecretKey);
         params.setOpaqueKeyEncryptionKeyID(secretKeyCache.getPathToKeyName());
-      } catch (InvalidKeyException e) {
-        log.error("{}", e.getMessage(), e);
-        throw new RuntimeException(e);
-      } catch (IllegalBlockSizeException e) {
+      } catch (InvalidKeyException | IllegalBlockSizeException e) {
         log.error("{}", e.getMessage(), e);
         throw new RuntimeException(e);
       }
diff --git a/core/src/main/java/org/apache/accumulo/core/security/crypto/NonCachingSecretKeyEncryptionStrategy.java b/core/src/main/java/org/apache/accumulo/core/security/crypto/NonCachingSecretKeyEncryptionStrategy.java
index fa2ee709af..f49bac3490 100644
--- a/core/src/main/java/org/apache/accumulo/core/security/crypto/NonCachingSecretKeyEncryptionStrategy.java
+++ b/core/src/main/java/org/apache/accumulo/core/security/crypto/NonCachingSecretKeyEncryptionStrategy.java
@@ -94,10 +94,7 @@ private void doKeyEncryptionOperation(int encryptionMode, CryptoModuleParameters
           try {
             Key plaintextKey = cipher.unwrap(params.getEncryptedKey(), params.getKeyAlgorithmName(), Cipher.SECRET_KEY);
             params.setPlaintextKey(plaintextKey.getEncoded());
-          } catch (InvalidKeyException e) {
-            log.error("{}", e.getMessage(), e);
-            throw new RuntimeException(e);
-          } catch (NoSuchAlgorithmException e) {
+          } catch (InvalidKeyException | NoSuchAlgorithmException e) {
             log.error("{}", e.getMessage(), e);
             throw new RuntimeException(e);
           }
@@ -107,10 +104,7 @@ private void doKeyEncryptionOperation(int encryptionMode, CryptoModuleParameters
             byte[] encryptedSecretKey = cipher.wrap(plaintextKey);
             params.setEncryptedKey(encryptedSecretKey);
             params.setOpaqueKeyEncryptionKeyID(pathToKeyName);
-          } catch (InvalidKeyException e) {
-            log.error("{}", e.getMessage(), e);
-            throw new RuntimeException(e);
-          } catch (IllegalBlockSizeException e) {
+          } catch (InvalidKeyException | IllegalBlockSizeException e) {
             log.error("{}", e.getMessage(), e);
             throw new RuntimeException(e);
           }
diff --git a/core/src/main/java/org/apache/accumulo/core/util/LocalityGroupUtil.java b/core/src/main/java/org/apache/accumulo/core/util/LocalityGroupUtil.java
index 95844d4195..423defb224 100644
--- a/core/src/main/java/org/apache/accumulo/core/util/LocalityGroupUtil.java
+++ b/core/src/main/java/org/apache/accumulo/core/util/LocalityGroupUtil.java
@@ -83,7 +83,7 @@
     String[] groups = acuconf.get(Property.TABLE_LOCALITY_GROUPS).split(",");
     for (String group : groups) {
       if (group.length() > 0)
-        result.put(group, new HashSet<ByteSequence>());
+        result.put(group, new HashSet<>());
     }
     HashSet<ByteSequence> all = new HashSet<>();
     for (Entry<String,String> entry : acuconf) {
@@ -278,7 +278,7 @@ public void partition(List<Mutation> mutations, PreAllocatedArray<List<Mutation>
             int lgid = getLgid(mbs, cu);
 
             if (parts.get(lgid) == null) {
-              parts.set(lgid, new ArrayList<ColumnUpdate>());
+              parts.set(lgid, new ArrayList<>());
               lgcount++;
             }
 
diff --git a/core/src/main/java/org/apache/accumulo/core/util/SimpleThreadPool.java b/core/src/main/java/org/apache/accumulo/core/util/SimpleThreadPool.java
index 8991991265..471486794e 100644
--- a/core/src/main/java/org/apache/accumulo/core/util/SimpleThreadPool.java
+++ b/core/src/main/java/org/apache/accumulo/core/util/SimpleThreadPool.java
@@ -27,7 +27,7 @@
 public class SimpleThreadPool extends ThreadPoolExecutor {
 
   public SimpleThreadPool(int max, final String name) {
-    super(max, max, 4l, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>(), new NamingThreadFactory(name));
+    super(max, max, 4l, TimeUnit.SECONDS, new LinkedBlockingQueue<>(), new NamingThreadFactory(name));
     allowCoreThreadTimeOut(true);
   }
 
diff --git a/core/src/main/java/org/apache/accumulo/core/util/format/ShardedTableDistributionFormatter.java b/core/src/main/java/org/apache/accumulo/core/util/format/ShardedTableDistributionFormatter.java
index 336e9867c5..41472dfc15 100644
--- a/core/src/main/java/org/apache/accumulo/core/util/format/ShardedTableDistributionFormatter.java
+++ b/core/src/main/java/org/apache/accumulo/core/util/format/ShardedTableDistributionFormatter.java
@@ -51,7 +51,7 @@ protected void aggregateStats(Entry<Key,Value> entry) {
         day = "NULL    ";
       String server = entry.getValue().toString();
       if (countsByDay.get(day) == null)
-        countsByDay.put(day, new HashSet<String>());
+        countsByDay.put(day, new HashSet<>());
       countsByDay.get(day).add(server);
     }
   }
diff --git a/core/src/test/java/org/apache/accumulo/core/client/IteratorSettingTest.java b/core/src/test/java/org/apache/accumulo/core/client/IteratorSettingTest.java
index ddea0b352d..be36b6e771 100644
--- a/core/src/test/java/org/apache/accumulo/core/client/IteratorSettingTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/client/IteratorSettingTest.java
@@ -96,11 +96,11 @@ public final void testEqualsDifferentMembers() {
   @Test
   public void testEquivalentConstructor() {
     IteratorSetting setting1 = new IteratorSetting(100, Combiner.class);
-    IteratorSetting setting2 = new IteratorSetting(100, "Combiner", Combiner.class, new HashMap<String,String>());
+    IteratorSetting setting2 = new IteratorSetting(100, "Combiner", Combiner.class, new HashMap<>());
 
     assertEquals(setting1, setting2);
 
-    IteratorSetting notEqual1 = new IteratorSetting(100, "FooCombiner", Combiner.class, new HashMap<String,String>());
+    IteratorSetting notEqual1 = new IteratorSetting(100, "FooCombiner", Combiner.class, new HashMap<>());
 
     assertNotEquals(setting1, notEqual1);
 
diff --git a/core/src/test/java/org/apache/accumulo/core/client/impl/TableOperationsHelperTest.java b/core/src/test/java/org/apache/accumulo/core/client/impl/TableOperationsHelperTest.java
index 496cde36bf..ad92c4c634 100644
--- a/core/src/test/java/org/apache/accumulo/core/client/impl/TableOperationsHelperTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/client/impl/TableOperationsHelperTest.java
@@ -151,7 +151,7 @@ public void flush(String tableName, Text start, Text end, boolean wait) throws A
     @Override
     public void setProperty(String tableName, String property, String value) throws AccumuloException, AccumuloSecurityException {
       if (!settings.containsKey(tableName))
-        settings.put(tableName, new TreeMap<String,String>());
+        settings.put(tableName, new TreeMap<>());
       settings.get(tableName).put(property, value);
     }
 
diff --git a/core/src/test/java/org/apache/accumulo/core/client/impl/TabletLocatorImplTest.java b/core/src/test/java/org/apache/accumulo/core/client/impl/TabletLocatorImplTest.java
index 50cd05975f..d6c22549be 100644
--- a/core/src/test/java/org/apache/accumulo/core/client/impl/TabletLocatorImplTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/client/impl/TabletLocatorImplTest.java
@@ -1257,7 +1257,7 @@ public void testBug2() throws Exception {
 
     // create the ~ tablet so it exists
     Map<KeyExtent,SortedMap<Key,Value>> ts3 = new HashMap<>();
-    ts3.put(mte2, new TreeMap<Key,Value>());
+    ts3.put(mte2, new TreeMap<>());
     tservers.tservers.put("tserver3", ts3);
 
     assertNull(tab0TabletCache.locateTablet(context, new Text("row_0000000000"), false, false));
diff --git a/core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloInputFormatTest.java b/core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloInputFormatTest.java
index f2d2049f59..29179bde3b 100644
--- a/core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloInputFormatTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloInputFormatTest.java
@@ -176,7 +176,7 @@ public void testSetRegex() throws IOException {
   public void testEmptyColumnFamily() throws IOException {
     Job job = Job.getInstance();
     Set<Pair<Text,Text>> cols = new HashSet<>();
-    cols.add(new Pair<Text,Text>(new Text(""), null));
+    cols.add(new Pair<>(new Text(""), null));
     cols.add(new Pair<>(new Text("foo"), new Text("bar")));
     cols.add(new Pair<>(new Text(""), new Text("bar")));
     cols.add(new Pair<>(new Text(""), new Text("")));
diff --git a/core/src/test/java/org/apache/accumulo/core/client/mapreduce/InputTableConfigTest.java b/core/src/test/java/org/apache/accumulo/core/client/mapreduce/InputTableConfigTest.java
index f6f7b2f40a..372db9d030 100644
--- a/core/src/test/java/org/apache/accumulo/core/client/mapreduce/InputTableConfigTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/client/mapreduce/InputTableConfigTest.java
@@ -81,7 +81,7 @@ public void testSerialization_ranges() throws IOException {
   public void testSerialization_columns() throws IOException {
     Set<Pair<Text,Text>> columns = new HashSet<>();
     columns.add(new Pair<>(new Text("cf1"), new Text("cq1")));
-    columns.add(new Pair<Text,Text>(new Text("cf2"), null));
+    columns.add(new Pair<>(new Text("cf2"), null));
     tableQueryConfig.fetchColumns(columns);
 
     byte[] serialized = serialize(tableQueryConfig);
diff --git a/core/src/test/java/org/apache/accumulo/core/conf/CredentialProviderFactoryShimTest.java b/core/src/test/java/org/apache/accumulo/core/conf/CredentialProviderFactoryShimTest.java
index e540b72c31..d60c568d17 100644
--- a/core/src/test/java/org/apache/accumulo/core/conf/CredentialProviderFactoryShimTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/conf/CredentialProviderFactoryShimTest.java
@@ -109,7 +109,7 @@ public void testEmptyKeyStoreParses() throws IOException {
     Configuration conf = new Configuration();
     conf.set(CredentialProviderFactoryShim.CREDENTIAL_PROVIDER_PATH, absPath);
 
-    checkCredentialProviders(conf, new HashMap<String,String>());
+    checkCredentialProviders(conf, new HashMap<>());
   }
 
   @Test
diff --git a/core/src/test/java/org/apache/accumulo/core/file/BloomFilterLayerLookupTest.java b/core/src/test/java/org/apache/accumulo/core/file/BloomFilterLayerLookupTest.java
index 71643e999d..429c3ddcb1 100644
--- a/core/src/test/java/org/apache/accumulo/core/file/BloomFilterLayerLookupTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/file/BloomFilterLayerLookupTest.java
@@ -28,7 +28,6 @@
 import org.apache.accumulo.core.conf.ConfigurationCopy;
 import org.apache.accumulo.core.conf.DefaultConfiguration;
 import org.apache.accumulo.core.conf.Property;
-import org.apache.accumulo.core.data.ByteSequence;
 import org.apache.accumulo.core.data.Key;
 import org.apache.accumulo.core.data.PartialKey;
 import org.apache.accumulo.core.data.Range;
@@ -140,7 +139,7 @@ private void seek(FileSKVIterator bmfr, int row) throws IOException {
     String fi = String.format("%010d", row);
     // bmfr.seek(new Range(new Text("r"+fi)));
     Key k1 = new Key(new Text("r" + fi), new Text("cf1"));
-    bmfr.seek(new Range(k1, true, k1.followingKey(PartialKey.ROW_COLFAM), false), new ArrayList<ByteSequence>(), false);
+    bmfr.seek(new Range(k1, true, k1.followingKey(PartialKey.ROW_COLFAM), false), new ArrayList<>(), false);
   }
 
 }
diff --git a/core/src/test/java/org/apache/accumulo/core/file/rfile/MultiThreadedRFileTest.java b/core/src/test/java/org/apache/accumulo/core/file/rfile/MultiThreadedRFileTest.java
index 63e9c304b4..5ca906469d 100644
--- a/core/src/test/java/org/apache/accumulo/core/file/rfile/MultiThreadedRFileTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/file/rfile/MultiThreadedRFileTest.java
@@ -224,7 +224,7 @@ public void testMultipleReaders() throws IOException {
       // now start up multiple RFile deepcopies
       int maxThreads = 10;
       String name = "MultiThreadedRFileTestThread";
-      ThreadPoolExecutor pool = new ThreadPoolExecutor(maxThreads + 1, maxThreads + 1, 5 * 60, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>(),
+      ThreadPoolExecutor pool = new ThreadPoolExecutor(maxThreads + 1, maxThreads + 1, 5 * 60, TimeUnit.SECONDS, new LinkedBlockingQueue<>(),
           new NamingThreadFactory(name));
       pool.allowCoreThreadTimeOut(true);
       try {
diff --git a/core/src/test/java/org/apache/accumulo/core/iterators/SortedMapIteratorTest.java b/core/src/test/java/org/apache/accumulo/core/iterators/SortedMapIteratorTest.java
index d4080e1a68..0ec160f5fe 100644
--- a/core/src/test/java/org/apache/accumulo/core/iterators/SortedMapIteratorTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/iterators/SortedMapIteratorTest.java
@@ -22,15 +22,13 @@
 import org.apache.accumulo.core.client.impl.BaseIteratorEnvironment;
 import org.apache.accumulo.core.client.sample.RowSampler;
 import org.apache.accumulo.core.client.sample.SamplerConfiguration;
-import org.apache.accumulo.core.data.Key;
-import org.apache.accumulo.core.data.Value;
 import org.junit.Test;
 
 public class SortedMapIteratorTest {
 
   @Test(expected = SampleNotPresentException.class)
   public void testSampleNotPresent() {
-    SortedMapIterator smi = new SortedMapIterator(new TreeMap<Key,Value>());
+    SortedMapIterator smi = new SortedMapIterator(new TreeMap<>());
     smi.deepCopy(new BaseIteratorEnvironment() {
       @Override
       public boolean isSamplingEnabled() {
diff --git a/core/src/test/java/org/apache/accumulo/core/iterators/system/SourceSwitchingIteratorTest.java b/core/src/test/java/org/apache/accumulo/core/iterators/system/SourceSwitchingIteratorTest.java
index 261441ca6a..326b35fd29 100644
--- a/core/src/test/java/org/apache/accumulo/core/iterators/system/SourceSwitchingIteratorTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/iterators/system/SourceSwitchingIteratorTest.java
@@ -71,7 +71,7 @@ private void testAndCallNext(SortedKeyValueIterator<Key,Value> rdi, String row,
     AtomicBoolean iflag;
 
     TestDataSource(SortedKeyValueIterator<Key,Value> iter) {
-      this(iter, new ArrayList<TestDataSource>());
+      this(iter, new ArrayList<>());
     }
 
     public TestDataSource(SortedKeyValueIterator<Key,Value> iter, List<TestDataSource> copies) {
@@ -127,7 +127,7 @@ public void test1() throws Exception {
     TestDataSource tds = new TestDataSource(smi);
     SourceSwitchingIterator ssi = new SourceSwitchingIterator(tds);
 
-    ssi.seek(new Range(), new ArrayList<ByteSequence>(), false);
+    ssi.seek(new Range(), new ArrayList<>(), false);
     testAndCallNext(ssi, "r1", "cf1", "cq1", 5, "v1", true);
     testAndCallNext(ssi, "r1", "cf1", "cq3", 5, "v2", true);
     testAndCallNext(ssi, "r2", "cf1", "cq1", 5, "v3", true);
@@ -144,7 +144,7 @@ public void test2() throws Exception {
     TestDataSource tds = new TestDataSource(smi);
     SourceSwitchingIterator ssi = new SourceSwitchingIterator(tds);
 
-    ssi.seek(new Range(), new ArrayList<ByteSequence>(), false);
+    ssi.seek(new Range(), new ArrayList<>(), false);
     testAndCallNext(ssi, "r1", "cf1", "cq1", 5, "v1", true);
 
     TreeMap<Key,Value> tm2 = new TreeMap<>();
@@ -176,7 +176,7 @@ public void test3() throws Exception {
     TestDataSource tds = new TestDataSource(smi);
     SourceSwitchingIterator ssi = new SourceSwitchingIterator(tds, true);
 
-    ssi.seek(new Range(), new ArrayList<ByteSequence>(), false);
+    ssi.seek(new Range(), new ArrayList<>(), false);
     testAndCallNext(ssi, "r1", "cf1", "cq1", 5, "v1", true);
 
     TreeMap<Key,Value> tm2 = new TreeMap<>(tm1);
@@ -215,7 +215,7 @@ public void test4() throws Exception {
     TestDataSource tds2 = new TestDataSource(smi2);
     tds.next = tds2;
 
-    ssi.seek(new Range(), new ArrayList<ByteSequence>(), false);
+    ssi.seek(new Range(), new ArrayList<>(), false);
 
     testAndCallNext(ssi, "r1", "cf1", "cq1", 6, "v3", true);
     testAndCallNext(ssi, "r1", "cf1", "cq2", 6, "v4", true);
@@ -244,8 +244,8 @@ public void test5() throws Exception {
 
     ssi.switchNow();
 
-    ssi.seek(new Range("r1"), new ArrayList<ByteSequence>(), false);
-    dc1.seek(new Range("r2"), new ArrayList<ByteSequence>(), false);
+    ssi.seek(new Range("r1"), new ArrayList<>(), false);
+    dc1.seek(new Range("r2"), new ArrayList<>(), false);
 
     testAndCallNext(ssi, "r1", "cf1", "cq1", 6, "v3", true);
     assertFalse(ssi.hasTop());
@@ -267,14 +267,14 @@ public void testSetInterrupt() throws Exception {
 
     assertSame(flag, tds.iflag);
 
-    ssi.seek(new Range("r1"), new ArrayList<ByteSequence>(), false);
+    ssi.seek(new Range("r1"), new ArrayList<>(), false);
     testAndCallNext(ssi, "r1", "cf1", "cq1", 5, "v1", true);
     assertFalse(ssi.hasTop());
 
     flag.set(true);
 
     try {
-      ssi.seek(new Range("r1"), new ArrayList<ByteSequence>(), false);
+      ssi.seek(new Range("r1"), new ArrayList<>(), false);
       fail("expected to see IterationInterruptedException");
     } catch (IterationInterruptedException iie) {}
 
@@ -287,7 +287,7 @@ private Range yield(Range r, SourceSwitchingIterator ssi, YieldCallback<Key> yie
         throw new IOException("Underlying iterator yielded to a position outside of its range: " + yieldPosition + " not in " + r);
       }
       r = new Range(yieldPosition, false, (Key) null, r.isEndKeyInclusive());
-      ssi.seek(r, new ArrayList<ByteSequence>(), false);
+      ssi.seek(r, new ArrayList<>(), false);
     }
     return r;
   }
@@ -307,7 +307,7 @@ public void testYield() throws Exception {
     ssi.enableYielding(yield);
 
     Range r = new Range();
-    ssi.seek(r, new ArrayList<ByteSequence>(), false);
+    ssi.seek(r, new ArrayList<>(), false);
     r = yield(r, ssi, yield);
     testAndCallNext(ssi, "r1", "cf1", "cq1", 5, "v1", true);
     r = yield(r, ssi, yield);
diff --git a/core/src/test/java/org/apache/accumulo/core/iterators/system/TimeSettingIteratorTest.java b/core/src/test/java/org/apache/accumulo/core/iterators/system/TimeSettingIteratorTest.java
index 59c5a55c20..3776b32ffa 100644
--- a/core/src/test/java/org/apache/accumulo/core/iterators/system/TimeSettingIteratorTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/iterators/system/TimeSettingIteratorTest.java
@@ -25,7 +25,6 @@
 import java.util.TreeMap;
 
 import org.apache.accumulo.core.client.IteratorSetting;
-import org.apache.accumulo.core.data.ByteSequence;
 import org.apache.accumulo.core.data.Key;
 import org.apache.accumulo.core.data.Range;
 import org.apache.accumulo.core.data.Value;
@@ -47,7 +46,7 @@ public void test1() throws Exception {
 
     TimeSettingIterator tsi = new TimeSettingIterator(new SortedMapIterator(tm1), 50);
 
-    tsi.seek(new Range(new Key("r1", "cf1", "cq1", 50l), true, new Key("r1", "cf1", "cq1", 50l), true), new HashSet<ByteSequence>(), false);
+    tsi.seek(new Range(new Key("r1", "cf1", "cq1", 50l), true, new Key("r1", "cf1", "cq1", 50l), true), new HashSet<>(), false);
 
     assertTrue(tsi.hasTop());
     assertEquals(new Key("r1", "cf1", "cq1", 50l), tsi.getTopKey());
@@ -66,7 +65,7 @@ public void test1() throws Exception {
 
     assertFalse(tsi.hasTop());
 
-    tsi.seek(new Range(new Key("r1", "cf1", "cq1", 50l), false, null, true), new HashSet<ByteSequence>(), false);
+    tsi.seek(new Range(new Key("r1", "cf1", "cq1", 50l), false, null, true), new HashSet<>(), false);
 
     assertTrue(tsi.hasTop());
     assertEquals(new Key("r2", "cf1", "cq1", 50l), tsi.getTopKey());
@@ -75,7 +74,7 @@ public void test1() throws Exception {
 
     assertFalse(tsi.hasTop());
 
-    tsi.seek(new Range(null, true, new Key("r1", "cf1", "cq1", 50l), false), new HashSet<ByteSequence>(), false);
+    tsi.seek(new Range(null, true, new Key("r1", "cf1", "cq1", 50l), false), new HashSet<>(), false);
 
     assertTrue(tsi.hasTop());
     assertEquals(new Key("r0", "cf1", "cq1", 50l), tsi.getTopKey());
@@ -84,7 +83,7 @@ public void test1() throws Exception {
 
     assertFalse(tsi.hasTop());
 
-    tsi.seek(new Range(new Key("r1", "cf1", "cq1", 51l), true, new Key("r1", "cf1", "cq1", 50l), false), new HashSet<ByteSequence>(), false);
+    tsi.seek(new Range(new Key("r1", "cf1", "cq1", 51l), true, new Key("r1", "cf1", "cq1", 50l), false), new HashSet<>(), false);
     assertFalse(tsi.hasTop());
   }
 
@@ -97,7 +96,7 @@ public void testAvoidKeyCopy() throws Exception {
 
     TimeSettingIterator tsi = new TimeSettingIterator(new SortedMapIterator(tm1), 50);
 
-    tsi.seek(new Range(), new HashSet<ByteSequence>(), false);
+    tsi.seek(new Range(), new HashSet<>(), false);
 
     assertTrue(tsi.hasTop());
     final Key topKey = tsi.getTopKey();
@@ -128,7 +127,7 @@ public void testEndKeyRangeAtMinLongValue() throws IOException {
       Key startKey = new Key();
       Key endKey = new Key(row, colf, colq, cv, Long.MIN_VALUE);
       Range testRange = new Range(startKey, false, endKey, inclusiveEndRange);
-      it.seek(testRange, new HashSet<ByteSequence>(), false);
+      it.seek(testRange, new HashSet<>(), false);
 
       assertTrue(it.hasTop());
       assertTrue(it.getTopValue().equals(new Value("00".getBytes())));
diff --git a/core/src/test/java/org/apache/accumulo/core/iterators/system/VisibilityFilterTest.java b/core/src/test/java/org/apache/accumulo/core/iterators/system/VisibilityFilterTest.java
index 6e0972b110..a0401f07ef 100644
--- a/core/src/test/java/org/apache/accumulo/core/iterators/system/VisibilityFilterTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/iterators/system/VisibilityFilterTest.java
@@ -20,7 +20,6 @@
 import java.util.HashSet;
 import java.util.TreeMap;
 
-import org.apache.accumulo.core.data.ByteSequence;
 import org.apache.accumulo.core.data.Key;
 import org.apache.accumulo.core.data.Range;
 import org.apache.accumulo.core.data.Value;
@@ -44,7 +43,7 @@ public void testBadVisibility() throws IOException {
     Level prevLevel = Logger.getLogger(VisibilityFilter.class).getLevel();
     Logger.getLogger(VisibilityFilter.class).setLevel(Level.FATAL);
 
-    filter.seek(new Range(), new HashSet<ByteSequence>(), false);
+    filter.seek(new Range(), new HashSet<>(), false);
     assertFalse(filter.hasTop());
 
     Logger.getLogger(VisibilityFilter.class).setLevel(prevLevel);
@@ -58,7 +57,7 @@ public void testEmptyAuths() throws IOException {
     tm.put(new Key("r1", "cf1", "cq3", ""), new Value(new byte[0]));
     SortedKeyValueIterator<Key,Value> filter = VisibilityFilter.wrap(new SortedMapIterator(tm), Authorizations.EMPTY, "".getBytes());
 
-    filter.seek(new Range(), new HashSet<ByteSequence>(), false);
+    filter.seek(new Range(), new HashSet<>(), false);
     assertTrue(filter.hasTop());
     assertEquals(new Key("r1", "cf1", "cq1", ""), filter.getTopKey());
     filter.next();
diff --git a/core/src/test/java/org/apache/accumulo/core/iterators/user/RowDeletingIteratorTest.java b/core/src/test/java/org/apache/accumulo/core/iterators/user/RowDeletingIteratorTest.java
index 15c424b216..d9e9617f5c 100644
--- a/core/src/test/java/org/apache/accumulo/core/iterators/user/RowDeletingIteratorTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/iterators/user/RowDeletingIteratorTest.java
@@ -85,28 +85,28 @@ public void test1() throws Exception {
     RowDeletingIterator rdi = new RowDeletingIterator();
     rdi.init(new SortedMapIterator(tm1), null, new TestIE(IteratorScope.scan, false));
 
-    rdi.seek(new Range(), new ArrayList<ByteSequence>(), false);
+    rdi.seek(new Range(), new ArrayList<>(), false);
     testAssertions(rdi, "r2", "cf1", "cq1", 5, "v1");
 
     for (int i = 0; i < 5; i++) {
-      rdi.seek(new Range(newKey("r1", "cf1", "cq" + i, 5), null), new ArrayList<ByteSequence>(), false);
+      rdi.seek(new Range(newKey("r1", "cf1", "cq" + i, 5), null), new ArrayList<>(), false);
       testAssertions(rdi, "r2", "cf1", "cq1", 5, "v1");
     }
 
-    rdi.seek(new Range(newKey("r11", "cf1", "cq1", 5), null), new ArrayList<ByteSequence>(), false);
+    rdi.seek(new Range(newKey("r11", "cf1", "cq1", 5), null), new ArrayList<>(), false);
     testAssertions(rdi, "r2", "cf1", "cq1", 5, "v1");
 
     put(tm1, "r2", "", "", 10, RowDeletingIterator.DELETE_ROW_VALUE);
-    rdi.seek(new Range(), new ArrayList<ByteSequence>(), false);
+    rdi.seek(new Range(), new ArrayList<>(), false);
     assertFalse(rdi.hasTop());
 
     for (int i = 0; i < 5; i++) {
-      rdi.seek(new Range(newKey("r1", "cf1", "cq" + i, 5), null), new ArrayList<ByteSequence>(), false);
+      rdi.seek(new Range(newKey("r1", "cf1", "cq" + i, 5), null), new ArrayList<>(), false);
       assertFalse(rdi.hasTop());
     }
 
     put(tm1, "r0", "cf1", "cq1", 5, "v1");
-    rdi.seek(new Range(), new ArrayList<ByteSequence>(), false);
+    rdi.seek(new Range(), new ArrayList<>(), false);
     testAssertions(rdi, "r0", "cf1", "cq1", 5, "v1");
     rdi.next();
     assertFalse(rdi.hasTop());
@@ -126,31 +126,31 @@ public void test2() throws Exception {
     RowDeletingIterator rdi = new RowDeletingIterator();
     rdi.init(new SortedMapIterator(tm1), null, new TestIE(IteratorScope.scan, false));
 
-    rdi.seek(new Range(), new ArrayList<ByteSequence>(), false);
+    rdi.seek(new Range(), new ArrayList<>(), false);
     testAssertions(rdi, "r1", "cf1", "cq3", 15, "v1");
     rdi.next();
     testAssertions(rdi, "r1", "cf1", "cq5", 15, "v1");
     rdi.next();
     testAssertions(rdi, "r2", "cf1", "cq1", 5, "v1");
 
-    rdi.seek(new Range(newKey("r1", "cf1", "cq1", 5), null), new ArrayList<ByteSequence>(), false);
+    rdi.seek(new Range(newKey("r1", "cf1", "cq1", 5), null), new ArrayList<>(), false);
     testAssertions(rdi, "r1", "cf1", "cq3", 15, "v1");
     rdi.next();
     testAssertions(rdi, "r1", "cf1", "cq5", 15, "v1");
     rdi.next();
     testAssertions(rdi, "r2", "cf1", "cq1", 5, "v1");
 
-    rdi.seek(new Range(newKey("r1", "cf1", "cq4", 5), null), new ArrayList<ByteSequence>(), false);
+    rdi.seek(new Range(newKey("r1", "cf1", "cq4", 5), null), new ArrayList<>(), false);
     testAssertions(rdi, "r1", "cf1", "cq5", 15, "v1");
     rdi.next();
     testAssertions(rdi, "r2", "cf1", "cq1", 5, "v1");
 
-    rdi.seek(new Range(newKey("r1", "cf1", "cq5", 20), null), new ArrayList<ByteSequence>(), false);
+    rdi.seek(new Range(newKey("r1", "cf1", "cq5", 20), null), new ArrayList<>(), false);
     testAssertions(rdi, "r1", "cf1", "cq5", 15, "v1");
     rdi.next();
     testAssertions(rdi, "r2", "cf1", "cq1", 5, "v1");
 
-    rdi.seek(new Range(newKey("r1", "cf1", "cq9", 20), null), new ArrayList<ByteSequence>(), false);
+    rdi.seek(new Range(newKey("r1", "cf1", "cq9", 20), null), new ArrayList<>(), false);
     testAssertions(rdi, "r2", "cf1", "cq1", 5, "v1");
   }
 
@@ -196,19 +196,19 @@ public void test4() throws Exception {
     RowDeletingIterator rdi = new RowDeletingIterator();
     rdi.init(new SortedMapIterator(tm1), null, new TestIE(IteratorScope.minc, false));
 
-    rdi.seek(new Range(), new ArrayList<ByteSequence>(), false);
+    rdi.seek(new Range(), new ArrayList<>(), false);
     testAssertions(rdi, "r1", "", "", 10, RowDeletingIterator.DELETE_ROW_VALUE.toString());
     rdi.next();
     testAssertions(rdi, "r1", "cf1", "cq3", 15, "v1");
     rdi.next();
     testAssertions(rdi, "r2", "cf1", "cq1", 5, "v1");
 
-    rdi.seek(new Range(newKey("r1", "cf1", "cq3", 20), null), new ArrayList<ByteSequence>(), false);
+    rdi.seek(new Range(newKey("r1", "cf1", "cq3", 20), null), new ArrayList<>(), false);
     testAssertions(rdi, "r1", "cf1", "cq3", 15, "v1");
     rdi.next();
     testAssertions(rdi, "r2", "cf1", "cq1", 5, "v1");
 
-    rdi.seek(new Range(newKey("r1", "", "", 42), null), new ArrayList<ByteSequence>(), false);
+    rdi.seek(new Range(newKey("r1", "", "", 42), null), new ArrayList<>(), false);
     testAssertions(rdi, "r1", "", "", 10, RowDeletingIterator.DELETE_ROW_VALUE.toString());
     rdi.next();
     testAssertions(rdi, "r1", "cf1", "cq3", 15, "v1");
diff --git a/core/src/test/java/org/apache/accumulo/core/iterators/user/RowEncodingIteratorTest.java b/core/src/test/java/org/apache/accumulo/core/iterators/user/RowEncodingIteratorTest.java
index d5315171db..5d0aec6518 100644
--- a/core/src/test/java/org/apache/accumulo/core/iterators/user/RowEncodingIteratorTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/iterators/user/RowEncodingIteratorTest.java
@@ -33,7 +33,6 @@
 import java.util.TreeMap;
 
 import org.apache.accumulo.core.client.impl.BaseIteratorEnvironment;
-import org.apache.accumulo.core.data.ByteSequence;
 import org.apache.accumulo.core.data.Key;
 import org.apache.accumulo.core.data.Range;
 import org.apache.accumulo.core.data.Value;
@@ -137,7 +136,7 @@ public void testEncodeAll() throws IOException {
     Map<String,String> bigBufferOpts = new HashMap<>();
     bigBufferOpts.put(RowEncodingIterator.MAX_BUFFER_SIZE_OPT, "3K");
     iter.init(src, bigBufferOpts, new DummyIteratorEnv());
-    iter.seek(range, new ArrayList<ByteSequence>(), false);
+    iter.seek(range, new ArrayList<>(), false);
 
     assertTrue(iter.hasTop());
     assertEquals(map1, RowEncodingIteratorImpl.decodeRow(iter.getTopKey(), iter.getTopValue()));
@@ -145,7 +144,7 @@ public void testEncodeAll() throws IOException {
     // simulate something continuing using the last key from the iterator
     // this is what client and server code will do
     range = new Range(iter.getTopKey(), false, range.getEndKey(), range.isEndKeyInclusive());
-    iter.seek(range, new ArrayList<ByteSequence>(), false);
+    iter.seek(range, new ArrayList<>(), false);
 
     assertTrue(iter.hasTop());
     assertEquals(map2, RowEncodingIteratorImpl.decodeRow(iter.getTopKey(), iter.getTopValue()));
@@ -171,7 +170,7 @@ public void testEncodeSome() throws IOException {
     Map<String,String> bigBufferOpts = new HashMap<>();
     bigBufferOpts.put(RowEncodingIterator.MAX_BUFFER_SIZE_OPT, "1K");
     iter.init(src, bigBufferOpts, new DummyIteratorEnv());
-    iter.seek(range, new ArrayList<ByteSequence>(), false);
+    iter.seek(range, new ArrayList<>(), false);
     // BufferOverflowException should be thrown as RowEncodingIterator can't fit the whole row into its buffer.
   }
 }
diff --git a/core/src/test/java/org/apache/accumulo/core/iterators/user/RowFilterTest.java b/core/src/test/java/org/apache/accumulo/core/iterators/user/RowFilterTest.java
index 4294eb390b..59a6a9b30d 100644
--- a/core/src/test/java/org/apache/accumulo/core/iterators/user/RowFilterTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/iterators/user/RowFilterTest.java
@@ -65,13 +65,13 @@ public boolean acceptRow(SortedKeyValueIterator<Key,Value> rowIterator) throws I
       }
 
       // ensure that seeks are confined to the row
-      rowIterator.seek(new Range(null, false, firstKey == null ? null : firstKey.getRow(), false), new HashSet<ByteSequence>(), false);
+      rowIterator.seek(new Range(null, false, firstKey == null ? null : firstKey.getRow(), false), new HashSet<>(), false);
       while (rowIterator.hasTop()) {
         sum2 += Integer.parseInt(rowIterator.getTopValue().toString());
         rowIterator.next();
       }
 
-      rowIterator.seek(new Range(firstKey == null ? null : firstKey.getRow(), false, null, true), new HashSet<ByteSequence>(), false);
+      rowIterator.seek(new Range(firstKey == null ? null : firstKey.getRow(), false, null, true), new HashSet<>(), false);
       while (rowIterator.hasTop()) {
         sum2 += Integer.parseInt(rowIterator.getTopValue().toString());
         rowIterator.next();
diff --git a/core/src/test/java/org/apache/accumulo/core/iterators/user/TransformingIteratorTest.java b/core/src/test/java/org/apache/accumulo/core/iterators/user/TransformingIteratorTest.java
index 7ff08ecc40..1280859b31 100644
--- a/core/src/test/java/org/apache/accumulo/core/iterators/user/TransformingIteratorTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/iterators/user/TransformingIteratorTest.java
@@ -159,7 +159,7 @@ public void testNoRangeScan() throws Exception {
   public void testVisbilityFiltering() throws Exception {
     // Should return nothing since we produced visibilities that can't be seen
     setUpTransformIterator(BadVisKeyTransformingIterator.class);
-    checkExpected(new TreeMap<Key,Value>());
+    checkExpected(new TreeMap<>());
 
     // Do a "reverse" on the visibility (vis1 -> vis2, vis2 -> vis3, vis3 -> vis0)
     // Source data has vis1, vis2, vis3 so vis0 is a new one that is introduced.
@@ -183,11 +183,11 @@ public void testVisbilityFiltering() throws Exception {
   public void testCreatingIllegalVisbility() throws Exception {
     // illegal visibility created by transform should be filtered on scan, even if evaluation is done
     setUpTransformIterator(IllegalVisKeyTransformingIterator.class, false);
-    checkExpected(new TreeMap<Key,Value>());
+    checkExpected(new TreeMap<>());
 
     // ensure illegal vis is supressed when evaluations is done
     setUpTransformIterator(IllegalVisKeyTransformingIterator.class);
-    checkExpected(new TreeMap<Key,Value>());
+    checkExpected(new TreeMap<>());
   }
 
   @Test
@@ -232,7 +232,7 @@ public void testPostfixRange() throws Exception {
     // Set a range that's after all data and make sure we don't
     // somehow return something.
     setUpTransformIterator(ColFamReversingKeyTransformingIterator.class);
-    checkExpected(new Range(new Key("row4"), null), new TreeMap<Key,Value>());
+    checkExpected(new Range(new Key("row4"), null), new TreeMap<>());
   }
 
   @Test
@@ -298,7 +298,7 @@ public void testDeepCopy() throws Exception {
     IntersectingIterator.setColumnFamilies(iicfg, new Text[] {new Text("foo"), new Text("dog"), new Text("cat")});
     iiIter.init(titer, iicfg.getOptions(), null);
 
-    iiIter.seek(new Range(), new HashSet<ByteSequence>(), false);
+    iiIter.seek(new Range(), new HashSet<>(), false);
 
     assertTrue(iiIter.hasTop());
     Key docKey = iiIter.getTopKey();
@@ -356,7 +356,7 @@ public void testCompactionDoesntFilterVisibilities() throws Exception {
   public void testCompactionAndIllegalVisibility() throws Exception {
     setUpTransformIterator(IllegalVisCompactionKeyTransformingIterator.class);
     try {
-      checkExpected(new TreeMap<Key,Value>());
+      checkExpected(new TreeMap<>());
       assertTrue(false);
     } catch (Exception e) {
 
@@ -367,7 +367,7 @@ public void testCompactionAndIllegalVisibility() throws Exception {
   public void testDupes() throws Exception {
     setUpTransformIterator(DupeTransformingIterator.class);
 
-    titer.seek(new Range(), new HashSet<ByteSequence>(), false);
+    titer.seek(new Range(), new HashSet<>(), false);
 
     int count = 0;
     while (titer.hasTop()) {
@@ -419,7 +419,7 @@ private Key createDeleteKey(String row, String colFam, String colQual, String co
   }
 
   private void checkExpected(Range range, TreeMap<Key,Value> expectedEntries) throws IOException {
-    checkExpected(range, new HashSet<ByteSequence>(), expectedEntries);
+    checkExpected(range, new HashSet<>(), expectedEntries);
   }
 
   private void checkExpected(TreeMap<Key,Value> expectedEntries, String... fa) throws IOException {
diff --git a/core/src/test/java/org/apache/accumulo/core/iterators/user/WholeColumnFamilyIteratorTest.java b/core/src/test/java/org/apache/accumulo/core/iterators/user/WholeColumnFamilyIteratorTest.java
index c9c6f16144..f865d73d93 100644
--- a/core/src/test/java/org/apache/accumulo/core/iterators/user/WholeColumnFamilyIteratorTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/iterators/user/WholeColumnFamilyIteratorTest.java
@@ -41,7 +41,6 @@
 import java.util.SortedMap;
 import java.util.TreeMap;
 
-import org.apache.accumulo.core.data.ByteSequence;
 import org.apache.accumulo.core.data.Key;
 import org.apache.accumulo.core.data.Range;
 import org.apache.accumulo.core.data.Value;
@@ -89,7 +88,7 @@ public void testEmptyStuff() throws IOException {
     SortedMapIterator source = new SortedMapIterator(map);
     WholeColumnFamilyIterator iter = new WholeColumnFamilyIterator(source);
     SortedMap<Key,Value> resultMap = new TreeMap<>();
-    iter.seek(new Range(), new ArrayList<ByteSequence>(), false);
+    iter.seek(new Range(), new ArrayList<>(), false);
     int numRows = 0;
     while (iter.hasTop()) {
       numRows++;
@@ -111,7 +110,7 @@ public boolean filter(Text row, List<Key> keys, List<Value> values) {
       }
     };
     resultMap.clear();
-    iter2.seek(new Range(), new ArrayList<ByteSequence>(), false);
+    iter2.seek(new Range(), new ArrayList<>(), false);
     numRows = 0;
     while (iter2.hasTop()) {
       numRows++;
@@ -150,7 +149,7 @@ public void testContinue() throws Exception {
     WholeColumnFamilyIterator iter = new WholeColumnFamilyIterator(source);
 
     Range range = new Range(new Text("row1"), true, new Text("row2"), true);
-    iter.seek(range, new ArrayList<ByteSequence>(), false);
+    iter.seek(range, new ArrayList<>(), false);
 
     assertTrue(iter.hasTop());
     assertEquals(map1, WholeColumnFamilyIterator.decodeColumnFamily(iter.getTopKey(), iter.getTopValue()));
@@ -158,7 +157,7 @@ public void testContinue() throws Exception {
     // simulate something continuing using the last key from the iterator
     // this is what client and server code will do
     range = new Range(iter.getTopKey(), false, range.getEndKey(), range.isEndKeyInclusive());
-    iter.seek(range, new ArrayList<ByteSequence>(), false);
+    iter.seek(range, new ArrayList<>(), false);
 
     assertTrue(iter.hasTop());
     assertEquals(map2, WholeColumnFamilyIterator.decodeColumnFamily(iter.getTopKey(), iter.getTopValue()));
@@ -186,7 +185,7 @@ public void testBug1() throws Exception {
     WholeColumnFamilyIterator iter = new WholeColumnFamilyIterator(source);
 
     Range range = new Range(new Text("row1"), true, new Text("row2"), true);
-    iter.seek(range, new ArrayList<ByteSequence>(), false);
+    iter.seek(range, new ArrayList<>(), false);
 
     assertTrue(iter.hasTop());
     assertEquals(map1, WholeColumnFamilyIterator.decodeColumnFamily(iter.getTopKey(), iter.getTopValue()));
@@ -194,7 +193,7 @@ public void testBug1() throws Exception {
     // simulate something continuing using the last key from the iterator
     // this is what client and server code will do
     range = new Range(iter.getTopKey(), false, range.getEndKey(), range.isEndKeyInclusive());
-    iter.seek(range, new ArrayList<ByteSequence>(), false);
+    iter.seek(range, new ArrayList<>(), false);
 
     assertFalse(iter.hasTop());
 
diff --git a/core/src/test/java/org/apache/accumulo/core/iterators/user/WholeRowIteratorTest.java b/core/src/test/java/org/apache/accumulo/core/iterators/user/WholeRowIteratorTest.java
index 8d37d6c891..d755f14928 100644
--- a/core/src/test/java/org/apache/accumulo/core/iterators/user/WholeRowIteratorTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/iterators/user/WholeRowIteratorTest.java
@@ -30,7 +30,6 @@
 import java.util.SortedMap;
 import java.util.TreeMap;
 
-import org.apache.accumulo.core.data.ByteSequence;
 import org.apache.accumulo.core.data.Key;
 import org.apache.accumulo.core.data.Range;
 import org.apache.accumulo.core.data.Value;
@@ -88,7 +87,7 @@ public void testEmptyStuff() throws IOException {
     SortedMapIterator source = new SortedMapIterator(map);
     WholeRowIterator iter = new WholeRowIterator(source);
     SortedMap<Key,Value> resultMap = new TreeMap<>();
-    iter.seek(new Range(), new ArrayList<ByteSequence>(), false);
+    iter.seek(new Range(), new ArrayList<>(), false);
     int numRows = 0;
     while (iter.hasTop()) {
       numRows++;
@@ -107,7 +106,7 @@ public boolean filter(Text row, List<Key> keys, List<Value> values) {
       }
     };
     resultMap.clear();
-    iter2.seek(new Range(), new ArrayList<ByteSequence>(), false);
+    iter2.seek(new Range(), new ArrayList<>(), false);
     numRows = 0;
     while (iter2.hasTop()) {
       numRows++;
@@ -147,7 +146,7 @@ public void testContinue() throws Exception {
     WholeRowIterator iter = new WholeRowIterator(source);
 
     Range range = new Range(new Text("row1"), true, new Text("row2"), true);
-    iter.seek(range, new ArrayList<ByteSequence>(), false);
+    iter.seek(range, new ArrayList<>(), false);
 
     assertTrue(iter.hasTop());
     assertEquals(map1, WholeRowIterator.decodeRow(iter.getTopKey(), iter.getTopValue()));
@@ -155,7 +154,7 @@ public void testContinue() throws Exception {
     // simulate something continuing using the last key from the iterator
     // this is what client and server code will do
     range = new Range(iter.getTopKey(), false, range.getEndKey(), range.isEndKeyInclusive());
-    iter.seek(range, new ArrayList<ByteSequence>(), false);
+    iter.seek(range, new ArrayList<>(), false);
 
     assertTrue(iter.hasTop());
     assertEquals(map2, WholeRowIterator.decodeRow(iter.getTopKey(), iter.getTopValue()));
@@ -184,7 +183,7 @@ public void testBug1() throws Exception {
     WholeRowIterator iter = new WholeRowIterator(source);
 
     Range range = new Range(new Text("row1"), true, new Text("row2"), true);
-    iter.seek(range, new ArrayList<ByteSequence>(), false);
+    iter.seek(range, new ArrayList<>(), false);
 
     assertTrue(iter.hasTop());
     assertEquals(map1, WholeRowIterator.decodeRow(iter.getTopKey(), iter.getTopValue()));
@@ -192,7 +191,7 @@ public void testBug1() throws Exception {
     // simulate something continuing using the last key from the iterator
     // this is what client and server code will do
     range = new Range(iter.getTopKey(), false, range.getEndKey(), range.isEndKeyInclusive());
-    iter.seek(range, new ArrayList<ByteSequence>(), false);
+    iter.seek(range, new ArrayList<>(), false);
 
     assertFalse(iter.hasTop());
 
diff --git a/core/src/test/java/org/apache/accumulo/core/replication/ReplicationConfigurationUtilTest.java b/core/src/test/java/org/apache/accumulo/core/replication/ReplicationConfigurationUtilTest.java
index 1d72b7b539..4ae194478c 100644
--- a/core/src/test/java/org/apache/accumulo/core/replication/ReplicationConfigurationUtilTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/replication/ReplicationConfigurationUtilTest.java
@@ -60,15 +60,13 @@ public void metadataTableExtent() {
   @Test
   public void rootTableExtentEmptyConf() {
     KeyExtent extent = new KeyExtent(RootTable.ID, null, null);
-    Assert.assertFalse("The root table should never be replicated",
-        ReplicationConfigurationUtil.isEnabled(extent, new ConfigurationCopy(new HashMap<String,String>())));
+    Assert.assertFalse("The root table should never be replicated", ReplicationConfigurationUtil.isEnabled(extent, new ConfigurationCopy(new HashMap<>())));
   }
 
   @Test
   public void metadataTableExtentEmptyConf() {
     KeyExtent extent = new KeyExtent(MetadataTable.ID, null, null);
-    Assert.assertFalse("The metadata table should never be replicated",
-        ReplicationConfigurationUtil.isEnabled(extent, new ConfigurationCopy(new HashMap<String,String>())));
+    Assert.assertFalse("The metadata table should never be replicated", ReplicationConfigurationUtil.isEnabled(extent, new ConfigurationCopy(new HashMap<>())));
   }
 
   @Test
@@ -80,6 +78,6 @@ public void regularTable() {
   @Test
   public void regularNonEnabledTable() {
     KeyExtent extent = new KeyExtent(Table.ID.of("1"), new Text("b"), new Text("a"));
-    Assert.assertFalse("Table should not be replicated", ReplicationConfigurationUtil.isEnabled(extent, new ConfigurationCopy(new HashMap<String,String>())));
+    Assert.assertFalse("Table should not be replicated", ReplicationConfigurationUtil.isEnabled(extent, new ConfigurationCopy(new HashMap<>())));
   }
 }
diff --git a/core/src/test/java/org/apache/accumulo/core/util/PartitionerTest.java b/core/src/test/java/org/apache/accumulo/core/util/PartitionerTest.java
index 7568aba8d9..597aac3465 100644
--- a/core/src/test/java/org/apache/accumulo/core/util/PartitionerTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/util/PartitionerTest.java
@@ -40,11 +40,11 @@ public void test1() {
 
     PreAllocatedArray<Map<ByteSequence,MutableLong>> groups = new PreAllocatedArray<>(2);
 
-    groups.set(0, new HashMap<ByteSequence,MutableLong>());
+    groups.set(0, new HashMap<>());
     groups.get(0).put(new ArrayByteSequence("cf1"), new MutableLong(1));
     groups.get(0).put(new ArrayByteSequence("cf2"), new MutableLong(1));
 
-    groups.set(1, new HashMap<ByteSequence,MutableLong>());
+    groups.set(1, new HashMap<>());
     groups.get(1).put(new ArrayByteSequence("cf3"), new MutableLong(1));
 
     Partitioner p1 = new Partitioner(groups);
@@ -72,7 +72,7 @@ public void test1() {
     PreAllocatedArray<List<Mutation>> partitioned = new PreAllocatedArray<>(3);
 
     for (int i = 0; i < partitioned.length; i++) {
-      partitioned.set(i, new ArrayList<Mutation>());
+      partitioned.set(i, new ArrayList<>());
     }
 
     p1.partition(mutations, partitioned);
diff --git a/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooCache.java b/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooCache.java
index afe7d3711f..0ae16e3cc0 100644
--- a/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooCache.java
+++ b/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooCache.java
@@ -389,9 +389,7 @@ public T retry() {
             try {
               data = zooKeeper.getData(zPath, watcher, stat);
               zstat = new ZcStat(stat);
-            } catch (KeeperException.BadVersionException e1) {
-              throw new ConcurrentModificationException();
-            } catch (KeeperException.NoNodeException e2) {
+            } catch (KeeperException.BadVersionException | KeeperException.NoNodeException e1) {
               throw new ConcurrentModificationException();
             }
             if (log.isTraceEnabled()) {
diff --git a/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooLock.java b/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooLock.java
index 9cd5b8d63d..fe3fb64895 100644
--- a/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooLock.java
+++ b/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooLock.java
@@ -219,9 +219,7 @@ public void process(WatchedEvent event) {
             if (restat == null) {
               lockAsync(myLock, lw);
             }
-          } catch (KeeperException e) {
-            lw.failedToAcquireLock(new Exception("Failed to renew watch on other master node"));
-          } catch (InterruptedException e) {
+          } catch (KeeperException | InterruptedException e) {
             lw.failedToAcquireLock(new Exception("Failed to renew watch on other master node"));
           }
         }
@@ -295,9 +293,7 @@ else if (asyncLock != null)
 
       lockAsync(asyncLock, lw);
 
-    } catch (KeeperException e) {
-      lw.failedToAcquireLock(e);
-    } catch (InterruptedException e) {
+    } catch (KeeperException | InterruptedException e) {
       lw.failedToAcquireLock(e);
     }
   }
diff --git a/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooQueueLock.java b/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooQueueLock.java
index 25c735bc2d..69e08841aa 100644
--- a/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooQueueLock.java
+++ b/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooQueueLock.java
@@ -101,10 +101,8 @@ public void removeEntry(long entry) {
       try {
         // try to delete the parent if it has no children
         zoo.delete(path, -1);
-      } catch (NotEmptyException nee) {
+      } catch (NotEmptyException | NoNodeException nee) {
         // the path had other lock nodes, no big deal
-      } catch (NoNodeException nne) {
-        // someone else deleted the lock path
       }
     } catch (Exception ex) {
       throw new RuntimeException(ex);
diff --git a/minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloClusterControl.java b/minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloClusterControl.java
index 6825d0b041..bd07b993bc 100644
--- a/minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloClusterControl.java
+++ b/minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloClusterControl.java
@@ -197,9 +197,7 @@ public synchronized void stop(ServerType server, String hostname) throws IOExcep
         if (null != masterProcess) {
           try {
             cluster.stopProcessWithTimeout(masterProcess, 30, TimeUnit.SECONDS);
-          } catch (ExecutionException e) {
-            log.warn("Master did not fully stop after 30 seconds", e);
-          } catch (TimeoutException e) {
+          } catch (ExecutionException | TimeoutException e) {
             log.warn("Master did not fully stop after 30 seconds", e);
           } catch (InterruptedException e) {
             Thread.currentThread().interrupt();
@@ -212,9 +210,7 @@ public synchronized void stop(ServerType server, String hostname) throws IOExcep
         if (null != gcProcess) {
           try {
             cluster.stopProcessWithTimeout(gcProcess, 30, TimeUnit.SECONDS);
-          } catch (ExecutionException e) {
-            log.warn("Garbage collector did not fully stop after 30 seconds", e);
-          } catch (TimeoutException e) {
+          } catch (ExecutionException | TimeoutException e) {
             log.warn("Garbage collector did not fully stop after 30 seconds", e);
           } catch (InterruptedException e) {
             Thread.currentThread().interrupt();
@@ -227,9 +223,7 @@ public synchronized void stop(ServerType server, String hostname) throws IOExcep
         if (null != zooKeeperProcess) {
           try {
             cluster.stopProcessWithTimeout(zooKeeperProcess, 30, TimeUnit.SECONDS);
-          } catch (ExecutionException e) {
-            log.warn("ZooKeeper did not fully stop after 30 seconds", e);
-          } catch (TimeoutException e) {
+          } catch (ExecutionException | TimeoutException e) {
             log.warn("ZooKeeper did not fully stop after 30 seconds", e);
           } catch (InterruptedException e) {
             Thread.currentThread().interrupt();
@@ -244,9 +238,7 @@ public synchronized void stop(ServerType server, String hostname) throws IOExcep
             for (Process tserver : tabletServerProcesses) {
               try {
                 cluster.stopProcessWithTimeout(tserver, 30, TimeUnit.SECONDS);
-              } catch (ExecutionException e) {
-                log.warn("TabletServer did not fully stop after 30 seconds", e);
-              } catch (TimeoutException e) {
+              } catch (ExecutionException | TimeoutException e) {
                 log.warn("TabletServer did not fully stop after 30 seconds", e);
               } catch (InterruptedException e) {
                 Thread.currentThread().interrupt();
@@ -261,9 +253,7 @@ public synchronized void stop(ServerType server, String hostname) throws IOExcep
         if (monitor != null) {
           try {
             cluster.stopProcessWithTimeout(monitor, 30, TimeUnit.SECONDS);
-          } catch (ExecutionException e) {
-            log.warn("Monitor did not fully stop after 30 seconds", e);
-          } catch (TimeoutException e) {
+          } catch (ExecutionException | TimeoutException e) {
             log.warn("Monitor did not fully stop after 30 seconds", e);
           } catch (InterruptedException e) {
             Thread.currentThread().interrupt();
@@ -276,9 +266,7 @@ public synchronized void stop(ServerType server, String hostname) throws IOExcep
         if (tracer != null) {
           try {
             cluster.stopProcessWithTimeout(tracer, 30, TimeUnit.SECONDS);
-          } catch (ExecutionException e) {
-            log.warn("Tracer did not fully stop after 30 seconds", e);
-          } catch (TimeoutException e) {
+          } catch (ExecutionException | TimeoutException e) {
             log.warn("Tracer did not fully stop after 30 seconds", e);
           } catch (InterruptedException e) {
             Thread.currentThread().interrupt();
@@ -315,9 +303,7 @@ public void killProcess(ServerType type, ProcessReference procRef) throws Proces
         if (procRef.getProcess().equals(masterProcess)) {
           try {
             cluster.stopProcessWithTimeout(masterProcess, 30, TimeUnit.SECONDS);
-          } catch (ExecutionException e) {
-            log.warn("Master did not fully stop after 30 seconds", e);
-          } catch (TimeoutException e) {
+          } catch (ExecutionException | TimeoutException e) {
             log.warn("Master did not fully stop after 30 seconds", e);
           }
           masterProcess = null;
@@ -331,9 +317,7 @@ public void killProcess(ServerType type, ProcessReference procRef) throws Proces
               tabletServerProcesses.remove(tserver);
               try {
                 cluster.stopProcessWithTimeout(tserver, 30, TimeUnit.SECONDS);
-              } catch (ExecutionException e) {
-                log.warn("TabletServer did not fully stop after 30 seconds", e);
-              } catch (TimeoutException e) {
+              } catch (ExecutionException | TimeoutException e) {
                 log.warn("TabletServer did not fully stop after 30 seconds", e);
               }
               found = true;
@@ -346,9 +330,7 @@ public void killProcess(ServerType type, ProcessReference procRef) throws Proces
         if (procRef.getProcess().equals(zooKeeperProcess)) {
           try {
             cluster.stopProcessWithTimeout(zooKeeperProcess, 30, TimeUnit.SECONDS);
-          } catch (ExecutionException e) {
-            log.warn("ZooKeeper did not fully stop after 30 seconds", e);
-          } catch (TimeoutException e) {
+          } catch (ExecutionException | TimeoutException e) {
             log.warn("ZooKeeper did not fully stop after 30 seconds", e);
           }
           zooKeeperProcess = null;
@@ -359,9 +341,7 @@ public void killProcess(ServerType type, ProcessReference procRef) throws Proces
         if (procRef.getProcess().equals(gcProcess)) {
           try {
             cluster.stopProcessWithTimeout(gcProcess, 30, TimeUnit.SECONDS);
-          } catch (ExecutionException e) {
-            log.warn("GarbageCollector did not fully stop after 30 seconds", e);
-          } catch (TimeoutException e) {
+          } catch (ExecutionException | TimeoutException e) {
             log.warn("GarbageCollector did not fully stop after 30 seconds", e);
           }
           gcProcess = null;
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 9478cc6a63..3255e13de6 100644
--- a/proxy/src/main/java/org/apache/accumulo/proxy/ProxyServer.java
+++ b/proxy/src/main/java/org/apache/accumulo/proxy/ProxyServer.java
@@ -649,7 +649,7 @@ public void setLocalityGroups(ByteBuffer login, String tableName, Map<String,Set
     try {
       Map<String,Set<Text>> groups = new HashMap<>();
       for (Entry<String,Set<String>> groupEntry : groupStrings.entrySet()) {
-        groups.put(groupEntry.getKey(), new HashSet<Text>());
+        groups.put(groupEntry.getKey(), new HashSet<>());
         for (String val : groupEntry.getValue()) {
           groups.get(groupEntry.getKey()).add(new Text(val));
         }
@@ -1194,7 +1194,7 @@ public ScanResult nextK(String scanner, int k) throws NoMoreEntriesException, Un
     // synchronized to prevent race conditions
     synchronized (batchScanner) {
       ScanResult ret = new ScanResult();
-      ret.setResults(new ArrayList<KeyValue>());
+      ret.setResults(new ArrayList<>());
       int numRead = 0;
       try {
         while (batchScanner.hasNext() && numRead < k) {
diff --git a/server/base/src/main/java/org/apache/accumulo/server/Accumulo.java b/server/base/src/main/java/org/apache/accumulo/server/Accumulo.java
index b39996bf73..dd8b3a9441 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/Accumulo.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/Accumulo.java
@@ -169,8 +169,7 @@ public void run() {
           String procFile = "/proc/sys/vm/swappiness";
           File swappiness = new File(procFile);
           if (swappiness.exists() && swappiness.canRead()) {
-            InputStream is = new FileInputStream(procFile);
-            try {
+            try (InputStream is = new FileInputStream(procFile)) {
               byte[] buffer = new byte[10];
               int bytes = is.read(buffer);
               String setting = new String(buffer, 0, bytes, UTF_8);
@@ -179,8 +178,6 @@ public void run() {
                 log.warn("System swappiness setting is greater than ten ({}) which can cause time-sensitive operations to be delayed. "
                     + " Accumulo is time sensitive because it needs to maintain distributed lock agreement.", setting);
               }
-            } finally {
-              is.close();
             }
           }
         } catch (Throwable t) {
diff --git a/server/base/src/main/java/org/apache/accumulo/server/client/BulkImporter.java b/server/base/src/main/java/org/apache/accumulo/server/client/BulkImporter.java
index 46d9514345..1dc6a8d314 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/client/BulkImporter.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/client/BulkImporter.java
@@ -479,9 +479,7 @@ public void run() {
       try {
         List<KeyExtent> failures = assignMapFiles(context, location, assignmentsPerTablet);
         handleFailures(failures, "Not Serving Tablet");
-      } catch (AccumuloException e) {
-        handleFailures(assignmentsPerTablet.keySet(), e.getMessage());
-      } catch (AccumuloSecurityException e) {
+      } catch (AccumuloException | AccumuloSecurityException e) {
         handleFailures(assignmentsPerTablet.keySet(), e.getMessage());
       }
     }
@@ -642,9 +640,8 @@ protected static Text getStartRowForExtent(KeyExtent extent) {
     String filename = file.toString();
     // log.debug(filename + " finding overlapping tablets " + startRow + " -> " + endRow);
     FileSystem fs = vm.getVolumeByPath(file).getFileSystem();
-    FileSKVIterator reader = FileOperations.getInstance().newReaderBuilder().forFile(filename, fs, fs.getConf())
-        .withTableConfiguration(context.getConfiguration()).seekToBeginning().build();
-    try {
+    try (FileSKVIterator reader = FileOperations.getInstance().newReaderBuilder().forFile(filename, fs, fs.getConf())
+        .withTableConfiguration(context.getConfiguration()).seekToBeginning().build()) {
       Text row = startRow;
       if (row == null)
         row = new Text();
@@ -666,8 +663,6 @@ protected static Text getStartRowForExtent(KeyExtent extent) {
         } else
           break;
       }
-    } finally {
-      reader.close();
     }
     // log.debug(filename + " to be sent to " + result);
     return result;
diff --git a/server/base/src/main/java/org/apache/accumulo/server/client/ClientServiceHandler.java b/server/base/src/main/java/org/apache/accumulo/server/client/ClientServiceHandler.java
index 9c6884de29..1c683df6c8 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/client/ClientServiceHandler.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/client/ClientServiceHandler.java
@@ -345,16 +345,7 @@ public boolean checkClass(TInfo tinfo, TCredentials credentials, String classNam
       Class test = AccumuloVFSClassLoader.loadClass(className, shouldMatch);
       test.newInstance();
       return true;
-    } catch (ClassCastException e) {
-      log.warn("Error checking object types", e);
-      return false;
-    } catch (ClassNotFoundException e) {
-      log.warn("Error checking object types", e);
-      return false;
-    } catch (InstantiationException e) {
-      log.warn("Error checking object types", e);
-      return false;
-    } catch (IllegalAccessException e) {
+    } catch (ClassCastException | IllegalAccessException | InstantiationException | ClassNotFoundException e) {
       log.warn("Error checking object types", e);
       return false;
     }
@@ -452,11 +443,7 @@ public boolean checkNamespaceClass(TInfo tinfo, TCredentials credentials, String
 
     } catch (AccumuloSecurityException e) {
       throw e.asThriftException();
-    } catch (AccumuloException e) {
-      throw new TException(e);
-    } catch (IOException e) {
-      throw new TException(e);
-    } catch (TableNotFoundException e) {
+    } catch (AccumuloException | TableNotFoundException | IOException e) {
       throw new TException(e);
     }
   }
diff --git a/server/base/src/main/java/org/apache/accumulo/server/constraints/MetadataConstraints.java b/server/base/src/main/java/org/apache/accumulo/server/constraints/MetadataConstraints.java
index 060615c889..6386a88fea 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/constraints/MetadataConstraints.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/constraints/MetadataConstraints.java
@@ -176,9 +176,7 @@ private static boolean isValidColumn(ColumnUpdate cu) {
           if (dfv.getSize() < 0 || dfv.getNumEntries() < 0) {
             violations = addViolation(violations, 1);
           }
-        } catch (NumberFormatException nfe) {
-          violations = addViolation(violations, 1);
-        } catch (ArrayIndexOutOfBoundsException aiooe) {
+        } catch (NumberFormatException | ArrayIndexOutOfBoundsException nfe) {
           violations = addViolation(violations, 1);
         }
       } else if (columnFamily.equals(ScanFileColumnFamily.NAME)) {
diff --git a/server/base/src/main/java/org/apache/accumulo/server/fs/VolumeUtil.java b/server/base/src/main/java/org/apache/accumulo/server/fs/VolumeUtil.java
index ab48edfbf5..46a0ab9984 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/fs/VolumeUtil.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/fs/VolumeUtil.java
@@ -353,11 +353,8 @@ static boolean same(FileSystem fs1, Path dir, FileSystem fs2, Path newDir) throw
   }
 
   private static String hash(FileSystem fs, Path dir, String name) throws IOException {
-    FSDataInputStream in = fs.open(new Path(dir, name));
-    try {
+    try (FSDataInputStream in = fs.open(new Path(dir, name))) {
       return DigestUtils.shaHex(in);
-    } finally {
-      in.close();
     }
 
   }
diff --git a/server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java b/server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java
index 819841872a..1b0f3ba7df 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java
@@ -423,9 +423,7 @@ private boolean initialize(Opts opts, String instanceNamePath, VolumeManager fs,
   private static boolean zookeeperAvailable() {
     try {
       return zoo.exists("/");
-    } catch (KeeperException e) {
-      return false;
-    } catch (InterruptedException e) {
+    } catch (KeeperException | InterruptedException e) {
       return false;
     }
   }
diff --git a/server/base/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java b/server/base/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java
index 01a355091d..59f1c6d862 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java
@@ -89,12 +89,9 @@ private void loadTablet(TabletClientService.Client client, ZooLock lock, KeyExte
     public void assignTablet(ZooLock lock, KeyExtent extent) throws TException {
       if (extent.isMeta()) {
         // see ACCUMULO-3597
-        TTransport transport = ThriftUtil.createTransport(address, context);
-        try {
+        try (TTransport transport = ThriftUtil.createTransport(address, context)) {
           TabletClientService.Client client = ThriftUtil.createClient(new TabletClientService.Client.Factory(), transport);
           loadTablet(client, lock, extent);
-        } finally {
-          transport.close();
         }
       } else {
         TabletClientService.Client client = ThriftUtil.getClient(new TabletClientService.Client.Factory(), address, context);
@@ -270,10 +267,8 @@ public synchronized void scanServers() {
   private void deleteServerNode(String serverNode) throws InterruptedException, KeeperException {
     try {
       ZooReaderWriter.getInstance().delete(serverNode, -1);
-    } catch (NotEmptyException ex) {
+    } catch (NotEmptyException | NoNodeException ex) {
       // race condition: tserver created the lock after our last check; we'll see it at the next check
-    } catch (NoNodeException nne) {
-      // someone else deleted it
     }
   }
 
diff --git a/server/base/src/main/java/org/apache/accumulo/server/master/balancer/TableLoadBalancer.java b/server/base/src/main/java/org/apache/accumulo/server/master/balancer/TableLoadBalancer.java
index b27cb36074..bc41f98f56 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/master/balancer/TableLoadBalancer.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/master/balancer/TableLoadBalancer.java
@@ -136,9 +136,7 @@ protected TableOperations getTableOperations() {
     if (tops == null)
       try {
         tops = this.context.getConnector().tableOperations();
-      } catch (AccumuloException e) {
-        log.error("Unable to access table operations from within table balancer", e);
-      } catch (AccumuloSecurityException e) {
+      } catch (AccumuloException | AccumuloSecurityException e) {
         log.error("Unable to access table operations from within table balancer", e);
       }
     return tops;
diff --git a/server/base/src/main/java/org/apache/accumulo/server/master/state/MetaDataStateStore.java b/server/base/src/main/java/org/apache/accumulo/server/master/state/MetaDataStateStore.java
index c549adce95..fdf0f5f1db 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/master/state/MetaDataStateStore.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/master/state/MetaDataStateStore.java
@@ -24,7 +24,6 @@
 import org.apache.accumulo.core.client.BatchWriter;
 import org.apache.accumulo.core.client.BatchWriterConfig;
 import org.apache.accumulo.core.client.MutationsRejectedException;
-import org.apache.accumulo.core.client.TableNotFoundException;
 import org.apache.accumulo.core.client.impl.ClientContext;
 import org.apache.accumulo.core.data.Mutation;
 import org.apache.accumulo.core.metadata.MetadataTable;
@@ -92,9 +91,6 @@ BatchWriter createBatchWriter() {
     try {
       return context.getConnector().createBatchWriter(targetTableName,
           new BatchWriterConfig().setMaxMemory(MAX_MEMORY).setMaxLatency(LATENCY, TimeUnit.MILLISECONDS).setMaxWriteThreads(THREADS));
-    } catch (TableNotFoundException e) {
-      // ya, I don't think so
-      throw new RuntimeException(e);
     } catch (Exception e) {
       throw new RuntimeException(e);
     }
diff --git a/server/base/src/main/java/org/apache/accumulo/server/master/state/MetaDataTableScanner.java b/server/base/src/main/java/org/apache/accumulo/server/master/state/MetaDataTableScanner.java
index 5d6052ffb8..704fead3a7 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/master/state/MetaDataTableScanner.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/master/state/MetaDataTableScanner.java
@@ -189,9 +189,7 @@ private TabletLocationState fetch() {
     try {
       Entry<Key,Value> e = iter.next();
       return createTabletLocationState(e.getKey(), e.getValue());
-    } catch (IOException ex) {
-      throw new RuntimeException(ex);
-    } catch (BadLocationStateException ex) {
+    } catch (IOException | BadLocationStateException ex) {
       throw new RuntimeException(ex);
     }
   }
diff --git a/server/base/src/main/java/org/apache/accumulo/server/problems/ProblemReports.java b/server/base/src/main/java/org/apache/accumulo/server/problems/ProblemReports.java
index 8bb179fd70..99bc37dc76 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/problems/ProblemReports.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/problems/ProblemReports.java
@@ -70,7 +70,7 @@
    * make the thread pool use a bounded queue to avoid the case where problem reports are not being processed because the whole system is in a really bad state
    * (like HDFS is down) and everything is reporting lots of problems, but problem reports can not be processed
    */
-  private ExecutorService reportExecutor = new ThreadPoolExecutor(0, 1, 60, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>(500), new NamingThreadFactory(
+  private ExecutorService reportExecutor = new ThreadPoolExecutor(0, 1, 60, TimeUnit.SECONDS, new LinkedBlockingQueue<>(500), new NamingThreadFactory(
       "acu-problem-reporter"));
 
   private final AccumuloServerContext context;
diff --git a/server/base/src/main/java/org/apache/accumulo/server/replication/ReplicaSystemHelper.java b/server/base/src/main/java/org/apache/accumulo/server/replication/ReplicaSystemHelper.java
index 564311772f..849781e122 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/replication/ReplicaSystemHelper.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/replication/ReplicaSystemHelper.java
@@ -59,14 +59,11 @@ public ReplicaSystemHelper(ClientContext context) {
    */
   public void recordNewStatus(Path filePath, Status status, ReplicationTarget target) throws AccumuloException, AccumuloSecurityException,
       TableNotFoundException {
-    BatchWriter bw = context.getConnector().createBatchWriter(ReplicationTable.NAME, new BatchWriterConfig());
-    try {
+    try (BatchWriter bw = context.getConnector().createBatchWriter(ReplicationTable.NAME, new BatchWriterConfig())) {
       log.debug("Recording new status for {}, {}", filePath.toString(), ProtobufUtil.toString(status));
       Mutation m = new Mutation(filePath.toString());
       WorkSection.add(m, target.toText(), ProtobufUtil.toValue(status));
       bw.addMutation(m);
-    } finally {
-      bw.close();
     }
   }
 }
diff --git a/server/base/src/main/java/org/apache/accumulo/server/security/handler/ZKAuthenticator.java b/server/base/src/main/java/org/apache/accumulo/server/security/handler/ZKAuthenticator.java
index 718f9dfbbd..3fa621c555 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/security/handler/ZKAuthenticator.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/security/handler/ZKAuthenticator.java
@@ -78,13 +78,7 @@ public void initializeSecurity(TCredentials credentials, String principal, byte[
 
         constructUser(principal, ZKSecurityTool.createPass(token));
       }
-    } catch (KeeperException e) {
-      log.error("{}", e.getMessage(), e);
-      throw new RuntimeException(e);
-    } catch (InterruptedException e) {
-      log.error("{}", e.getMessage(), e);
-      throw new RuntimeException(e);
-    } catch (AccumuloException e) {
+    } catch (KeeperException | AccumuloException | InterruptedException e) {
       log.error("{}", e.getMessage(), e);
       throw new RuntimeException(e);
     }
diff --git a/server/base/src/main/java/org/apache/accumulo/server/security/handler/ZKAuthorizor.java b/server/base/src/main/java/org/apache/accumulo/server/security/handler/ZKAuthorizor.java
index 0f25949957..c966e9260e 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/security/handler/ZKAuthorizor.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/security/handler/ZKAuthorizor.java
@@ -102,10 +102,7 @@ public void initializeSecurity(TCredentials itw, String rootuser) throws Accumul
 
       initUser(rootuser);
       zoo.putPersistentData(ZKUserPath + "/" + rootuser + ZKUserAuths, ZKSecurityTool.convertAuthorizations(Authorizations.EMPTY), NodeExistsPolicy.FAIL);
-    } catch (KeeperException e) {
-      log.error("{}", e.getMessage(), e);
-      throw new RuntimeException(e);
-    } catch (InterruptedException e) {
+    } catch (KeeperException | InterruptedException e) {
       log.error("{}", e.getMessage(), e);
       throw new RuntimeException(e);
     }
diff --git a/server/base/src/main/java/org/apache/accumulo/server/security/handler/ZKPermHandler.java b/server/base/src/main/java/org/apache/accumulo/server/security/handler/ZKPermHandler.java
index b9d0fa51c9..9f3ea004dd 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/security/handler/ZKPermHandler.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/security/handler/ZKPermHandler.java
@@ -401,10 +401,7 @@ public void initializeSecurity(TCredentials itw, String rootuser) throws Accumul
         createTablePerm(rootuser, entry.getKey(), entry.getValue());
       for (Entry<Namespace.ID,Set<NamespacePermission>> entry : namespacePerms.entrySet())
         createNamespacePerm(rootuser, entry.getKey(), entry.getValue());
-    } catch (KeeperException e) {
-      log.error("{}", e.getMessage(), e);
-      throw new RuntimeException(e);
-    } catch (InterruptedException e) {
+    } catch (KeeperException | InterruptedException e) {
       log.error("{}", e.getMessage(), e);
       throw new RuntimeException(e);
     }
diff --git a/server/base/src/main/java/org/apache/accumulo/server/util/AccumuloStatus.java b/server/base/src/main/java/org/apache/accumulo/server/util/AccumuloStatus.java
index 5d95d68213..04dce39f48 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/util/AccumuloStatus.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/util/AccumuloStatus.java
@@ -42,9 +42,7 @@ public static boolean isAccumuloOffline(IZooReader reader, String rootPath) thro
         return false;
       if (!reader.getChildren(rootPath + Constants.ZGC_LOCK).isEmpty())
         return false;
-    } catch (KeeperException e) {
-      throw new IOException("Issues contacting ZooKeeper to get Accumulo status.", e);
-    } catch (InterruptedException e) {
+    } catch (KeeperException | InterruptedException e) {
       throw new IOException("Issues contacting ZooKeeper to get Accumulo status.", e);
     }
     return true;
diff --git a/server/base/src/main/java/org/apache/accumulo/server/util/Admin.java b/server/base/src/main/java/org/apache/accumulo/server/util/Admin.java
index 5f0289351f..c4933dd63a 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/util/Admin.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/util/Admin.java
@@ -578,11 +578,8 @@ private void printSystemConfiguration(Connector connector, File outputDirectory)
       }
     }
     File siteBackup = new File(outputDirectory, ACCUMULO_SITE_BACKUP_FILE);
-    FileOutputStream fos = new FileOutputStream(siteBackup);
-    try {
+    try (FileOutputStream fos = new FileOutputStream(siteBackup)) {
       conf.writeXml(fos);
-    } finally {
-      fos.close();
     }
   }
 
diff --git a/server/base/src/main/java/org/apache/accumulo/server/util/FileSystemMonitor.java b/server/base/src/main/java/org/apache/accumulo/server/util/FileSystemMonitor.java
index 5e9959c2e2..ffbd881b79 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/util/FileSystemMonitor.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/util/FileSystemMonitor.java
@@ -70,12 +70,9 @@ public String toString() {
   static List<Mount> parse(String procFile) throws IOException {
 
     FileReader fr = new FileReader(procFile);
-    BufferedReader br = new BufferedReader(fr);
 
-    try {
+    try (BufferedReader br = new BufferedReader(fr)) {
       return getMountsFromFile(br);
-    } finally {
-      br.close();
     }
   }
 
diff --git a/server/base/src/main/java/org/apache/accumulo/server/util/FindOfflineTablets.java b/server/base/src/main/java/org/apache/accumulo/server/util/FindOfflineTablets.java
index 31b522181d..f0a0f2767b 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/util/FindOfflineTablets.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/util/FindOfflineTablets.java
@@ -106,11 +106,8 @@ public void update(LiveTServerSet current, Set<TServerInstance> deleted, Set<TSe
       range = new KeyExtent(tableId, null, null).toMetadataRange();
     }
 
-    MetaDataTableScanner metaScanner = new MetaDataTableScanner(context, range, MetadataTable.NAME);
-    try {
+    try (MetaDataTableScanner metaScanner = new MetaDataTableScanner(context, range, MetadataTable.NAME)) {
       return checkTablets(metaScanner, tservers);
-    } finally {
-      metaScanner.close();
     }
   }
 
diff --git a/server/base/src/main/java/org/apache/accumulo/server/util/MasterMetadataUtil.java b/server/base/src/main/java/org/apache/accumulo/server/util/MasterMetadataUtil.java
index fee711bc88..fa0dc9749f 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/util/MasterMetadataUtil.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/util/MasterMetadataUtil.java
@@ -181,8 +181,8 @@ private static KeyExtent fixSplit(ClientContext context, Table.ID tableId, Text
           }
         }
 
-        MetadataTableUtil.splitDatafiles(metadataPrevEndRow, splitRatio, new HashMap<FileRef,FileUtil.FileInfo>(), origDatafileSizes, lowDatafileSizes,
-            highDatafileSizes, highDatafilesToRemove);
+        MetadataTableUtil.splitDatafiles(metadataPrevEndRow, splitRatio, new HashMap<>(), origDatafileSizes, lowDatafileSizes, highDatafileSizes,
+            highDatafilesToRemove);
 
         MetadataTableUtil.finishSplit(metadataEntry, highDatafileSizes, highDatafilesToRemove, context, lock);
 
@@ -195,9 +195,7 @@ private static TServerInstance getTServerInstance(String address, ZooLock zooLoc
     while (true) {
       try {
         return new TServerInstance(address, zooLock.getSessionId());
-      } catch (KeeperException e) {
-        log.error("{}", e.getMessage(), e);
-      } catch (InterruptedException e) {
+      } catch (KeeperException | InterruptedException e) {
         log.error("{}", e.getMessage(), e);
       }
       sleepUninterruptibly(1, TimeUnit.SECONDS);
@@ -278,9 +276,7 @@ private static void updateRootTabletDataFile(KeyExtent extent, FileRef path, Fil
             zk.recursiveDelete(zpath, NodeMissingPolicy.SKIP);
           }
           break;
-        } catch (KeeperException e) {
-          log.error("{}", e.getMessage(), e);
-        } catch (InterruptedException e) {
+        } catch (KeeperException | InterruptedException e) {
           log.error("{}", e.getMessage(), e);
         }
         sleepUninterruptibly(1, TimeUnit.SECONDS);
diff --git a/server/base/src/main/java/org/apache/accumulo/server/util/MetadataTableUtil.java b/server/base/src/main/java/org/apache/accumulo/server/util/MetadataTableUtil.java
index e69c86da06..a4d77d98dd 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/util/MetadataTableUtil.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/util/MetadataTableUtil.java
@@ -154,16 +154,12 @@ public static void update(Writer t, ZooLock zooLock, Mutation m) {
       try {
         t.update(m);
         return;
-      } catch (AccumuloException e) {
-        log.error("{}", e.getMessage(), e);
-      } catch (AccumuloSecurityException e) {
+      } catch (AccumuloException | TableNotFoundException | AccumuloSecurityException e) {
         log.error("{}", e.getMessage(), e);
       } catch (ConstraintViolationException e) {
         log.error("{}", e.getMessage(), e);
         // retrying when a CVE occurs is probably futile and can cause problems, see ACCUMULO-3096
         throw new RuntimeException(e);
-      } catch (TableNotFoundException e) {
-        log.error("{}", e.getMessage(), e);
       }
       sleepUninterruptibly(1, TimeUnit.SECONDS);
     }
diff --git a/server/base/src/main/java/org/apache/accumulo/server/util/ReplicationTableUtil.java b/server/base/src/main/java/org/apache/accumulo/server/util/ReplicationTableUtil.java
index 9ddde7dd68..20c1403793 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/util/ReplicationTableUtil.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/util/ReplicationTableUtil.java
@@ -161,13 +161,7 @@ static void update(ClientContext context, Mutation m, KeyExtent extent) {
       try {
         t.update(m);
         return;
-      } catch (AccumuloException e) {
-        log.error(e.toString(), e);
-      } catch (AccumuloSecurityException e) {
-        log.error(e.toString(), e);
-      } catch (ConstraintViolationException e) {
-        log.error(e.toString(), e);
-      } catch (TableNotFoundException e) {
+      } catch (AccumuloException | TableNotFoundException | ConstraintViolationException | AccumuloSecurityException e) {
         log.error(e.toString(), e);
       }
       sleepUninterruptibly(1, TimeUnit.SECONDS);
diff --git a/server/gc/src/main/java/org/apache/accumulo/gc/replication/CloseWriteAheadLogReferences.java b/server/gc/src/main/java/org/apache/accumulo/gc/replication/CloseWriteAheadLogReferences.java
index aba80aca09..da48e8e0a5 100644
--- a/server/gc/src/main/java/org/apache/accumulo/gc/replication/CloseWriteAheadLogReferences.java
+++ b/server/gc/src/main/java/org/apache/accumulo/gc/replication/CloseWriteAheadLogReferences.java
@@ -55,7 +55,6 @@
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.io.Text;
 import org.apache.thrift.TException;
-import org.apache.thrift.transport.TTransportException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -289,9 +288,6 @@ private HostAndPort getMasterAddress() {
     try {
       tserverClient = ThriftUtil.getClient(new TabletClientService.Client.Factory(), server, context);
       return tserverClient.getActiveLogs(tinfo, context.rpcCreds());
-    } catch (TTransportException e) {
-      log.warn("Failed to fetch active write-ahead logs from " + server, e);
-      return null;
     } catch (TException e) {
       log.warn("Failed to fetch active write-ahead logs from " + server, e);
       return null;
diff --git a/server/master/src/main/java/org/apache/accumulo/master/Master.java b/server/master/src/main/java/org/apache/accumulo/master/Master.java
index 9de5221397..12be028d9e 100644
--- a/server/master/src/main/java/org/apache/accumulo/master/Master.java
+++ b/server/master/src/main/java/org/apache/accumulo/master/Master.java
@@ -1246,9 +1246,7 @@ public void run() {
           store.ageOff();
         }
       }, 63000, 63000);
-    } catch (KeeperException e) {
-      throw new IOException(e);
-    } catch (InterruptedException e) {
+    } catch (KeeperException | InterruptedException e) {
       throw new IOException(e);
     }
 
diff --git a/server/master/src/main/java/org/apache/accumulo/master/MasterClientServiceHandler.java b/server/master/src/main/java/org/apache/accumulo/master/MasterClientServiceHandler.java
index 273784b600..9c3c638044 100644
--- a/server/master/src/main/java/org/apache/accumulo/master/MasterClientServiceHandler.java
+++ b/server/master/src/main/java/org/apache/accumulo/master/MasterClientServiceHandler.java
@@ -245,10 +245,8 @@ public void waitForFlush(TInfo tinfo, TCredentials c, String tableIdStr, ByteBuf
         if (tabletCount == 0 && !Tables.exists(master.getInstance(), tableId))
           throw new ThriftTableOperationException(tableId.canonicalID(), null, TableOperation.FLUSH, TableOperationExceptionType.NOTFOUND, null);
 
-      } catch (AccumuloException e) {
+      } catch (AccumuloException | TabletDeletedException e) {
         Master.log.debug("Failed to scan {} table to wait for flush {}", MetadataTable.NAME, tableId, e);
-      } catch (TabletDeletedException tde) {
-        Master.log.debug("Failed to scan {} table to wait for flush {}", MetadataTable.NAME, tableId, tde);
       } catch (AccumuloSecurityException e) {
         Master.log.warn("{}", e.getMessage(), e);
         throw new ThriftSecurityException();
diff --git a/server/master/src/main/java/org/apache/accumulo/master/tableOps/CleanUp.java b/server/master/src/main/java/org/apache/accumulo/master/tableOps/CleanUp.java
index 45df864747..fc42045080 100644
--- a/server/master/src/main/java/org/apache/accumulo/master/tableOps/CleanUp.java
+++ b/server/master/src/main/java/org/apache/accumulo/master/tableOps/CleanUp.java
@@ -123,8 +123,7 @@ public long isReady(long tid, Master master) throws Exception {
     try {
       // look for other tables that references this table's files
       Connector conn = master.getConnector();
-      BatchScanner bs = conn.createBatchScanner(MetadataTable.NAME, Authorizations.EMPTY, 8);
-      try {
+      try (BatchScanner bs = conn.createBatchScanner(MetadataTable.NAME, Authorizations.EMPTY, 8)) {
         Range allTables = MetadataSchema.TabletsSection.getRange();
         Range tableRange = MetadataSchema.TabletsSection.getRange(tableId);
         Range beforeTable = new Range(allTables.getStartKey(), true, tableRange.getStartKey(), false);
@@ -140,8 +139,6 @@ public long isReady(long tid, Master master) throws Exception {
             refCount++;
           }
         }
-      } finally {
-        bs.close();
       }
 
     } catch (Exception e) {
diff --git a/server/master/src/main/java/org/apache/accumulo/master/tableOps/LoadFiles.java b/server/master/src/main/java/org/apache/accumulo/master/tableOps/LoadFiles.java
index 58c24e3f57..0b22345868 100644
--- a/server/master/src/main/java/org/apache/accumulo/master/tableOps/LoadFiles.java
+++ b/server/master/src/main/java/org/apache/accumulo/master/tableOps/LoadFiles.java
@@ -198,14 +198,11 @@ private static synchronized ExecutorService getThreadPool(Master master) {
     }
 
     FSDataOutputStream failFile = fs.create(new Path(errorDir, BulkImport.FAILURES_TXT), true);
-    BufferedWriter out = new BufferedWriter(new OutputStreamWriter(failFile, UTF_8));
-    try {
+    try (BufferedWriter out = new BufferedWriter(new OutputStreamWriter(failFile, UTF_8))) {
       for (String f : filesToLoad) {
         out.write(f);
         out.write("\n");
       }
-    } finally {
-      out.close();
     }
 
     // return the next step, which will perform cleanup
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
index 55f178753a..650b93efb3 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
@@ -391,7 +391,7 @@ private static void calcCacheHitRate(List<Pair<Long,Double>> hitRate, long curre
     if (req > 0)
       hitRate.add(new Pair<>(currentTime, cacheHits.calculateCount() / (double) cacheReq.calculateCount()));
     else
-      hitRate.add(new Pair<Long,Double>(currentTime, null));
+      hitRate.add(new Pair<>(currentTime, null));
   }
 
   private static GCStatus fetchGcStatus() {
diff --git a/server/tracer/src/main/java/org/apache/accumulo/tracer/SpanTree.java b/server/tracer/src/main/java/org/apache/accumulo/tracer/SpanTree.java
index 05c3212ead..11e852e8d3 100644
--- a/server/tracer/src/main/java/org/apache/accumulo/tracer/SpanTree.java
+++ b/server/tracer/src/main/java/org/apache/accumulo/tracer/SpanTree.java
@@ -35,7 +35,7 @@ public SpanTree() {}
   public void addNode(RemoteSpan span) {
     nodes.put(span.spanId, span);
     if (parentChildren.get(span.parentId) == null)
-      parentChildren.put(span.parentId, new ArrayList<Long>());
+      parentChildren.put(span.parentId, new ArrayList<>());
     parentChildren.get(span.parentId).add(span.spanId);
   }
 
diff --git a/server/tracer/src/main/java/org/apache/accumulo/tracer/TraceServer.java b/server/tracer/src/main/java/org/apache/accumulo/tracer/TraceServer.java
index 0296f61267..a5db1bf85d 100644
--- a/server/tracer/src/main/java/org/apache/accumulo/tracer/TraceServer.java
+++ b/server/tracer/src/main/java/org/apache/accumulo/tracer/TraceServer.java
@@ -300,15 +300,11 @@ private void flush() {
           resetWriter();
         }
       }
-    } catch (MutationsRejectedException exception) {
+    } catch (MutationsRejectedException | RuntimeException exception) {
       log.warn("Problem flushing traces, resetting writer. Set log level to DEBUG to see stacktrace. cause: " + exception);
       log.debug("flushing traces failed due to exception", exception);
       resetWriter();
       /* XXX e.g. if the writer was closed between when we grabbed it and when we called flush. */
-    } catch (RuntimeException exception) {
-      log.warn("Problem flushing traces, resetting writer. Set log level to DEBUG to see stacktrace. cause: " + exception);
-      log.debug("flushing traces failed due to exception", exception);
-      resetWriter();
     }
   }
 
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/InMemoryMap.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/InMemoryMap.java
index cba5c7679f..04f79efeb1 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/InMemoryMap.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/InMemoryMap.java
@@ -311,7 +311,7 @@ public void mutate(List<Mutation> mutations, int kvCount) {
       partitioner = new LocalityGroupUtil.Partitioner(this.groupFams);
 
       for (int i = 0; i < partitioned.length; i++) {
-        partitioned.set(i, new ArrayList<Mutation>());
+        partitioned.set(i, new ArrayList<>());
       }
     }
 
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletIteratorEnvironment.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletIteratorEnvironment.java
index 445391e11f..f27481119c 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletIteratorEnvironment.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletIteratorEnvironment.java
@@ -85,7 +85,7 @@ private TabletIteratorEnvironment(IteratorScope scope, AccumuloConfiguration con
 
   public TabletIteratorEnvironment(IteratorScope scope, AccumuloConfiguration config, ScanFileManager trm, Map<FileRef,DataFileValue> files,
       Authorizations authorizations, SamplerConfigurationImpl samplerConfig) {
-    this(scope, config, trm, files, authorizations, samplerConfig, new ArrayList<SortedKeyValueIterator<Key,Value>>());
+    this(scope, config, trm, files, authorizations, samplerConfig, new ArrayList<>());
   }
 
   public TabletIteratorEnvironment(IteratorScope scope, boolean fullMajC, AccumuloConfiguration config) {
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java
index 87fce6cab3..0466c7581b 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java
@@ -810,7 +810,7 @@ private void setUpdateTablet(UpdateSession us, KeyExtent keyExtent) {
           us.authTimes.addStat(t2 - t1);
           us.currentTablet = onlineTablets.get(keyExtent);
           if (us.currentTablet != null) {
-            us.queuedMutations.put(us.currentTablet, new ArrayList<Mutation>());
+            us.queuedMutations.put(us.currentTablet, new ArrayList<>());
           } else {
             // not serving tablet, so report all mutations as
             // failures
@@ -978,9 +978,7 @@ private void flush(UpdateSession us) {
               us.walogTimes.addStat(t2 - t1);
               updateWalogWriteTime((t2 - t1));
               break;
-            } catch (IOException ex) {
-              log.warn("logging mutations failed, retrying");
-            } catch (FSError ex) { // happens when DFS is localFS
+            } catch (IOException | FSError ex) {
               log.warn("logging mutations failed, retrying");
             } catch (Throwable t) {
               log.error("Unknown exception logging mutations, counts for mutations in flight not decremented!", t);
@@ -1022,7 +1020,7 @@ private void flush(UpdateSession us) {
       } finally {
         us.queuedMutations.clear();
         if (us.currentTablet != null) {
-          us.queuedMutations.put(us.currentTablet, new ArrayList<Mutation>());
+          us.queuedMutations.put(us.currentTablet, new ArrayList<>());
         }
         updateTotalQueuedMutationSize(-us.queuedMutationSize);
         us.queuedMutationSize = 0;
@@ -1267,9 +1265,7 @@ private void writeConditionalMutations(Map<KeyExtent,List<ServerConditionalMutat
             long t2 = System.currentTimeMillis();
             updateWalogWriteTime(t2 - t1);
             break;
-          } catch (IOException ex) {
-            log.warn("logging mutations failed, retrying");
-          } catch (FSError ex) { // happens when DFS is localFS
+          } catch (IOException | FSError ex) {
             log.warn("logging mutations failed, retrying");
           } catch (Throwable t) {
             log.error("Unknown exception logging mutations, counts for mutations in flight not decremented!", t);
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServerResourceManager.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServerResourceManager.java
index be1e01999f..2e03a67c65 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServerResourceManager.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServerResourceManager.java
@@ -143,7 +143,7 @@ private ExecutorService createEs(int max, String name) {
   }
 
   private ExecutorService createEs(Property max, String name) {
-    return createEs(max, name, new LinkedBlockingQueue<Runnable>());
+    return createEs(max, name, new LinkedBlockingQueue<>());
   }
 
   private ExecutorService createIdlingEs(Property max, String name, long timeout, TimeUnit timeUnit) {
@@ -161,7 +161,7 @@ private ExecutorService createEs(Property max, String name, BlockingQueue<Runnab
   }
 
   private ExecutorService createEs(int min, int max, int timeout, String name) {
-    return addEs(name, new ThreadPoolExecutor(min, max, timeout, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>(), new NamingThreadFactory(name)));
+    return addEs(name, new ThreadPoolExecutor(min, max, timeout, TimeUnit.SECONDS, new LinkedBlockingQueue<>(), new NamingThreadFactory(name)));
   }
 
   public TabletServerResourceManager(TabletServer tserver, VolumeManager fs) {
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/WriteTracker.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/WriteTracker.java
index c999c0924f..98607587b3 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/WriteTracker.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/WriteTracker.java
@@ -43,7 +43,7 @@
 
   WriteTracker() {
     for (TabletType ttype : TabletType.values()) {
-      inProgressWrites.put(ttype, new TreeSet<Long>());
+      inProgressWrites.put(ttype, new TreeSet<>());
     }
   }
 
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Compactor.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Compactor.java
index c8869bcbb2..70064f2107 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Compactor.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Compactor.java
@@ -243,10 +243,7 @@ public CompactionStats call() throws IOException, CompactionCanceledException {
 
       majCStats.setFileSize(mfwTmp.getLength());
       return majCStats;
-    } catch (IOException e) {
-      log.error("{}", e.getMessage(), e);
-      throw e;
-    } catch (RuntimeException e) {
+    } catch (IOException | RuntimeException e) {
       log.error("{}", e.getMessage(), e);
       throw e;
     } finally {
@@ -267,10 +264,8 @@ public CompactionStats call() throws IOException, CompactionCanceledException {
                 log.error("Unable to delete {}", outputFile);
           }
         }
-      } catch (IOException e) {
+      } catch (IOException | RuntimeException e) {
         log.warn("{}", e.getMessage(), e);
-      } catch (RuntimeException exception) {
-        log.warn("{}", exception.getMessage(), exception);
       }
     }
   }
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Scanner.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Scanner.java
index bf3ba86f3d..04b0236ad2 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Scanner.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Scanner.java
@@ -99,7 +99,7 @@ public ScanBatch read() throws IOException, TabletClosedException {
 
       if (results.getResults() == null) {
         range = null;
-        return new ScanBatch(new ArrayList<KVEntry>(), false);
+        return new ScanBatch(new ArrayList<>(), false);
       } else if (results.getContinueKey() == null) {
         return new ScanBatch(results.getResults(), false);
       } else {
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java
index 647587c796..82132cdadb 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java
@@ -868,11 +868,7 @@ DataFileValue minorCompact(VolumeManager fs, InMemoryMap memTable, FileRef tmpDa
         span.stop();
       }
       return new DataFileValue(stats.getFileSize(), stats.getEntriesWritten());
-    } catch (Exception e) {
-      failed = true;
-      throw new RuntimeException(e);
-    } catch (Error e) {
-      // Weird errors like "OutOfMemoryError" when trying to create the thread for the compaction
+    } catch (Exception | Error e) {
       failed = true;
       throw new RuntimeException(e);
     } finally {
@@ -1043,10 +1039,8 @@ public long getFlushID() throws NoNodeException {
       String zTablePath = Constants.ZROOT + "/" + tabletServer.getInstance().getInstanceID() + Constants.ZTABLES + "/" + extent.getTableId()
           + Constants.ZTABLE_FLUSH_ID;
       return Long.parseLong(new String(ZooReaderWriter.getInstance().getData(zTablePath, null), UTF_8));
-    } catch (InterruptedException e) {
+    } catch (InterruptedException | NumberFormatException e) {
       throw new RuntimeException(e);
-    } catch (NumberFormatException nfe) {
-      throw new RuntimeException(nfe);
     } catch (KeeperException ke) {
       if (ke instanceof NoNodeException) {
         throw (NoNodeException) ke;
@@ -1062,9 +1056,7 @@ long getCompactionCancelID() {
 
     try {
       return Long.parseLong(new String(ZooReaderWriter.getInstance().getData(zTablePath, null), UTF_8));
-    } catch (KeeperException e) {
-      throw new RuntimeException(e);
-    } catch (InterruptedException e) {
+    } catch (KeeperException | InterruptedException e) {
       throw new RuntimeException(e);
     }
   }
@@ -1099,18 +1091,14 @@ long getCompactionCancelID() {
       }
 
       return new Pair<>(compactID, compactionConfig);
-    } catch (InterruptedException e) {
+    } catch (InterruptedException | DecoderException | NumberFormatException e) {
       throw new RuntimeException(e);
-    } catch (NumberFormatException nfe) {
-      throw new RuntimeException(nfe);
     } catch (KeeperException ke) {
       if (ke instanceof NoNodeException) {
         throw (NoNodeException) ke;
       } else {
         throw new RuntimeException(ke);
       }
-    } catch (DecoderException e) {
-      throw new RuntimeException(e);
     }
   }
 
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 b8b4eacf7a..708561ed4b 100644
--- a/shell/src/main/java/org/apache/accumulo/shell/Shell.java
+++ b/shell/src/main/java/org/apache/accumulo/shell/Shell.java
@@ -654,13 +654,10 @@ public void run() {
     ShellCompletor userCompletor = null;
 
     if (execFile != null) {
-      java.util.Scanner scanner = new java.util.Scanner(execFile, UTF_8.name());
-      try {
+      try (java.util.Scanner scanner = new java.util.Scanner(execFile, UTF_8.name())) {
         while (scanner.hasNextLine() && !hasExited()) {
           execCommand(scanner.nextLine(), true, isVerbose());
         }
-      } finally {
-        scanner.close();
       }
     } else if (execCommand != null) {
       for (String command : execCommand.split("\n")) {
diff --git a/shell/src/main/java/org/apache/accumulo/shell/ShellUtil.java b/shell/src/main/java/org/apache/accumulo/shell/ShellUtil.java
index 0cdaf188e0..9ec9670a6a 100644
--- a/shell/src/main/java/org/apache/accumulo/shell/ShellUtil.java
+++ b/shell/src/main/java/org/apache/accumulo/shell/ShellUtil.java
@@ -43,17 +43,14 @@
    */
   public static List<Text> scanFile(String filename, boolean decode) throws FileNotFoundException {
     String line;
-    Scanner file = new Scanner(new File(filename), UTF_8.name());
     List<Text> result = new ArrayList<>();
-    try {
+    try (Scanner file = new Scanner(new File(filename), UTF_8.name())) {
       while (file.hasNextLine()) {
         line = file.nextLine();
         if (!line.isEmpty()) {
           result.add(decode ? new Text(Base64.getDecoder().decode(line)) : new Text(line));
         }
       }
-    } finally {
-      file.close();
     }
     return result;
   }
diff --git a/shell/src/main/java/org/apache/accumulo/shell/commands/ExecfileCommand.java b/shell/src/main/java/org/apache/accumulo/shell/commands/ExecfileCommand.java
index 9d6278ee26..5bf0aafdcf 100644
--- a/shell/src/main/java/org/apache/accumulo/shell/commands/ExecfileCommand.java
+++ b/shell/src/main/java/org/apache/accumulo/shell/commands/ExecfileCommand.java
@@ -37,13 +37,10 @@ public String description() {
 
   @Override
   public int execute(final String fullCommand, final CommandLine cl, final Shell shellState) throws Exception {
-    Scanner scanner = new Scanner(new File(cl.getArgs()[0]), UTF_8.name());
-    try {
+    try (Scanner scanner = new Scanner(new File(cl.getArgs()[0]), UTF_8.name())) {
       while (scanner.hasNextLine()) {
         shellState.execCommand(scanner.nextLine(), true, cl.hasOption(verboseOption.getOpt()));
       }
-    } finally {
-      scanner.close();
     }
     return 0;
   }
diff --git a/shell/src/main/java/org/apache/accumulo/shell/commands/GetSplitsCommand.java b/shell/src/main/java/org/apache/accumulo/shell/commands/GetSplitsCommand.java
index cae7af2aa9..e6d9560629 100644
--- a/shell/src/main/java/org/apache/accumulo/shell/commands/GetSplitsCommand.java
+++ b/shell/src/main/java/org/apache/accumulo/shell/commands/GetSplitsCommand.java
@@ -62,9 +62,7 @@ public int execute(final String fullCommand, final CommandLine cl, final Shell s
     final boolean encode = cl.hasOption(base64Opt.getOpt());
     final boolean verbose = cl.hasOption(verboseOpt.getOpt());
 
-    final PrintLine p = outputFile == null ? new PrintShell(shellState.getReader()) : new PrintFile(outputFile);
-
-    try {
+    try (PrintLine p = outputFile == null ? new PrintShell(shellState.getReader()) : new PrintFile(outputFile)) {
       if (!verbose) {
         for (Text row : maxSplits > 0 ? shellState.getConnector().tableOperations().listSplits(tableName, maxSplits) : shellState.getConnector()
             .tableOperations().listSplits(tableName)) {
@@ -91,8 +89,6 @@ public int execute(final String fullCommand, final CommandLine cl, final Shell s
         }
       }
 
-    } finally {
-      p.close();
     }
 
     return 0;
diff --git a/shell/src/main/java/org/apache/accumulo/shell/commands/SetIterCommand.java b/shell/src/main/java/org/apache/accumulo/shell/commands/SetIterCommand.java
index fffdf21f8f..a3bdf723cd 100644
--- a/shell/src/main/java/org/apache/accumulo/shell/commands/SetIterCommand.java
+++ b/shell/src/main/java/org/apache/accumulo/shell/commands/SetIterCommand.java
@@ -210,9 +210,7 @@ private static String setUpOptions(ClassLoader classloader, final ConsoleReader
         msg.append("; class not found.");
       }
       throw new ShellCommandException(ErrorCode.INITIALIZATION_FAILURE, msg.toString());
-    } catch (InstantiationException e) {
-      throw new IllegalArgumentException(e.getMessage());
-    } catch (IllegalAccessException e) {
+    } catch (InstantiationException | IllegalAccessException e) {
       throw new IllegalArgumentException(e.getMessage());
     } catch (ClassCastException e) {
       StringBuilder msg = new StringBuilder(50);
diff --git a/shell/src/main/java/org/apache/accumulo/shell/commands/ShellPluginConfigurationCommand.java b/shell/src/main/java/org/apache/accumulo/shell/commands/ShellPluginConfigurationCommand.java
index 3ccf5929ad..1274e2f857 100644
--- a/shell/src/main/java/org/apache/accumulo/shell/commands/ShellPluginConfigurationCommand.java
+++ b/shell/src/main/java/org/apache/accumulo/shell/commands/ShellPluginConfigurationCommand.java
@@ -94,9 +94,7 @@ protected void removePlugin(final CommandLine cl, final Shell shellState, final
     Iterator<Entry<String,String>> props;
     try {
       props = shellState.getConnector().tableOperations().getProperties(tableName).iterator();
-    } catch (AccumuloException e) {
-      return null;
-    } catch (TableNotFoundException e) {
+    } catch (AccumuloException | TableNotFoundException e) {
       return null;
     }
 
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
index 9f44d151d3..16c37d2c02 100644
--- a/shell/src/main/java/org/apache/accumulo/shell/mock/MockShell.java
+++ b/shell/src/main/java/org/apache/accumulo/shell/mock/MockShell.java
@@ -88,13 +88,10 @@ public int start() throws IOException {
       printInfo();
 
     if (execFile != null) {
-      java.util.Scanner scanner = new java.util.Scanner(execFile, UTF_8.name());
-      try {
+      try (java.util.Scanner scanner = new java.util.Scanner(execFile, UTF_8.name())) {
         while (scanner.hasNextLine() && !hasExited()) {
           execCommand(scanner.nextLine(), true, isVerbose());
         }
-      } finally {
-        scanner.close();
       }
     } else if (execCommand != null) {
       for (String command : execCommand.split("\n")) {
diff --git a/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java b/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java
index 9bc8e70c76..d8b387694c 100644
--- a/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java
+++ b/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java
@@ -118,7 +118,7 @@ public void run() {
   }
 
   static FileObject[] resolve(FileSystemManager vfs, String uris) throws FileSystemException {
-    return resolve(vfs, uris, new ArrayList<FileObject>());
+    return resolve(vfs, uris, new ArrayList<>());
   }
 
   static FileObject[] resolve(FileSystemManager vfs, String uris, ArrayList<FileObject> pathsToMonitor) throws FileSystemException {
diff --git a/start/src/main/java/org/apache/accumulo/start/classloader/vfs/MiniDFSUtil.java b/start/src/main/java/org/apache/accumulo/start/classloader/vfs/MiniDFSUtil.java
index fe20d8fe37..ebae7fdc1c 100644
--- a/start/src/main/java/org/apache/accumulo/start/classloader/vfs/MiniDFSUtil.java
+++ b/start/src/main/java/org/apache/accumulo/start/classloader/vfs/MiniDFSUtil.java
@@ -29,8 +29,7 @@ public static String computeDatanodeDirectoryPermission() {
     // with the correct permissions.
     try {
       Process p = Runtime.getRuntime().exec("/bin/sh -c umask");
-      BufferedReader bri = new BufferedReader(new InputStreamReader(p.getInputStream()));
-      try {
+      try (BufferedReader bri = new BufferedReader(new InputStreamReader(p.getInputStream()))) {
         String line = bri.readLine();
         p.waitFor();
 
@@ -43,8 +42,6 @@ public static String computeDatanodeDirectoryPermission() {
         int newPermission = 0777 ^ umask;
 
         return String.format("%03o", newPermission);
-      } finally {
-        bri.close();
       }
     } catch (Exception e) {
       throw new RuntimeException("Error getting umask from O/S", e);
diff --git a/test/src/main/java/org/apache/accumulo/test/CompactionRateLimitingIT.java b/test/src/main/java/org/apache/accumulo/test/CompactionRateLimitingIT.java
index 075dd30059..af216d060b 100644
--- a/test/src/main/java/org/apache/accumulo/test/CompactionRateLimitingIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/CompactionRateLimitingIT.java
@@ -47,8 +47,7 @@ public void majorCompactionsAreRateLimited() throws Exception {
     String tableName = getUniqueNames(1)[0];
     Connector conn = getCluster().getConnector("root", new PasswordToken(ROOT_PASSWORD));
     conn.tableOperations().create(tableName);
-    BatchWriter bw = conn.createBatchWriter(tableName, new BatchWriterConfig());
-    try {
+    try (BatchWriter bw = conn.createBatchWriter(tableName, new BatchWriterConfig())) {
       Random r = new Random();
       while (bytesWritten < BYTES_TO_WRITE) {
         byte[] rowKey = new byte[32];
@@ -66,8 +65,6 @@ public void majorCompactionsAreRateLimited() throws Exception {
 
         bytesWritten += rowKey.length + qual.length + value.length;
       }
-    } finally {
-      bw.close();
     }
 
     conn.tableOperations().flush(tableName, null, null, true);
diff --git a/test/src/main/java/org/apache/accumulo/test/ConditionalWriterIT.java b/test/src/main/java/org/apache/accumulo/test/ConditionalWriterIT.java
index 95ee5bf806..21c3799231 100644
--- a/test/src/main/java/org/apache/accumulo/test/ConditionalWriterIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/ConditionalWriterIT.java
@@ -431,7 +431,7 @@ public void testConstraints() throws Exception {
 
     conn.tableOperations().create(tableName);
     conn.tableOperations().addConstraint(tableName, AlphaNumKeyConstraint.class.getName());
-    conn.tableOperations().clone(tableName, tableName + "_clone", true, new HashMap<String,String>(), new HashSet<String>());
+    conn.tableOperations().clone(tableName, tableName + "_clone", true, new HashMap<>(), new HashSet<>());
 
     try (ConditionalWriter cw = conn.createConditionalWriter(tableName + "_clone", new ConditionalWriterConfig());
         Scanner scanner = conn.createScanner(tableName + "_clone", new Authorizations())) {
@@ -863,7 +863,7 @@ public void testBatchErrors() throws Exception {
 
     conn.tableOperations().create(tableName);
     conn.tableOperations().addConstraint(tableName, AlphaNumKeyConstraint.class.getName());
-    conn.tableOperations().clone(tableName, tableName + "_clone", true, new HashMap<String,String>(), new HashSet<String>());
+    conn.tableOperations().clone(tableName, tableName + "_clone", true, new HashMap<>(), new HashSet<>());
 
     conn.securityOperations().changeUserAuthorizations(getAdminPrincipal(), new Authorizations("A", "B"));
 
diff --git a/test/src/main/java/org/apache/accumulo/test/InMemoryMapIT.java b/test/src/main/java/org/apache/accumulo/test/InMemoryMapIT.java
index 797f106d46..cec70f8660 100644
--- a/test/src/main/java/org/apache/accumulo/test/InMemoryMapIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/InMemoryMapIT.java
@@ -291,7 +291,7 @@ private int countKVPairs(List<Mutation> mutations) {
 
     List<MemKey> memKeys = new ArrayList<>();
     try {
-      skvi.seek(new Range(), new ArrayList<ByteSequence>(), false); // everything
+      skvi.seek(new Range(), new ArrayList<>(), false); // everything
       while (skvi.hasTop()) {
         memKeys.add((MemKey) skvi.getTopKey());
         skvi.next();
diff --git a/test/src/main/java/org/apache/accumulo/test/NamespacesIT.java b/test/src/main/java/org/apache/accumulo/test/NamespacesIT.java
index 85b55b5d4d..2c3b317dfb 100644
--- a/test/src/main/java/org/apache/accumulo/test/NamespacesIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/NamespacesIT.java
@@ -1131,7 +1131,7 @@ public void verifyTableOperationsExceptions() throws Exception {
             fail();
             break;
           case 1:
-            ops.addSplits(tableName, new TreeSet<Text>());
+            ops.addSplits(tableName, new TreeSet<>());
             fail();
             break;
           case 2:
diff --git a/test/src/main/java/org/apache/accumulo/test/TestMultiTableIngest.java b/test/src/main/java/org/apache/accumulo/test/TestMultiTableIngest.java
index e62299722a..0e49d5915d 100644
--- a/test/src/main/java/org/apache/accumulo/test/TestMultiTableIngest.java
+++ b/test/src/main/java/org/apache/accumulo/test/TestMultiTableIngest.java
@@ -83,9 +83,7 @@ public static void main(String[] args) throws Exception {
     Connector connector;
     try {
       connector = opts.getConnector();
-    } catch (AccumuloException e) {
-      throw new RuntimeException(e);
-    } catch (AccumuloSecurityException e) {
+    } catch (AccumuloException | AccumuloSecurityException e) {
       throw new RuntimeException(e);
     }
     for (int i = 0; i < opts.tables; i++) {
diff --git a/test/src/main/java/org/apache/accumulo/test/VolumeIT.java b/test/src/main/java/org/apache/accumulo/test/VolumeIT.java
index 69fd79470a..e9473fc820 100644
--- a/test/src/main/java/org/apache/accumulo/test/VolumeIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/VolumeIT.java
@@ -505,7 +505,7 @@ public void testRemoveVolumes() throws Exception {
     String rootTabletDir = new String(zreader.getData(zpath, false, null), UTF_8);
     Assert.assertTrue(rootTabletDir.startsWith(v2.toString()));
 
-    conn.tableOperations().clone(tableNames[0], tableNames[1], true, new HashMap<String,String>(), new HashSet<String>());
+    conn.tableOperations().clone(tableNames[0], tableNames[1], true, new HashMap<>(), new HashSet<>());
 
     conn.tableOperations().flush(MetadataTable.NAME, null, null, true);
     conn.tableOperations().flush(RootTable.NAME, null, null, true);
@@ -566,7 +566,7 @@ private void testReplaceVolume(boolean cleanShutdown) throws Exception {
     String rootTabletDir = new String(zreader.getData(zpath, false, null), UTF_8);
     Assert.assertTrue(rootTabletDir.startsWith(v8.toString()) || rootTabletDir.startsWith(v9.toString()));
 
-    getConnector().tableOperations().clone(tableNames[1], tableNames[2], true, new HashMap<String,String>(), new HashSet<String>());
+    getConnector().tableOperations().clone(tableNames[1], tableNames[2], true, new HashMap<>(), new HashSet<>());
 
     getConnector().tableOperations().flush(MetadataTable.NAME, null, null, true);
     getConnector().tableOperations().flush(RootTable.NAME, null, null, true);
diff --git a/test/src/main/java/org/apache/accumulo/test/functional/ConcurrentDeleteTableIT.java b/test/src/main/java/org/apache/accumulo/test/functional/ConcurrentDeleteTableIT.java
index 52fc57f61a..d2171b4567 100644
--- a/test/src/main/java/org/apache/accumulo/test/functional/ConcurrentDeleteTableIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/functional/ConcurrentDeleteTableIT.java
@@ -255,16 +255,13 @@ protected void doTableOp() throws Exception {
   }
 
   private void writeData(Connector c, String table) throws TableNotFoundException, MutationsRejectedException {
-    BatchWriter bw = c.createBatchWriter(table, new BatchWriterConfig());
-    try {
+    try (BatchWriter bw = c.createBatchWriter(table, new BatchWriterConfig())) {
       Random rand = new Random();
       for (int i = 0; i < 1000; i++) {
         Mutation m = new Mutation(String.format("%09x", rand.nextInt(100000 * 1000)));
         m.put("m", "order", "" + i);
         bw.addMutation(m);
       }
-    } finally {
-      bw.close();
     }
   }
 }
diff --git a/test/src/main/java/org/apache/accumulo/test/functional/ReadWriteIT.java b/test/src/main/java/org/apache/accumulo/test/functional/ReadWriteIT.java
index 5712112dbc..072c85ce7e 100644
--- a/test/src/main/java/org/apache/accumulo/test/functional/ReadWriteIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/functional/ReadWriteIT.java
@@ -447,9 +447,8 @@ private void verifyLocalityGroupsInRFile(final Connector connector, final String
       for (Entry<Key,Value> entry : bscanner) {
         foundFile = true;
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        PrintStream newOut = new PrintStream(baos);
         PrintStream oldOut = System.out;
-        try {
+        try (PrintStream newOut = new PrintStream(baos)) {
           System.setOut(newOut);
           List<String> args = new ArrayList<>();
           args.add(entry.getKey().getColumnQualifier().toString());
@@ -467,7 +466,6 @@ private void verifyLocalityGroupsInRFile(final Connector connector, final String
           assertTrue(stdout.contains("Locality group           : g1"));
           assertTrue(stdout.contains("families        : [colf]"));
         } finally {
-          newOut.close();
           System.setOut(oldOut);
         }
       }
diff --git a/test/src/main/java/org/apache/accumulo/test/functional/ScanIdIT.java b/test/src/main/java/org/apache/accumulo/test/functional/ScanIdIT.java
index 3b3a1ede66..980993ba37 100644
--- a/test/src/main/java/org/apache/accumulo/test/functional/ScanIdIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/functional/ScanIdIT.java
@@ -296,11 +296,7 @@ private void addSplits(final Connector conn, final String tableName) {
         log.trace("Split {}", split);
       }
 
-    } catch (AccumuloSecurityException e) {
-      throw new IllegalStateException("Initialization failed. Could not add splits to " + tableName, e);
-    } catch (TableNotFoundException e) {
-      throw new IllegalStateException("Initialization failed. Could not add splits to " + tableName, e);
-    } catch (AccumuloException e) {
+    } catch (AccumuloSecurityException | AccumuloException | TableNotFoundException e) {
       throw new IllegalStateException("Initialization failed. Could not add splits to " + tableName, e);
     }
 
@@ -354,9 +350,7 @@ private void generateSampleData(Connector connector, final String tablename) {
       }
 
       bw.close();
-    } catch (TableNotFoundException ex) {
-      throw new IllegalStateException("Initialization failed. Could not create test data", ex);
-    } catch (MutationsRejectedException ex) {
+    } catch (TableNotFoundException | MutationsRejectedException ex) {
       throw new IllegalStateException("Initialization failed. Could not create test data", ex);
     }
   }
@@ -377,11 +371,7 @@ private void attachSlowIterator(Connector connector, final String tablename) {
 
       connector.tableOperations().attachIterator(tablename, slowIter, EnumSet.of(IteratorUtil.IteratorScope.scan));
 
-    } catch (AccumuloException ex) {
-      throw new IllegalStateException("Initialization failed. Could not attach slow iterator", ex);
-    } catch (TableNotFoundException ex) {
-      throw new IllegalStateException("Initialization failed. Could not attach slow iterator", ex);
-    } catch (AccumuloSecurityException ex) {
+    } catch (AccumuloException | AccumuloSecurityException | TableNotFoundException ex) {
       throw new IllegalStateException("Initialization failed. Could not attach slow iterator", ex);
     }
   }
diff --git a/test/src/main/java/org/apache/accumulo/test/functional/SplitRecoveryIT.java b/test/src/main/java/org/apache/accumulo/test/functional/SplitRecoveryIT.java
index c8d0fdae0e..99d9def1f3 100644
--- a/test/src/main/java/org/apache/accumulo/test/functional/SplitRecoveryIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/functional/SplitRecoveryIT.java
@@ -60,7 +60,6 @@
 import org.apache.accumulo.server.master.state.Assignment;
 import org.apache.accumulo.server.master.state.TServerInstance;
 import org.apache.accumulo.server.tablets.TabletTime;
-import org.apache.accumulo.server.util.FileUtil;
 import org.apache.accumulo.server.util.MasterMetadataUtil;
 import org.apache.accumulo.server.util.MetadataTableUtil;
 import org.apache.accumulo.server.zookeeper.TransactionWatcher;
@@ -167,8 +166,7 @@ private void splitPartiallyAndRecover(AccumuloServerContext context, KeyExtent e
     SortedMap<FileRef,DataFileValue> highDatafileSizes = new TreeMap<>();
     List<FileRef> highDatafilesToRemove = new ArrayList<>();
 
-    MetadataTableUtil.splitDatafiles(midRow, splitRatio, new HashMap<FileRef,FileUtil.FileInfo>(), mapFiles, lowDatafileSizes, highDatafileSizes,
-        highDatafilesToRemove);
+    MetadataTableUtil.splitDatafiles(midRow, splitRatio, new HashMap<>(), mapFiles, lowDatafileSizes, highDatafileSizes, highDatafilesToRemove);
 
     MetadataTableUtil.splitTablet(high, extent.getPrevEndRow(), splitRatio, context, zl);
     TServerInstance instance = new TServerInstance(location, zl.getSessionId());
diff --git a/test/src/main/java/org/apache/accumulo/test/functional/SummaryIT.java b/test/src/main/java/org/apache/accumulo/test/functional/SummaryIT.java
index f17ac832be..b4f1d116ef 100644
--- a/test/src/main/java/org/apache/accumulo/test/functional/SummaryIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/functional/SummaryIT.java
@@ -127,7 +127,7 @@ private void checkSummaries(Collection<Summary> summaries, SummarizerConfigurati
   }
 
   private void addSplits(final String table, Connector c, String... splits) throws TableNotFoundException, AccumuloException, AccumuloSecurityException {
-    c.tableOperations().addSplits(table, new TreeSet<Text>(Lists.transform(Arrays.asList(splits), Text::new)));
+    c.tableOperations().addSplits(table, new TreeSet<>(Lists.transform(Arrays.asList(splits), Text::new)));
   }
 
   @Test
diff --git a/test/src/main/java/org/apache/accumulo/test/functional/WatchTheWatchCountIT.java b/test/src/main/java/org/apache/accumulo/test/functional/WatchTheWatchCountIT.java
index fc0937fdfc..954a39fe2f 100644
--- a/test/src/main/java/org/apache/accumulo/test/functional/WatchTheWatchCountIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/functional/WatchTheWatchCountIT.java
@@ -55,8 +55,7 @@ public void test() throws Exception {
     long total = 0;
     final HostAndPort hostAndPort = HostAndPort.fromString(zooKeepers);
     for (int i = 0; i < 5; i++) {
-      Socket socket = new Socket(hostAndPort.getHost(), hostAndPort.getPort());
-      try {
+      try (Socket socket = new Socket(hostAndPort.getHost(), hostAndPort.getPort())) {
         socket.getOutputStream().write("wchs\n".getBytes(), 0, 5);
         byte[] buffer = new byte[1024];
         int n = socket.getInputStream().read(buffer);
@@ -68,8 +67,6 @@ public void test() throws Exception {
         }
         log.debug("Expected number of watchers to be contained in ({}, {}), but actually was {}. Sleeping and retrying", MIN, MAX, total);
         Thread.sleep(5000);
-      } finally {
-        socket.close();
       }
     }
 
diff --git a/test/src/main/java/org/apache/accumulo/test/functional/WriteLotsIT.java b/test/src/main/java/org/apache/accumulo/test/functional/WriteLotsIT.java
index 2c5a2d1b5d..c38f1782c7 100644
--- a/test/src/main/java/org/apache/accumulo/test/functional/WriteLotsIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/functional/WriteLotsIT.java
@@ -45,7 +45,7 @@ public void writeLots() throws Exception {
     final AtomicReference<Exception> ref = new AtomicReference<>();
     final ClientConfiguration clientConfig = getCluster().getClientConfig();
     final int THREADS = 5;
-    ThreadPoolExecutor tpe = new ThreadPoolExecutor(0, THREADS, 0, TimeUnit.SECONDS, new ArrayBlockingQueue<Runnable>(THREADS));
+    ThreadPoolExecutor tpe = new ThreadPoolExecutor(0, THREADS, 0, TimeUnit.SECONDS, new ArrayBlockingQueue<>(THREADS));
     for (int i = 0; i < THREADS; i++) {
       final int index = i;
       Runnable r = new Runnable() {
diff --git a/test/src/main/java/org/apache/accumulo/test/gc/replication/CloseWriteAheadLogReferencesIT.java b/test/src/main/java/org/apache/accumulo/test/gc/replication/CloseWriteAheadLogReferencesIT.java
index d8f2903641..67f5e62503 100644
--- a/test/src/main/java/org/apache/accumulo/test/gc/replication/CloseWriteAheadLogReferencesIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/gc/replication/CloseWriteAheadLogReferencesIT.java
@@ -92,7 +92,7 @@ public void setupEasyMockStuff() {
     expect(mockInst.getInstanceID()).andReturn(testName.getMethodName()).anyTimes();
     expect(mockInst.getZooKeepers()).andReturn("localhost").anyTimes();
     expect(mockInst.getZooKeepersSessionTimeOut()).andReturn(30000).anyTimes();
-    final AccumuloConfiguration systemConf = new ConfigurationCopy(new HashMap<String,String>());
+    final AccumuloConfiguration systemConf = new ConfigurationCopy(new HashMap<>());
     ServerConfigurationFactory factory = createMock(ServerConfigurationFactory.class);
     expect(factory.getSystemConfiguration()).andReturn(systemConf).anyTimes();
     expect(factory.getSiteConfiguration()).andReturn(siteConfig).anyTimes();
diff --git a/test/src/main/java/org/apache/accumulo/test/performance/scan/CollectTabletStats.java b/test/src/main/java/org/apache/accumulo/test/performance/scan/CollectTabletStats.java
index 8040beb17a..4d0de28191 100644
--- a/test/src/main/java/org/apache/accumulo/test/performance/scan/CollectTabletStats.java
+++ b/test/src/main/java/org/apache/accumulo/test/performance/scan/CollectTabletStats.java
@@ -422,7 +422,7 @@ private static void reportHdfsBlockLocations(List<FileRef> files) throws Excepti
       Authorizations authorizations, byte[] defaultLabels, HashSet<Column> columnSet, List<IterInfo> ssiList, Map<String,Map<String,String>> ssio,
       boolean useTableIterators, TableConfiguration conf) throws IOException {
 
-    SortedMapIterator smi = new SortedMapIterator(new TreeMap<Key,Value>());
+    SortedMapIterator smi = new SortedMapIterator(new TreeMap<>());
 
     List<SortedKeyValueIterator<Key,Value>> iters = new ArrayList<>(mapfiles.size() + 1);
 
@@ -486,7 +486,7 @@ private static int readFilesUsingIterStack(VolumeManager fs, ServerConfiguration
     List<IterInfo> emptyIterinfo = Collections.emptyList();
     Map<String,Map<String,String>> emptySsio = Collections.emptyMap();
     TableConfiguration tconf = aconf.getTableConfiguration(ke.getTableId());
-    reader = createScanIterator(ke, readers, auths, new byte[] {}, new HashSet<Column>(), emptyIterinfo, emptySsio, useTableIterators, tconf);
+    reader = createScanIterator(ke, readers, auths, new byte[] {}, new HashSet<>(), emptyIterinfo, emptySsio, useTableIterators, tconf);
 
     HashSet<ByteSequence> columnSet = createColumnBSS(columns);
 
diff --git a/test/src/main/java/org/apache/accumulo/test/performance/thrift/NullTserver.java b/test/src/main/java/org/apache/accumulo/test/performance/thrift/NullTserver.java
index cb9ee98969..af8afd4afb 100644
--- a/test/src/main/java/org/apache/accumulo/test/performance/thrift/NullTserver.java
+++ b/test/src/main/java/org/apache/accumulo/test/performance/thrift/NullTserver.java
@@ -113,7 +113,7 @@ public void applyUpdates(TInfo tinfo, long updateID, TKeyExtent keyExtent, List<
 
     @Override
     public UpdateErrors closeUpdate(TInfo tinfo, long updateID) {
-      return new UpdateErrors(new HashMap<TKeyExtent,Long>(), new ArrayList<TConstraintViolationSummary>(), new HashMap<TKeyExtent,SecurityErrorCode>());
+      return new UpdateErrors(new HashMap<>(), new ArrayList<>(), new HashMap<>());
     }
 
     @Override
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 21cb599156..0355c530d4 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
@@ -123,7 +123,7 @@ public void namespaceIds() throws TException {
 
   @Test
   public void namespaceIterators() throws TException {
-    IteratorSetting setting = new IteratorSetting(40, "DebugTheThings", "org.apache.accumulo.core.iterators.DebugIterator", new HashMap<String,String>());
+    IteratorSetting setting = new IteratorSetting(40, "DebugTheThings", "org.apache.accumulo.core.iterators.DebugIterator", new HashMap<>());
     Set<IteratorScope> scopes = new HashSet<>();
     scopes.add(IteratorScope.SCAN);
     tpc.proxy().attachNamespaceIterator(userpass, testnamespace, setting, scopes);
@@ -138,7 +138,7 @@ public void namespaceIterators() throws TException {
 
   @Test(expected = AccumuloException.class)
   public void namespaceIteratorConflict() throws TException {
-    IteratorSetting setting = new IteratorSetting(40, "DebugTheThings", "org.apache.accumulo.core.iterators.DebugIterator", new HashMap<String,String>());
+    IteratorSetting setting = new IteratorSetting(40, "DebugTheThings", "org.apache.accumulo.core.iterators.DebugIterator", new HashMap<>());
     Set<IteratorScope> scopes = new HashSet<>();
     scopes.add(IteratorScope.SCAN);
     tpc.proxy().attachNamespaceIterator(userpass, testnamespace, setting, scopes);


 

----------------------------------------------------------------
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