Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
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)
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.
Attachments
Attachments
Issue Links
- relates to
-
SOLR-16992 Non-reproducible StreamingTest failures -- suggests CloudSolrStream concurency race condition
- Closed