[
https://issues.apache.org/jira/browse/SOLR-16983?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17767750#comment-17767750
]
ASF subversion and git services commented on SOLR-16983:
--------------------------------------------------------
Commit 665070b97d8fee30f3dd8c57b7d02791b3bf3ba6 in solr's branch
refs/heads/branch_9x from Chris M. Hostetter
[ https://gitbox.apache.org/repos/asf?p=solr.git;h=665070b97d8 ]
SOLR-16983: Fixed a bug that could cause some usages of SolrStream to fail to
close InputStreams from the server.
Also fixed the usage of ObjectReleaseTracker in SolrTestCaseJ4 to catch these
kinds of bugs
(cherry picked from commit 117a6cdf415ae43e3279aa1ea91adc8180a1cf74)
> ObjectReleaseTracker completely useless in all SolrTestCaseJ4 based tests -
> masking unclosed InputStream in some SolrStream usecases
> ------------------------------------------------------------------------------------------------------------------------------------
>
> Key: SOLR-16983
> URL: https://issues.apache.org/jira/browse/SOLR-16983
> Project: Solr
> Issue Type: Bug
> Security Level: Public(Default Security Level. Issues are Public)
> Reporter: Chris M. Hostetter
> Assignee: Chris M. Hostetter
> Priority: Major
> Attachments: SOLR-16983-1.patch, SOLR-16983-2.patch,
> SOLR-16983.bug-demo.nocommit.patch, SOLR-16983.patch,
> test-output-if-clear-is-removed-from-SolrTestCaseJ4.txt.gz
>
>
> {panel:title=NOTE: This was masking a real bug in SolrStream}
> Fixing tests that fialed while working on this bug lead me to discover that
> some usages of {{SolrStream}} weren't closing their {{TupleStreamParser}}
> which could result in unclosed {{InputStream}} (returned from the underlying
> HTTP client)
>
> {panel}
> {{SolrTestCase}} has a {{@ClassRule}} named {{solrClassRules}} which calls
> {{ObjectReleaseTracker.clearObjectTrackerAndCheckEmpty()}} in it's
> {{afterIfSuccessful()}} method to ensure that any objects which use
> {{ObjectReleaseTracker}} are correctly released (ie: closed)
> _*...BUT...*_
> {{SolrTestCaseJ4}} has an {{@AfterClass}} method named
> {{teardownTestCases()}} which calls {{ObjectReleaseTracker.clear()}} _before_
> the {{afterIfSuccessful()}} method of it's parent class's {{solrClassRules}}
> gets to run.
> ... Which means that {{ObjectReleaseTracker}} is completley useless in every
> test that descends from {{{}SolrTestCaseJ4{}}}.
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]