You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@lucene.apache.org by "David Smiley (Jira)" <ji...@apache.org> on 2020/07/29 06:37:00 UTC

[jira] [Commented] (LUCENE-9376) Fix or suppress 20 resource leak precommit warnings in lucene/search

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

David Smiley commented on LUCENE-9376:
--------------------------------------

[~erickerickson], your change to the UnifiedHighlighter introduced a regression reported by Chris Beer in Slack (who will hopefully file a proper JIRA issue very soon).  https://github.com/apache/lucene-solr/commit/8e578b4e51cbab206c31653077ce4a3e3a6879b8#diff-f545e503a21f7331f0706fb89f7c663eR648  you inserted a call to close indexReaderWithTermVecCache but this is a wrapper IndexReader that is not supposed to be closed.  It'll close the underlying real reader if you do which is nasty as that's the live one, which thus brings down the core.

> Fix or suppress 20 resource leak precommit warnings in lucene/search
> --------------------------------------------------------------------
>
>                 Key: LUCENE-9376
>                 URL: https://issues.apache.org/jira/browse/LUCENE-9376
>             Project: Lucene - Core
>          Issue Type: Sub-task
>            Reporter: Andras Salamon
>            Assignee: Erick Erickson
>            Priority: Minor
>             Fix For: 8.6
>
>         Attachments: LUCENE-9376.patch
>
>
> There are 20 resource leak precommit warnings in org/apache/lucene/search:
> {noformat}
>  [ecj-lint] 71. WARNING in /Users/andrassalamon/src/lucene-solr-upstream/lucene/core/src/test/org/apache/lucene/search/TestFuzzyQuery.java (at line 414)
>  [ecj-lint] 	MockAnalyzer analyzer = new MockAnalyzer(random());
>  [ecj-lint] 	             ^^^^^^^^
>  [ecj-lint] Resource leak: 'analyzer' is never closed
> --
>  [ecj-lint] 72. WARNING in /Users/andrassalamon/src/lucene-solr-upstream/lucene/core/src/test/org/apache/lucene/search/TestFuzzyQuery.java (at line 557)
>  [ecj-lint] 	RandomIndexWriter w = new RandomIndexWriter(random(), dir);
>  [ecj-lint] 	                  ^
>  [ecj-lint] Resource leak: 'w' is never closed
> --
>  [ecj-lint] 73. WARNING in /Users/andrassalamon/src/lucene-solr-upstream/lucene/core/src/test/org/apache/lucene/search/TestLRUQueryCache.java (at line 185)
>  [ecj-lint] 	throw error.get();
>  [ecj-lint] 	^^^^^^^^^^^^^^^^^^
>  [ecj-lint] Resource leak: 'mgr' is not closed at this location
> --
>  [ecj-lint] 74. WARNING in /Users/andrassalamon/src/lucene-solr-upstream/lucene/core/src/test/org/apache/lucene/search/TestLRUQueryCache.java (at line 185)
>  [ecj-lint] 	throw error.get();
>  [ecj-lint] 	^^^^^^^^^^^^^^^^^^
>  [ecj-lint] Resource leak: 'w' is not closed at this location
> --
>  [ecj-lint] 75. WARNING in /Users/andrassalamon/src/lucene-solr-upstream/lucene/core/src/test/org/apache/lucene/search/TestSameScoresWithThreads.java (at line 49)
>  [ecj-lint] 	LineFileDocs docs = new LineFileDocs(random());
>  [ecj-lint] 	             ^^^^
>  [ecj-lint] Resource leak: 'docs' is never closed
> --
>  [ecj-lint] 76. WARNING in /Users/andrassalamon/src/lucene-solr-upstream/lucene/core/src/test/org/apache/lucene/search/TestSearcherManager.java (at line 313)
>  [ecj-lint] 	SearcherManager sm = new SearcherManager(writer, false, false, new SearcherFactory());
>  [ecj-lint] 	                ^^
>  [ecj-lint] Resource leak: 'sm' is never closed
> --
>  [ecj-lint] 79. WARNING in /Users/andrassalamon/src/lucene-solr-upstream/lucene/core/src/test/org/apache/lucene/search/TestTermQuery.java (at line 52)
>  [ecj-lint] 	new TermQuery(new Term("foo", "bar"), TermStates.build(new MultiReader().getContext(), new Term("foo", "bar"), true)));
>  [ecj-lint] 	                                                       ^^^^^^^^^^^^^^^^^
>  [ecj-lint] Resource leak: '<unassigned Closeable value>' is never closed
> --
>  [ecj-lint] 15. WARNING in /Users/andrassalamon/src/lucene-solr-upstream/lucene/test-framework/src/java/org/apache/lucene/search/ShardSearchingTestBase.java (at line 554)
>  [ecj-lint] 	final LineFileDocs docs = new LineFileDocs(random());
>  [ecj-lint] 	                   ^^^^
>  [ecj-lint] Resource leak: 'docs' is never closed
> --
>  [ecj-lint] 1. WARNING in /Users/andrassalamon/src/lucene-solr-upstream/lucene/highlighter/src/java/org/apache/lucene/search/uhighlight/UnifiedHighlighter.java (at line 598)
>  [ecj-lint] 	IndexReader indexReaderWithTermVecCache =
>  [ecj-lint] 	            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
>  [ecj-lint] Resource leak: 'indexReaderWithTermVecCache' is never closed
> --
>  [ecj-lint] 1. WARNING in /Users/andrassalamon/src/lucene-solr-upstream/lucene/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java (at line 1365)
>  [ecj-lint] 	Analyzer analyzer = new SynonymAnalyzer(synonyms);
>  [ecj-lint] 	         ^^^^^^^^
>  [ecj-lint] Resource leak: 'analyzer' is never closed
> --
>  [ecj-lint] 2. WARNING in /Users/andrassalamon/src/lucene-solr-upstream/lucene/highlighter/src/test/org/apache/lucene/search/highlight/TokenSourcesTest.java (at line 379)
>  [ecj-lint] 	final BaseTermVectorsFormatTestCase.RandomTokenStream rTokenStream =
>  [ecj-lint] 	                                                      ^^^^^^^^^^^^
>  [ecj-lint] Resource leak: 'rTokenStream' is never closed
> --
>  [ecj-lint] 3. WARNING in /Users/andrassalamon/src/lucene-solr-upstream/lucene/highlighter/src/test/org/apache/lucene/search/highlight/custom/HighlightCustomQueryTest.java (at line 108)
>  [ecj-lint] 	TokenStream tokenStream = new MockAnalyzer(random(), MockTokenizer.SIMPLE,
>  [ecj-lint]         true, MockTokenFilter.ENGLISH_STOPSET).tokenStream(fieldName, text);
>  [ecj-lint] 	                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> --
>  [ecj-lint] 4. WARNING in /Users/andrassalamon/src/lucene-solr-upstream/lucene/sandbox/src/test/org/apache/lucene/search/TestTermAutomatonQuery.java (at line 426)
>  [ecj-lint] 	RandomIndexWriter w = new RandomIndexWriter(random(), dir, iwc);
>  [ecj-lint] 	                  ^
>  [ecj-lint] Resource leak: 'w' is never closed
> --
>  [ecj-lint] 1. WARNING in /Users/andrassalamon/src/lucene-solr-upstream/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestFreeTextSuggester.java (at line 134)
>  [ecj-lint] 	final LineFileDocs lfd = new LineFileDocs(null, "/lucenedata/enwiki/enwiki-20120502-lines-1k.txt");
>  [ecj-lint] 	                   ^^^
>  [ecj-lint] Resource leak: 'lfd' is never closed
> --
>  [ecj-lint] 2. WARNING in /Users/andrassalamon/src/lucene-solr-upstream/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestSuggestStopFilter.java (at line 53)
>  [ecj-lint] 	filter = new SuggestStopFilter(stream, stopWords);
>  [ecj-lint] 	^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>  [ecj-lint] Resource leak: 'filter' is not closed at this location
> --
>  [ecj-lint] 3. WARNING in /Users/andrassalamon/src/lucene-solr-upstream/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestSuggestStopFilter.java (at line 73)
>  [ecj-lint] 	filter = new SuggestStopFilter(stream, stopWords);
>  [ecj-lint] 	^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>  [ecj-lint] Resource leak: 'filter' is not closed at this location
> --
>  [ecj-lint] 4. WARNING in /Users/andrassalamon/src/lucene-solr-upstream/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestSuggestStopFilter.java (at line 93)
>  [ecj-lint] 	filter = new SuggestStopFilter(stream, stopWords);
>  [ecj-lint] 	^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>  [ecj-lint] Resource leak: 'filter' is not closed at this location
> --
>  [ecj-lint] 5. WARNING in /Users/andrassalamon/src/lucene-solr-upstream/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestSuggestStopFilter.java (at line 113)
>  [ecj-lint] 	filter = new SuggestStopFilter(stream, stopWords);
>  [ecj-lint] 	^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>  [ecj-lint] Resource leak: 'filter' is not closed at this location
> --
>  [ecj-lint] 6. WARNING in /Users/andrassalamon/src/lucene-solr-upstream/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestSuggestStopFilter.java (at line 133)
>  [ecj-lint] 	filter = new SuggestStopFilter(stream, stopWords);
>  [ecj-lint] 	^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>  [ecj-lint] Resource leak: 'filter' is not closed at this location
> --
>  [ecj-lint] 7. WARNING in /Users/andrassalamon/src/lucene-solr-upstream/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestSuggestField.java (at line 724)
>  [ecj-lint] 	LineFileDocs lineFileDocs = new LineFileDocs(random());
>  [ecj-lint] 	             ^^^^^^^^^^^^
>  [ecj-lint] Resource leak: 'lineFileDocs' is never closed
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org