You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by Hiroaki Kawai <ka...@stratosphere.co.jp> on 2012/11/15 06:55:11 UTC

Review Request: CLOUDSTACK-487 HttpClient in multithreaded environment

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/8075/
-----------------------------------------------------------

Review request for cloudstack.


Description
-------

Running cloudstack with nicira nvp plugin, I got following error. It seems that HttpClient in servlet must use MultiThreadedHttpConnectionManager explicitly.

2012-11-14 18:21:51,576 WARN  [commons.httpclient.SimpleHttpConnectionManager] (DirectAgent-62:null) SimpleHttpConnectionManager being used incorrectly.  Be
sure that HttpMethod.releaseConnection() is always called and that only one thread and/or method is using this connection manager at a time.
2012-11-14 18:21:52,017 WARN  [agent.manager.DirectAgentAttache] (DirectAgent-62:null) Seq 5-847183891: Exception Caught while executing command
java.lang.IllegalStateException: Connection is not open
        at org.apache.commons.httpclient.HttpConnection.assertOpen(HttpConnection.java:1277)
        at org.apache.commons.httpclient.HttpConnection.write(HttpConnection.java:974)
        at org.apache.commons.httpclient.HttpConnection.write(HttpConnection.java:943)
        at org.apache.commons.httpclient.HttpConnection.print(HttpConnection.java:1033)
        at org.apache.commons.httpclient.HttpMethodBase.writeRequestHeaders(HttpMethodBase.java:2187)
        at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2060)
        at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096)
        at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
        at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
        at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
        at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
        at com.cloud.network.nicira.NiciraNvpApi.executeMethod(NiciraNvpApi.java:344)
        at com.cloud.network.nicira.NiciraNvpApi.executeDeleteObject(NiciraNvpApi.java:294)
        at com.cloud.network.nicira.NiciraNvpApi.deleteLogicalSwitchPort(NiciraNvpApi.java:172)
        at com.cloud.network.resource.NiciraNvpResource.executeRequest(NiciraNvpResource.java:286)
        at com.cloud.network.resource.NiciraNvpResource.executeRequest(NiciraNvpResource.java:192)
        at com.cloud.network.resource.NiciraNvpResource.executeRequest(NiciraNvpResource.java:172)
        at com.cloud.agent.manager.DirectAgentAttache$Task.run(DirectAgentAttache.java:191)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:165)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:679)


This addresses bug CLOUDSTACK-487.


Diffs
-----

  agent/src/com/cloud/agent/AgentShell.java 05caf8e 
  awsapi/src/com/cloud/bridge/io/S3CAStorBucketAdapter.java ad6f6cd 
  core/src/com/cloud/storage/template/HttpTemplateDownloader.java bd607b3 
  plugins/network-elements/nicira-nvp/src/com/cloud/network/nicira/NiciraNvpApi.java 2c002ab 
  server/src/com/cloud/maint/UpgradeManagerImpl.java b4bc291 

Diff: https://reviews.apache.org/r/8075/diff/


Testing
-------


Thanks,

Hiroaki Kawai


Re: Review Request: CLOUDSTACK-487 HttpClient in multithreaded environment

Posted by Hugo Trippaers <ht...@schubergphilis.com>.

> On Nov. 19, 2012, 10:47 a.m., Hugo Trippaers wrote:
> > Ship It!

Looks fine to me, this is in line with the recommendations of HC itself: http://hc.apache.org/httpclient-3.x/threading.html


- Hugo


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/8075/#review13560
-----------------------------------------------------------


