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); }