[jira] [Commented] (SOLR-7115) UpdateLog can miss closing transaction log objects.
[ https://issues.apache.org/jira/browse/SOLR-7115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15798476#comment-15798476 ] Mikhail Khludnev commented on SOLR-7115: Indeed! > 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 >Assignee: Yonik Seeley > Fix For: 6.x, master (7.0) > > Attachments: SOLR-7115-LargeVolumeEmbeddedTest-fail.txt, > SOLR-7115.patch, SOLR-7115.patch, tests-failures-7115.txt > > > 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-7115) UpdateLog can miss closing transaction log objects.
[ https://issues.apache.org/jira/browse/SOLR-7115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15796887#comment-15796887 ] Hoss Man commented on SOLR-7115: just to clarify: when refering to SOLR-7912, i think folks actually ment SOLR-9712 ... correct? > 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 >Assignee: Yonik Seeley > Fix For: 6.x, master (7.0) > > Attachments: SOLR-7115-LargeVolumeEmbeddedTest-fail.txt, > SOLR-7115.patch, SOLR-7115.patch, tests-failures-7115.txt > > > 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-7115) UpdateLog can miss closing transaction log objects.
[ https://issues.apache.org/jira/browse/SOLR-7115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15764127#comment-15764127 ] Yonik Seeley commented on SOLR-7115: I thought about that... but calling postCommit assumes a new searcher has been opened, so it doesn't seem right. It seems like we should have explicit failure callbacks... commitFailed and openSearcherFailed? > 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 >Assignee: Yonik Seeley > Fix For: 6.x, master (7.0) > > Attachments: SOLR-7115-LargeVolumeEmbeddedTest-fail.txt, > SOLR-7115.patch, SOLR-7115.patch, tests-failures-7115.txt > > > 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-7115) UpdateLog can miss closing transaction log objects.
[ https://issues.apache.org/jira/browse/SOLR-7115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15764087#comment-15764087 ] Mikhail Khludnev commented on SOLR-7115: [~ysee...@gmail.com] bq. I don't know if the patch to DUH2 is needed for other reasons SOLR-7912 prevents max Warming Searcher exception. But any other exception might lead to skipping line https://github.com/apache/lucene-solr/blob/master/solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java#L646 and leaking transaction log. Isn't it's worth to be protected with finally? > 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 >Assignee: Yonik Seeley > Fix For: 6.x, master (7.0) > > Attachments: SOLR-7115-LargeVolumeEmbeddedTest-fail.txt, > SOLR-7115.patch, SOLR-7115.patch, tests-failures-7115.txt > > > 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-7115) UpdateLog can miss closing transaction log objects.
[ https://issues.apache.org/jira/browse/SOLR-7115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15759108#comment-15759108 ] Mikhail Khludnev commented on SOLR-7115: Makes sense > 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 >Assignee: Yonik Seeley > Fix For: 6.x, master (7.0) > > Attachments: SOLR-7115-LargeVolumeEmbeddedTest-fail.txt, > SOLR-7115.patch, SOLR-7115.patch, tests-failures-7115.txt > > > 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-7115) UpdateLog can miss closing transaction log objects.
[ https://issues.apache.org/jira/browse/SOLR-7115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15758997#comment-15758997 ] Yonik Seeley commented on SOLR-7115: I tried out the modified test, and as expected it passes (since exceptions are no longer thrown on a commit). I'm not going to commit it because the test is no longer really testing anything anymore (since it requires exceptions that are no longer thrown), and other tests cover concurrent commits. > 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 >Assignee: Yonik Seeley > Fix For: 6.x, master (7.0) > > Attachments: SOLR-7115-LargeVolumeEmbeddedTest-fail.txt, > SOLR-7115.patch, SOLR-7115.patch, tests-failures-7115.txt > > > 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-7115) UpdateLog can miss closing transaction log objects.
[ https://issues.apache.org/jira/browse/SOLR-7115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15755035#comment-15755035 ] Yonik Seeley commented on SOLR-7115: I don't know if the patch to DUH2 is needed for other reasons, but now that SOLR-9712 is committed, I'll adapt and try out the patch from this issue. > 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 > Fix For: 6.x, master (7.0) > > Attachments: SOLR-7115-LargeVolumeEmbeddedTest-fail.txt, > SOLR-7115.patch, SOLR-7115.patch, tests-failures-7115.txt > > > 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-7115) UpdateLog can miss closing transaction log objects.
[ https://issues.apache.org/jira/browse/SOLR-7115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15575372#comment-15575372 ] Mikhail Khludnev commented on SOLR-7115: no no no. Thorough beasing haven't let to reproduce the failure. Tlease consider for reviewing. > 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 > Fix For: 6.3 > > Attachments: SOLR-7115-LargeVolumeEmbeddedTest-fail.txt, > SOLR-7115.patch, SOLR-7115.patch, tests-failures-7115.txt > > > 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-7115) UpdateLog can miss closing transaction log objects.
[ https://issues.apache.org/jira/browse/SOLR-7115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15574375#comment-15574375 ] Mikhail Khludnev commented on SOLR-7115: {code} -synchronized (solrCoreState.getUpdateLock()) { - if (ulog != null) ulog.preSoftCommit(cmd); - if (cmd.openSearcher) { -core.getSearcher(true, false, waitSearcher); - } else { -// force open a new realtime searcher so realtime-get and versioning code can see the latest -RefCounted searchHolder = core.openNewSearcher(true, true); -searchHolder.decref(); +try{ + synchronized (solrCoreState.getUpdateLock()) { +if (ulog != null) ulog.preSoftCommit(cmd); +if (cmd.openSearcher) { + core.getSearcher(true, false, waitSearcher); +} else { + // force open a new realtime searcher so realtime-get and versioning code can see the latest + RefCounted searchHolder = core.openNewSearcher(true, true); + searchHolder.decref(); +} +if (ulog != null) { + ulog.postSoftCommit(cmd); +} } - if (ulog != null) ulog.postSoftCommit(cmd); } -if (ulog != null) ulog.postCommit(cmd); // postCommit currently means new searcher has - // also been opened +finally{ + if (ulog != null) { +ulog.postCommit(cmd); // postCommit currently means new searcher has + // also been opened + } +} } {code} Please have a look... > 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 > Fix For: 6.3 > > Attachments: SOLR-7115-LargeVolumeEmbeddedTest-fail.txt, > SOLR-7115.patch, SOLR-7115.patch > > > 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-7115) UpdateLog can miss closing transaction log objects.
[ https://issues.apache.org/jira/browse/SOLR-7115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15289110#comment-15289110 ] Yonik Seeley commented on SOLR-7115: Thinking about this a little further, I guess we can assume that nothing could possibly be in flight concurrently since anything that was should prevent the core from closing (it's reference counted). SOLR-9116 may fix this problem? > 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-7115) UpdateLog can miss closing transaction log objects.
[ https://issues.apache.org/jira/browse/SOLR-7115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15276436#comment-15276436 ] Yonik Seeley commented on SOLR-7115: Not opening a new searcher breaks our invariants after that point (breaks RTG, atomic updates, version checking for things like update reorder checks, etc). I wondwe if we can we can guarantee that nothing is in-flight that would be affected? > 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-7115) UpdateLog can miss closing transaction log objects.
[ https://issues.apache.org/jira/browse/SOLR-7115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15273103#comment-15273103 ] Mark Miller commented on SOLR-7115: --- I see this consistently trying to update to hadoop 2.7.2. I traced in and it seems like the problem is that on close, the following call in commit can hang and keep the post commit updatelog code from being called. Oddly, this hang doesn't seem to last because the test does not complain about the thread remaining. {code} RefCounted searchHolder = core.openNewSearcher(true, true); searchHolder.decref(); {code} Checking if the core is closed before calling that seems to help. > 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-7115) UpdateLog can miss closing transaction log objects.
[ https://issues.apache.org/jira/browse/SOLR-7115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14561238#comment-14561238 ] Mark Miller commented on SOLR-7115: --- It's possible this was caused by SOLR-7478. 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-7115) UpdateLog can miss closing transaction log objects.
[ https://issues.apache.org/jira/browse/SOLR-7115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14360270#comment-14360270 ] Yonik Seeley commented on SOLR-7115: One thing I want to investigate: can exceeding maxWarmingSearchers (in the case where there is a lot of commits) cause a commit to fail and cause a postCommit() to not be called? Related: when a replica makes a recovery request to the leader (and the leader commits), is it possible for *that* commit to fail due to maxWarmingSearchers? My guess is no on this one because we shouldn't need to open a new searcher. 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-7115) UpdateLog can miss closing transaction log objects.
[ https://issues.apache.org/jira/browse/SOLR-7115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14345335#comment-14345335 ] Mark Miller commented on SOLR-7115: --- I was still seeing it fail without that when I left last week. I'll try again soon. One of the 'doc time to live' distrib tests also occasionally fails on jenkins with it. It was failing consistently for me, but I'm sure there is some timing involved. 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-7115) UpdateLog can miss closing transaction log objects.
[ https://issues.apache.org/jira/browse/SOLR-7115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-7115) UpdateLog can miss closing transaction log objects.
[ https://issues.apache.org/jira/browse/SOLR-7115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14344187#comment-14344187 ] Yonik Seeley commented on SOLR-7115: I've also run the test from SOLR-7113 a number of times after commenting out the suppression, and I can't get it to fail. 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-7115) UpdateLog can miss closing transaction log objects.
[ https://issues.apache.org/jira/browse/SOLR-7115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14343464#comment-14343464 ] Yonik Seeley commented on SOLR-7115: It's weird that existing stress tests don't catch this... I want to see if I can get some of those to fail. 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-7115) UpdateLog can miss closing transaction log objects.
[ https://issues.apache.org/jira/browse/SOLR-7115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14321752#comment-14321752 ] Mark Miller commented on SOLR-7115: --- I assume the log list is supposed to catch the close for this. Somehow that can be missed though. 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-7115) UpdateLog can miss closing transaction log objects.
[ https://issues.apache.org/jira/browse/SOLR-7115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14321814#comment-14321814 ] Mark Miller commented on SOLR-7115: --- The follow gets through the tests, but I'd have to do some more studying to understand if it's right. {noformat} Index: solr/core/src/java/org/apache/solr/update/UpdateLog.java === --- solr/core/src/java/org/apache/solr/update/UpdateLog.java(revision 1659862) +++ solr/core/src/java/org/apache/solr/update/UpdateLog.java(working copy) @@ -608,8 +608,10 @@ // since we're changing the log, we must change the map. newMap(); + TransactionLog logToDecRef = null; if (prevTlog != null) { globalStrings = prevTlog.getGlobalStrings(); +logToDecRef = prevTlog; } // since document additions can happen concurrently with commit, create @@ -618,6 +620,10 @@ prevTlog = tlog; tlog = null; id++; + + if (logToDecRef != null) { +logToDecRef.decref(); + } } } {noformat} 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org