On Nov. 16, 2012, 1:35 a.m., Hiroaki Kawai wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/8075/
> -----------------------------------------------------------
> 
> (Updated Nov. 16, 2012, 1:35 a.m.)
> 
> 
> Review request for cloudstack.
> 
> 
> Description
> -------
> 
> Running cloudstack with nicira nvp plugin, I got following error. It seems that HttpClient in servlet must use MultiThreadedHttpConnectionManager explicitly.
> 
> 2012-11-14 18:21:51,576 WARN  [commons.httpclient.SimpleHttpConnectionManager] (DirectAgent-62:null) SimpleHttpConnectionManager being used incorrectly.  Be
> sure that HttpMethod.releaseConnection() is always called and that only one thread and/or method is using this connection manager at a time.
> 2012-11-14 18:21:52,017 WARN  [agent.manager.DirectAgentAttache] (DirectAgent-62:null) Seq 5-847183891: Exception Caught while executing command
> java.lang.IllegalStateException: Connection is not open
>         at org.apache.commons.httpclient.HttpConnection.assertOpen(HttpConnection.java:1277)
>         at org.apache.commons.httpclient.HttpConnection.write(HttpConnection.java:974)
>         at org.apache.commons.httpclient.HttpConnection.write(HttpConnection.java:943)
>         at org.apache.commons.httpclient.HttpConnection.print(HttpConnection.java:1033)
>         at org.apache.commons.httpclient.HttpMethodBase.writeRequestHeaders(HttpMethodBase.java:2187)
>         at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2060)
>         at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096)
>         at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
>         at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
>         at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
>         at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
>         at com.cloud.network.nicira.NiciraNvpApi.executeMethod(NiciraNvpApi.java:344)
>         at com.cloud.network.nicira.NiciraNvpApi.executeDeleteObject(NiciraNvpApi.java:294)
>         at com.cloud.network.nicira.NiciraNvpApi.deleteLogicalSwitchPort(NiciraNvpApi.java:172)
>         at com.cloud.network.resource.NiciraNvpResource.executeRequest(NiciraNvpResource.java:286)
>         at com.cloud.network.resource.NiciraNvpResource.executeRequest(NiciraNvpResource.java:192)
>         at com.cloud.network.resource.NiciraNvpResource.executeRequest(NiciraNvpResource.java:172)
>         at com.cloud.agent.manager.DirectAgentAttache$Task.run(DirectAgentAttache.java:191)
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>         at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
>         at java.util.concurrent.FutureTask.run(FutureTask.java:166)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:165)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:266)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>         at java.lang.Thread.run(Thread.java:679)
> 
> 
> This addresses bug CLOUDSTACK-487.
> 
> 
> Diffs
> -----
> 
>   agent/src/com/cloud/agent/AgentShell.java 05caf8e 
>   awsapi/src/com/cloud/bridge/io/S3CAStorBucketAdapter.java ad6f6cd 
>   core/src/com/cloud/storage/template/HttpTemplateDownloader.java bd607b3 
>   plugins/network-elements/nicira-nvp/src/com/cloud/network/nicira/NiciraNvpApi.java 2c002ab 
>   server/src/com/cloud/maint/UpgradeManagerImpl.java b4bc291 
> 
> Diff: https://reviews.apache.org/r/8075/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Hiroaki Kawai
> 
>


Re: Review Request: CLOUDSTACK-487 HttpClient in multithreaded environment

Posted by Hugo Trippaers <ht...@schubergphilis.com>.

> On Nov. 19, 2012, 10:47 a.m., Hugo Trippaers wrote:
> > Ship It!
> 
> Hugo Trippaers wrote:
>     Looks fine to me, this is in line with the recommendations of HC itself: http://hc.apache.org/httpclient-3.x/threading.html

Committed: https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=commit;h=c8832cd4b64c2e395fabf5fff2461fcd8097adc0


- Hugo


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/8075/#review13560
-----------------------------------------------------------


