Yes, absolutely. Thanks,
Sam On 26 September 2011 21:57, Mohit Anchlia <[email protected]> wrote: > Thanks! should it be read on http errors too? for eg: http code 400, 500 etc. > > On Mon, Sep 26, 2011 at 1:43 PM, Sam Crawford <[email protected]> wrote: >> That's correct. You have to consume the entity before the connection >> is released. See the documentation (section 1.1.5) at >> http://hc.apache.org/httpcomponents-client-ga/tutorial/html/fundamentals.html#d4e72 >> >> >> On 26 September 2011 20:19, Mohit Anchlia <[email protected]> wrote: >>> On Mon, Sep 26, 2011 at 12:06 PM, Oleg Kalnichevski <[email protected]> >>> wrote: >>>> On Mon, 2011-09-26 at 09:04 -0700, Mohit Anchlia wrote: >>>>> I am using 4.1.2 and trying to figure out why my threads are all >>>>> waiting on this block. I have this code: >>>>> >>>> >>>> That's because your code is leaking connections. >>> >>> I just added this line and it resolved the issue. >>> \ >>> EntityUtils.toString(entity); >>> >>> Wondering if it's necessary to read from the entity otherwise it holds >>> on to the connection. >>> >>>> >>>> Oleg >>>> >>>>> Can someone please help? >>>>> >>>>> static { >>>>> cm.setMaxTotal(NO_CONN*2); >>>>> cm.setDefaultMaxPerRoute(NO_CONN); >>>>> } >>>>> >>>>> private static ThreadSafeClientConnManager cm = new >>>>> ThreadSafeClientConnManager(); >>>>> >>>>> private static HttpClient httpclient = new DefaultHttpClient(cm); >>>>> >>>>> >>>>> StringEntity stringEntity = new StringEntity(data, >>>>> HTTP.UTF_8); >>>>> >>>>> httpput.setEntity(stringEntity); >>>>> >>>>> HttpResponse response = httpclient.execute(httpput); >>>>> >>>>> >>>>> "pool-1-thread-24" prio=10 tid=0x00002aaab4018000 nid=0x20df waiting >>>>> on condition [0x00000000446f7000] >>>>> java.lang.Thread.State: WAITING (parking) >>>>> at sun.misc.Unsafe.park(Native Method) >>>>> - parking to wait for <0x000000061d5866f0> (a >>>>> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) >>>>> at >>>>> java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) >>>>> at >>>>> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) >>>>> at >>>>> org.apache.http.impl.conn.tsccm.WaitingThread.await(WaitingThread.java:158) >>>>> at >>>>> org.apache.http.impl.conn.tsccm.ConnPoolByRoute.getEntryBlocking(ConnPoolByRoute.java:403) >>>>> at >>>>> org.apache.http.impl.conn.tsccm.ConnPoolByRoute$1.getPoolEntry(ConnPoolByRoute.java:300) >>>>> at >>>>> org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager$1.getConnection(ThreadSafeClientConnManager.java:224) >>>>> at >>>>> org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:401) >>>>> at >>>>> org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820) >>>>> at >>>>> org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754) >>>>> at >>>>> org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:732) >>>>> at com.intuit.gluster.stress.ClientPost.doPut(ClientPost.java:135) >>>>> at >>>>> com.intuit.gluster.stress.InsertHttpCommand.call(InsertHttpCommand.java:142) >>>>> at >>>>> com.intuit.gluster.stress.InsertHttpCommand.call(InsertHttpCommand.java:1) >>>>> at >>>>> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) >>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:138) >>>>> at >>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) >>>>> at >>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) >>>>> at java.lang.Thread.run(Thread.java:662) >>>>> >>>>> >>>>> jars in my classpath: >>>>> >>>>> >>>>> ls -ltr jars >>>>> total 1572 >>>>> -rwx------ 1 root root 60686 Jan 21 2011 commons-logging-1.1.1.jar >>>>> -rwx------ 1 root root 58160 Jan 21 2011 commons-codec-1.4.jar >>>>> -rwx------ 1 root root 181200 Jul 10 12:02 httpcore-4.1.2.jar >>>>> -rwx------ 1 root root 261809 Jul 21 11:58 commons-lang-2.4.jar >>>>> -rwx------ 1 root root 25496 Jul 21 11:58 slf4j-api-1.6.1.jar >>>>> -rwx------ 1 root root 481535 Jul 21 11:58 log4j-1.2.16.jar >>>>> -rwx------ 1 root root 9753 Jul 21 11:58 slf4j-log4j12-1.6.1.jar >>>>> -rwx------ 1 root root 105799 Jul 29 22:54 httpclient-cache-4.1.2.jar >>>>> -rwx------ 1 root root 352254 Jul 29 22:54 httpclient-4.1.2.jar >>>>> -rwx------ 1 root root 26890 Jul 29 22:54 httpmime-4.1.2.jar >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: [email protected] >>>>> For additional commands, e-mail: [email protected] >>>>> >>>> >>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: [email protected] >>>> For additional commands, e-mail: [email protected] >>>> >>>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> For additional commands, e-mail: [email protected] >>> >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
