Ensure TransactionLogs are closed with test ObjectReleaseTracker.
Add basic testing for test ObjectReleaseTracker.
We should share an http connection manager across most non search httpclients and ensure all http connection managers get shutdown.
ReplicationHandler does not destroy all of it's created SnapPullers
Move to non deprecated HttpClient impl classes to remove stale connection check on every request and move connection lifecycle management towards the client.
Because we are not consistent with this, the current approach for SOLR-4509 ends up being a problem. Threads can be started and never stopped and the test framework will rightly flip out. We should track and ensure proper cleanup of more of our closeable objects. I'll start with ConnectionManagers and SolrJ clients as I have already had to do this work for SOLR-4509. There are others we should look at as well though.
Part of the work I'm doing on SOLR-6840 has been to have a single shared HttpClient object for all the various SolrClients, which makes shutting everything down easier.
In most cases, it's pretty easy to shut things down now, just lots of places not doing it.
Patch with pertinent work from SOLR-4509. This breaks quickly, so I intend to commit relatively soon if you anyone wants to help with some review.
Commit 1650608 from Mark Miller in branch 'dev/trunk'
[ https://svn.apache.org/r1650608 ]
SOLR-6932: All HttpClient ConnectionManagers and SolrJ clients should always be shutdown in tests and regular code.
Commit 1650612 from Mark Miller in branch 'dev/branches/branch_5x'
[ https://svn.apache.org/r1650612 ]
I'm wondering if SolrClient should be made closeable. It would sometimes warn of resource leaks
I think all of these type of things should be made closeable - including SolrJ clients for 5.0 (rather than shutdown).
Bulk close after 5.0 release.