At the paste URL below is the code I'm using in a test. The test is
checking for race conditions in some server code I've written:
http://apaste.info/Vs6
This code will stop working correctly during the second loop. On the
first loop, it creates 400 threads and requests the URL once in each
thread. On the second loop, it tries to do it again, but hangs after
the 100th thread is created. When I create the client, i set
maxConnPerRoute to 500, so it is related to that. It seems that each
connection isn't being removed from the internal tracking after it
completes.
If I move the httpclient creation inside the for loop and uncomment the
"client.close();" at the end of the loop, then everything works ... but
it seems like Ishould be able to use one client for this entire test.
What have I done wrong in my code?
threads is a Set.
firstFailedLoop and loopNum are AtomicInteger.
numThreadsPerRun is set to 400.
If anything in the code is unclear, please let me know what needs
clarification.
Thanks,
Shawn
-
To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org
For additional commands, e-mail: httpclient-users-h...@hc.apache.org