On Nov. 16, 2012, 1:35 a.m., Hiroaki Kawai wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/8075/
> -----------------------------------------------------------
> 
> (Updated Nov. 16, 2012, 1:35 a.m.)
> 
> 
> Review request for cloudstack.
> 
> 
> Description
> -------
> 
> Running cloudstack with nicira nvp plugin, I got following error. It seems that HttpClient in servlet must use MultiThreadedHttpConnectionManager explicitly.
> 
> 2012-11-14 18:21:51,576 WARN  [commons.httpclient.SimpleHttpConnectionManager] (DirectAgent-62:null) SimpleHttpConnectionManager being used incorrectly.  Be
> sure that HttpMethod.releaseConnection() is always called and that only one thread and/or method is using this connection manager at a time.
> 2012-11-14 18:21:52,017 WARN  [agent.manager.DirectAgentAttache] (DirectAgent-62:null) Seq 5-847183891: Exception Caught while executing command
> java.lang.IllegalStateException: Connection is not open
>         at org.apache.commons.httpclient.HttpConnection.assertOpen(HttpConnection.java:1277)
>         at org.apache.commons.httpclient.HttpConnection.write(HttpConnection.java:974)
>         at org.apache.commons.httpclient.HttpConnection.write(HttpConnection.java:943)
>         at org.apache.commons.httpclient.HttpConnection.print(HttpConnection.java:1033)
>         at org.apache.commons.httpclient.HttpMethodBase.writeRequestHeaders(HttpMethodBase.java:2187)
>         at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2060)
>         at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096)
>         at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
>         at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
>         at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
>         at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
>         at com.cloud.network.nicira.NiciraNvpApi.executeMethod(NiciraNvpApi.java:344)
>         at com.cloud.network.nicira.NiciraNvpApi.executeDeleteObject(NiciraNvpApi.java:294)
>         at com.cloud.network.nicira.NiciraNvpApi.deleteLogicalSwitchPort(NiciraNvpApi.java:172)
>         at com.cloud.network.resource.NiciraNvpResource.executeRequest(NiciraNvpResource.java:286)
>         at com.cloud.network.resource.NiciraNvpResource.executeRequest(NiciraNvpResource.java:192)
>         at com.cloud.network.resource.NiciraNvpResource.executeRequest(NiciraNvpResource.java:172)
>         at com.cloud.agent.manager.DirectAgentAttache$Task.run(DirectAgentAttache.java:191)
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>         at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
>         at java.util.concurrent.FutureTask.run(FutureTask.java:166)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:165)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:266)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>         at java.lang.Thread.run(Thread.java:679)
> 
> 
> This addresses bug CLOUDSTACK-487.
> 
> 
> Diffs
> -----
> 
>   agent/src/com/cloud/agent/AgentShell.java 05caf8e 
>   awsapi/src/com/cloud/bridge/io/S3CAStorBucketAdapter.java ad6f6cd 
>   core/src/com/cloud/storage/template/HttpTemplateDownloader.java bd607b3 
>   plugins/network-elements/nicira-nvp/src/com/cloud/network/nicira/NiciraNvpApi.java 2c002ab 
>   server/src/com/cloud/maint/UpgradeManagerImpl.java b4bc291 
> 
> Diff: https://reviews.apache.org/r/8075/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Hiroaki Kawai
> 
>


Re: Review Request: CLOUDSTACK-487 HttpClient in multithreaded environment

Posted by Hugo Trippaers <ht...@schubergphilis.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/8075/#review13560
-----------------------------------------------------------

Ship it!


Ship It!

- Hugo Trippaers


On Nov. 16, 2012, 1:35 a.m., Hiroaki Kawai wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/8075/
> -----------------------------------------------------------
> 
> (Updated Nov. 16, 2012, 1:35 a.m.)
> 
> 
> Review request for cloudstack.
> 
> 
> Description
> -------
> 
> Running cloudstack with nicira nvp plugin, I got following error. It seems that HttpClient in servlet must use MultiThreadedHttpConnectionManager explicitly.
> 
> 2012-11-14 18:21:51,576 WARN  [commons.httpclient.SimpleHttpConnectionManager] (DirectAgent-62:null) SimpleHttpConnectionManager being used incorrectly.  Be
> sure that HttpMethod.releaseConnection() is always called and that only one thread and/or method is using this connection manager at a time.
> 2012-11-14 18:21:52,017 WARN  [agent.manager.DirectAgentAttache] (DirectAgent-62:null) Seq 5-847183891: Exception Caught while executing command
> java.lang.IllegalStateException: Connection is not open
>         at org.apache.commons.httpclient.HttpConnection.assertOpen(HttpConnection.java:1277)
>         at org.apache.commons.httpclient.HttpConnection.write(HttpConnection.java:974)
>         at org.apache.commons.httpclient.HttpConnection.write(HttpConnection.java:943)
>         at org.apache.commons.httpclient.HttpConnection.print(HttpConnection.java:1033)
>         at org.apache.commons.httpclient.HttpMethodBase.writeRequestHeaders(HttpMethodBase.java:2187)
>         at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2060)
>         at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096)
>         at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
>         at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
>         at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
>         at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
>         at com.cloud.network.nicira.NiciraNvpApi.executeMethod(NiciraNvpApi.java:344)
>         at com.cloud.network.nicira.NiciraNvpApi.executeDeleteObject(NiciraNvpApi.java:294)
>         at com.cloud.network.nicira.NiciraNvpApi.deleteLogicalSwitchPort(NiciraNvpApi.java:172)
>         at com.cloud.network.resource.NiciraNvpResource.executeRequest(NiciraNvpResource.java:286)
>         at com.cloud.network.resource.NiciraNvpResource.executeRequest(NiciraNvpResource.java:192)
>         at com.cloud.network.resource.NiciraNvpResource.executeRequest(NiciraNvpResource.java:172)
>         at com.cloud.agent.manager.DirectAgentAttache$Task.run(DirectAgentAttache.java:191)
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>         at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
>         at java.util.concurrent.FutureTask.run(FutureTask.java:166)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:165)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:266)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>         at java.lang.Thread.run(Thread.java:679)
> 
> 
> This addresses bug CLOUDSTACK-487.
> 
> 
> Diffs
> -----
> 
>   agent/src/com/cloud/agent/AgentShell.java 05caf8e 
>   awsapi/src/com/cloud/bridge/io/S3CAStorBucketAdapter.java ad6f6cd 
>   core/src/com/cloud/storage/template/HttpTemplateDownloader.java bd607b3 
>   plugins/network-elements/nicira-nvp/src/com/cloud/network/nicira/NiciraNvpApi.java 2c002ab 
>   server/src/com/cloud/maint/UpgradeManagerImpl.java b4bc291 
> 
> Diff: https://reviews.apache.org/r/8075/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Hiroaki Kawai
> 
>


