[ https://issues.apache.org/jira/browse/THRIFT-945?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bryan Duxbury reassigned THRIFT-945: ------------------------------------ Assignee: Bryan Duxbury > TAsyncClient class's currentMethod is never set, hence a second call on the > same client will fail if a previous call is ongoing. > -------------------------------------------------------------------------------------------------------------------------------- > > Key: THRIFT-945 > URL: https://issues.apache.org/jira/browse/THRIFT-945 > Project: Thrift > Issue Type: Bug > Components: Java - Library > Affects Versions: 0.4 > Reporter: Zhenlei Cai > Assignee: Bryan Duxbury > > TAsyncClient has this check: > protected void checkReady() { > // Ensure we are not currently executing a method > if (currentMethod != null) { > throw new IllegalStateException("Client is currently executing another > method: " + currentMethod.getClass().getName()); > } > However currentMethod is not being set anywhere. > In my code I have a TAsyncClient and method calls made on it are not > necessarily serialized (one starts after previous finishes), so interleaving > calls will fail with mysterious messages such as: > java.lang.IllegalArgumentException > at java.nio.ByteBuffer.allocate(ByteBuffer.java:311) > at > org.apache.thrift.async.TAsyncMethodCall.doReadingResponseSize(TAsyncMethodCall.java:175) > at > org.apache.thrift.async.TAsyncMethodCall.transition(TAsyncMethodCall.java:128) > at > org.apache.thrift.async.TAsyncClientManager$SelectThread.run(TAsyncClientManager.java:99) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.