Merge branch '2.1'
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/ScanServer.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/ScanServer.java
index 91d7fdb..da2528e 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/ScanServer.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/ScanServer.java
@@ -522,6 +522,10 @@
         extents);
 
     Map<KeyExtent,TabletMetadata> tabletsMetadata = getTabletMetadata(extents);
+    if (!(tabletsMetadata instanceof HashMap)) {
+      // the map returned by getTabletMetadata may not be mutable
+      tabletsMetadata = new HashMap<>(tabletsMetadata);
+    }
 
     for (KeyExtent extent : extents) {
       var tabletMetadata = tabletsMetadata.get(extent);
@@ -534,10 +538,6 @@
         LOG.info("RFFS {} extent unable to load {} as AssignmentHandler returned false",
             myReservationId, extent);
         failures.add(extent);
-        if (!(tabletsMetadata instanceof HashMap)) {
-          // the map returned by getTabletMetadata may not be mutable
-          tabletsMetadata = new HashMap<>(tabletsMetadata);
-        }
         tabletsMetadata.remove(extent);
       }
     }
@@ -622,14 +622,9 @@
         for (KeyExtent extent : tabletsToCheck) {
           TabletMetadata metadataAfter = tabletsToCheckMetadata.get(extent);
           if (metadataAfter == null) {
-            getContext().getAmple().deleteScanServerFileReferences(refs);
             LOG.info("RFFS {} extent unable to load {} as metadata no longer referencing files",
                 myReservationId, extent);
             failures.add(extent);
-            if (!(tabletsMetadata instanceof HashMap)) {
-              // the map returned by getTabletMetadata may not be mutable
-              tabletsMetadata = new HashMap<>(tabletsMetadata);
-            }
             tabletsMetadata.remove(extent);
           } else {
             // remove files that are still referenced