Re: Review Request: CLOUDSTACK-487 HttpClient in multithreaded environment

Posted by Hiroaki Kawai <ka...@stratosphere.co.jp>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/8075/
-----------------------------------------------------------

(Updated Nov. 16, 2012, 1:35 a.m.)


Review request for cloudstack.


Description
-------

Running cloudstack with nicira nvp plugin, I got following error. It seems that HttpClient in servlet must use MultiThreadedHttpConnectionManager explicitly.

2012-11-14 18:21:51,576 WARN  [commons.httpclient.SimpleHttpConnectionManager] (DirectAgent-62:null) SimpleHttpConnectionManager being used incorrectly.  Be
sure that HttpMethod.releaseConnection() is always called and that only one thread and/or method is using this connection manager at a time.
2012-11-14 18:21:52,017 WARN  [agent.manager.DirectAgentAttache] (DirectAgent-62:null) Seq 5-847183891: Exception Caught while executing command
java.lang.IllegalStateException: Connection is not open
        at org.apache.commons.httpclient.HttpConnection.assertOpen(HttpConnection.java:1277)
        at org.apache.commons.httpclient.HttpConnection.write(HttpConnection.java:974)
        at org.apache.commons.httpclient.HttpConnection.write(HttpConnection.java:943)
        at org.apache.commons.httpclient.HttpConnection.print(HttpConnection.java:1033)
        at org.apache.commons.httpclient.HttpMethodBase.writeRequestHeaders(HttpMethodBase.java:2187)
        at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2060)
        at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096)
        at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
        at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
        at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
        at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
        at com.cloud.network.nicira.NiciraNvpApi.executeMethod(NiciraNvpApi.java:344)
        at com.cloud.network.nicira.NiciraNvpApi.executeDeleteObject(NiciraNvpApi.java:294)
        at com.cloud.network.nicira.NiciraNvpApi.deleteLogicalSwitchPort(NiciraNvpApi.java:172)
        at com.cloud.network.resource.NiciraNvpResource.executeRequest(NiciraNvpResource.java:286)
        at com.cloud.network.resource.NiciraNvpResource.executeRequest(NiciraNvpResource.java:192)
        at com.cloud.network.resource.NiciraNvpResource.executeRequest(NiciraNvpResource.java:172)
        at com.cloud.agent.manager.DirectAgentAttache$Task.run(DirectAgentAttache.java:191)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:165)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:679)


This addresses bug CLOUDSTACK-487.


Diffs (updated)
-----

  agent/src/com/cloud/agent/AgentShell.java 05caf8e 
  awsapi/src/com/cloud/bridge/io/S3CAStorBucketAdapter.java ad6f6cd 
  core/src/com/cloud/storage/template/HttpTemplateDownloader.java bd607b3 
  plugins/network-elements/nicira-nvp/src/com/cloud/network/nicira/NiciraNvpApi.java 2c002ab 
  server/src/com/cloud/maint/UpgradeManagerImpl.java b4bc291 

Diff: https://reviews.apache.org/r/8075/diff/


Testing
-------


Thanks,

Hiroaki Kawai