You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Joshua Andrews (JIRA)" <ji...@apache.org> on 2013/05/17 20:01:21 UTC
[jira] [Created] (HTTPASYNC-41) Possible Multithreading issue (when
used with Akka?)
Joshua Andrews created HTTPASYNC-41:
---------------------------------------
Summary: Possible Multithreading issue (when used with Akka?)
Key: HTTPASYNC-41
URL: https://issues.apache.org/jira/browse/HTTPASYNC-41
Project: HttpComponents HttpAsyncClient
Issue Type: Bug
Affects Versions: 4.0-beta4
Environment: Linux
Reporter: Joshua Andrews
Priority: Minor
I'm not sure if this a bug or just me doing something wrong.
I have actor instances, that execute a request with a future for setting some state - real simple stuff. It works great when I have 1 Session, but as soon as I add another this happens.
session starting
session starting
ERROR [org.apache.http.impl.nio.client.InternalHttpAsyncClient] I/O reactor terminated abnormally
java.lang.IllegalStateException: Illegal state ACTIVE
at org.apache.http.util.Asserts.check(Asserts.java:40)
at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:316)
at org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager.execute(PoolingNHttpClientConnectionManager.java:169)
at org.apache.http.impl.nio.client.InternalHttpAsyncClient.doExecute(InternalHttpAsyncClient.java:101)
at org.apache.http.impl.nio.client.InternalHttpAsyncClient.access$000(InternalHttpAsyncClient.java:56)
at org.apache.http.impl.nio.client.InternalHttpAsyncClient$1.run(InternalHttpAsyncClient.java:91)
ERROR [actors.Session] Request cannot be executed; I/O reactor status: SHUT_DOWN
java.lang.IllegalStateException: Request cannot be executed; I/O reactor status: SHUT_DOWN
at org.apache.http.util.Asserts.check(Asserts.java:40)
at org.apache.http.impl.nio.client.InternalHttpAsyncClient.execute(InternalHttpAsyncClient.java:171)
at org.apache.http.impl.nio.client.CloseableHttpAsyncClient.execute(CloseableHttpAsyncClient.java:63)
at org.apache.http.impl.nio.client.CloseableHttpAsyncClient.execute(CloseableHttpAsyncClient.java:93)
at org.apache.http.impl.nio.client.CloseableHttpAsyncClient.execute(CloseableHttpAsyncClient.java:78)
at actors.FutureBridge$.bridge(bridge.scala:137)
at actors.AsyncClient.POSTPayload(bridge.scala:296)
at engines.MobileHelper$.getAuthToken(MobileHelper.scala:26)
at actors.Session$$anonfun$receive$1.applyOrElse(Session.scala:92)
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:425)
at akka.actor.ActorCell.invoke(ActorCell.scala:386)
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:230)
at akka.dispatch.Mailbox.run(Mailbox.scala:212)
at akka.dispatch.ForkJoinExecutorConfigurator$MailboxExecutionTask.exec(AbstractDispatcher.scala:506)
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:262)
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:975)
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1478)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104)
Each actor creates its own instance of my actors.AsyncClient, which is basically just a wrapper around the apache client, and maps Java futures to akka futures, it does not support shutdown of the client at all.
Any advice on how to debug this?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org