diff --git a/warehouse/query-core/src/main/java/datawave/core/iterators/DatawaveFieldIndexCachingIteratorJexl.java b/warehouse/query-core/src/main/java/datawave/core/iterators/DatawaveFieldIndexCachingIteratorJexl.java
index 595bd1fd10b..5bb1740a90d 100644
--- a/warehouse/query-core/src/main/java/datawave/core/iterators/DatawaveFieldIndexCachingIteratorJexl.java
+++ b/warehouse/query-core/src/main/java/datawave/core/iterators/DatawaveFieldIndexCachingIteratorJexl.java
@@ -73,7 +73,7 @@
*
* Event key: CF, {datatype}\0{UID}
*/
-public abstract class DatawaveFieldIndexCachingIteratorJexl extends WrappingIterator {
+public abstract class DatawaveFieldIndexCachingIteratorJexl extends WrappingIterator implements AutoCloseable {
public static final Text ANY_FINAME = new Text("fi\0" + Constants.ANY_FIELD);
public static final Text FI_START = new Text("fi\0");
@@ -550,9 +550,8 @@ public void init(SortedKeyValueIterator source, Map op
}
@Override
- protected void finalize() throws Throwable {
+ public void close() {
clearRowBasedHdfsBackedSet();
- super.finalize();
}
@Override
@@ -1286,7 +1285,7 @@ protected Path getRowDir(Path uniqueDir, String row) {
* Clear out the current row-based hdfs backed set
*
*/
- protected void clearRowBasedHdfsBackedSet() {
+ protected void clearRowBasedHdfsBackedSet() {
this.keys = null;
this.currentRow = null;
this.set = null;
diff --git a/warehouse/query-core/src/main/java/datawave/query/metrics/AccumuloRecordWriter.java b/warehouse/query-core/src/main/java/datawave/query/metrics/AccumuloRecordWriter.java
index 2e051bf33a6..bfc55cae939 100644
--- a/warehouse/query-core/src/main/java/datawave/query/metrics/AccumuloRecordWriter.java
+++ b/warehouse/query-core/src/main/java/datawave/query/metrics/AccumuloRecordWriter.java
@@ -37,7 +37,7 @@
import datawave.core.common.connection.AccumuloConnectionFactory.Priority;
import datawave.core.common.util.EnvProvider;
-public class AccumuloRecordWriter extends RecordWriter {
+public class AccumuloRecordWriter extends RecordWriter implements AutoCloseable{
private MultiTableBatchWriter mtbw = null;
private HashMap bws = null;
private Text defaultTableName = null;
@@ -241,9 +241,7 @@ public void close(TaskAttemptContext attempt) throws IOException, InterruptedExc
}
}
- @Override
- protected void finalize() throws Throwable {
- super.finalize();
+ public void close() {
returnConnector();
}
diff --git a/warehouse/query-core/src/main/java/datawave/query/tables/facets/MergedReadAhead.java b/warehouse/query-core/src/main/java/datawave/query/tables/facets/MergedReadAhead.java
index 5487c0c334b..cdd2cd6b967 100644
--- a/warehouse/query-core/src/main/java/datawave/query/tables/facets/MergedReadAhead.java
+++ b/warehouse/query-core/src/main/java/datawave/query/tables/facets/MergedReadAhead.java
@@ -24,7 +24,7 @@
* stopped.
*/
@SuppressWarnings("UnstableApiUsage")
-public class MergedReadAhead extends AbstractExecutionThreadService implements Iterator, Closeable {
+public class MergedReadAhead extends AbstractExecutionThreadService implements Iterator, AutoCloseable {
private static final Logger log = Logger.getLogger(MergedReadAhead.class);
@@ -129,14 +129,6 @@ public void remove() {
throw new UnsupportedOperationException();
}
- public void finalize() throws Throwable {
- try {
- close();
- } finally {
- super.finalize();
- }
- }
-
@Override
public void close() throws IOException {
log.trace("stopping...");
diff --git a/warehouse/query-core/src/main/java/datawave/query/util/sortedmap/FileSortedMap.java b/warehouse/query-core/src/main/java/datawave/query/util/sortedmap/FileSortedMap.java
index d29c2e37150..6807b73fece 100644
--- a/warehouse/query-core/src/main/java/datawave/query/util/sortedmap/FileSortedMap.java
+++ b/warehouse/query-core/src/main/java/datawave/query/util/sortedmap/FileSortedMap.java
@@ -41,7 +41,7 @@
* @param
* value of the map
*/
-public abstract class FileSortedMap implements SortedMap, Cloneable, RewritableSortedMap {
+public abstract class FileSortedMap implements SortedMap, Cloneable, RewritableSortedMap, AutoCloseable{
private static final Logger log = Logger.getLogger(FileSortedMap.class);
protected boolean persisted;
protected K[] range;
@@ -776,10 +776,9 @@ public void remove() {
throw new UnsupportedOperationException("Iterator.remove() not supported on a persisted map.");
}
- @Override
- protected void finalize() throws Throwable {
+
+ protected void close() throws Throwable {
cleanup();
- super.finalize();
}
}
diff --git a/warehouse/query-core/src/main/java/datawave/query/util/sortedset/FileSortedSet.java b/warehouse/query-core/src/main/java/datawave/query/util/sortedset/FileSortedSet.java
index 780c04c9974..a227437fa5f 100644
--- a/warehouse/query-core/src/main/java/datawave/query/util/sortedset/FileSortedSet.java
+++ b/warehouse/query-core/src/main/java/datawave/query/util/sortedset/FileSortedSet.java
@@ -762,12 +762,6 @@ public void remove() {
throw new UnsupportedOperationException("Iterator.remove() not supported.");
}
- @Override
- protected void finalize() throws Throwable {
- cleanup();
- super.finalize();
- }
-
}
/**
diff --git a/web-services/metrics/src/main/java/datawave/query/metrics/ShardTableQueryMetricHandler.java b/web-services/metrics/src/main/java/datawave/query/metrics/ShardTableQueryMetricHandler.java
index d11afdd5126..c1a1b5c866f 100644
--- a/web-services/metrics/src/main/java/datawave/query/metrics/ShardTableQueryMetricHandler.java
+++ b/web-services/metrics/src/main/java/datawave/query/metrics/ShardTableQueryMetricHandler.java
@@ -190,9 +190,7 @@ private void initialize() {
}
}
- @Override
- protected void finalize() throws Throwable {
- super.finalize();
+ public void close() throws IOException, InterruptedException {
this.recordWriter.close(null);
}