[ 
https://issues.apache.org/jira/browse/THRIFT-3112?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15146523#comment-15146523
 ] 

ASF GitHub Bot commented on THRIFT-3112:
----------------------------------------

Github user nsuke commented on a diff in the pull request:

    https://github.com/apache/thrift/pull/840#discussion_r52841869
  
    --- Diff: lib/java/src/org/apache/thrift/async/TAsyncMethodCall.java ---
    @@ -225,8 +231,13 @@ private void cleanUpAndFireCallback(SelectionKey key) {
         key.interestOps(0);
         // this ensures that the TAsyncMethod instance doesn't hang around
         key.attach(null);
    --- End diff --
    
    AFAIK, key is not removed from `selector.keys()` unless `key.cancel()` is 
called, so `interestOps(0)` and `attach(null)` is not enough (maybe wrong 
assumption ?).
    Do you happen to have any idea why the original code does not call 
`cancel()` for the success path here ?
    
    As your intention here seems to be to prevent `key.cancel()` in 
`transition()` for the error path, I thought you might know about it.


> [Java] AsyncMethodCallback should be typed in generated AsyncIface
> ------------------------------------------------------------------
>
>                 Key: THRIFT-3112
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3112
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Java - Compiler, Java - Library
>    Affects Versions: 0.9.2
>            Reporter: Sergei Egorov
>            Assignee: John Sirois
>
> AsyncMethodCallback is generic, but current Java code generator is not adding 
> type info to it, and instead of:
> {code:java}
> public interface AsyncIface {
>     public void ping(org.apache.thrift.async.AsyncMethodCallback<String> 
> resultHandler) throws org.apache.thrift.TException;
>  }
> {code}
> we have:
> {code:java}
> public interface AsyncIface {
>     public void ping(org.apache.thrift.async.AsyncMethodCallback 
> resultHandler) throws org.apache.thrift.TException;
>  }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to