diff --git a/solr/core/src/java/org/apache/solr/update/HdfsTransactionLog.java b/solr/core/src/java/org/apache/solr/update/HdfsTransactionLog.java index 73ab0e7215c..75a28fa13f1 100644 --- a/solr/core/src/java/org/apache/solr/update/HdfsTransactionLog.java +++ b/solr/core/src/java/org/apache/solr/update/HdfsTransactionLog.java @@ -33,6 +33,7 @@ import org.apache.solr.common.util.DataInputInputStream; import org.apache.solr.common.util.FastInputStream; import org.apache.solr.common.util.FastOutputStream; import org.apache.solr.common.util.JavaBinCodec; +import org.apache.solr.common.util.ObjectReleaseTracker; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -114,6 +115,8 @@ public class HdfsTransactionLog extends TransactionLog { success = true; + assert ObjectReleaseTracker.track(this); + } catch (IOException e) { throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, e); } finally { @@ -305,6 +308,7 @@ public class HdfsTransactionLog extends TransactionLog { log.error("Exception closing tlog.", e); throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, e); } finally { + assert ObjectReleaseTracker.release(this); if (deleteOnClose) { try { fs.delete(tlogFile, true); diff --git a/solr/core/src/java/org/apache/solr/update/TransactionLog.java b/solr/core/src/java/org/apache/solr/update/TransactionLog.java index 88b8133fd7c..88f879eba9d 100644 --- a/solr/core/src/java/org/apache/solr/update/TransactionLog.java +++ b/solr/core/src/java/org/apache/solr/update/TransactionLog.java @@ -40,6 +40,7 @@ import org.apache.solr.common.util.DataInputInputStream; import org.apache.solr.common.util.FastInputStream; import org.apache.solr.common.util.FastOutputStream; import org.apache.solr.common.util.JavaBinCodec; +import org.apache.solr.common.util.ObjectReleaseTracker; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -177,6 +178,8 @@ public class TransactionLog { } success = true; + + assert ObjectReleaseTracker.track(this); } catch (IOException e) { throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, e); @@ -553,6 +556,8 @@ public class TransactionLog { } } catch (IOException e) { throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, e); + } finally { + assert ObjectReleaseTracker.release(this); } }