[ 
https://issues.apache.org/jira/browse/SOLR-7115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14343836#comment-14343836
 ] 

Yonik Seeley commented on SOLR-7115:
------------------------------------

OK... this is really strange.

UpdateLog.preCommit() / postCommit() pair are protected by the commit lock.
prevTlog is set in preCommit and cleared in postCommit.
Hmmm, is this happening in the presence of other errors (something that would 
prevent postCommit from being called?)
That would seem to be the only way to get into preCommit and have prevTlog 
still pointing at something.
I just verified by throwing an exception inside the "if (prevTlog != null) {" 
block in preCommit() and the entire test suite passes.

> UpdateLog can miss closing transaction log objects.
> ---------------------------------------------------
>
>                 Key: SOLR-7115
>                 URL: https://issues.apache.org/jira/browse/SOLR-7115
>             Project: Solr
>          Issue Type: Bug
>            Reporter: Mark Miller
>
> I've seen this happen on YourKit and in various tests - especially since 
> adding resource release tracking to the log objects. Now I've got a test that 
> catches it in SOLR-7113.
> It seems that in precommit, if prevTlog is not null, we need to close it 
> because we are going to overwrite prevTlog with a new log.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to