[ https://issues.apache.org/jira/browse/HADOOP-12909?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15202966#comment-15202966 ]
Steve Loughran commented on HADOOP-12909: ----------------------------------------- At first I thought this wasn't thread-safe, but it's really using thread-local state to do async callls. Even so, it's not, well, pleasant. Is there any cleaner way to do it? Code-wise, if you are playing with {{Client}}, have it implement {{AutoCloseable}} with {{close()}} a final method invoking {{stop()}}. You'll benefit that immediately in the tests, as you can use try-with-resources to automatically get the client served up. > Change ipc.Client to support asynchronous calls > ----------------------------------------------- > > Key: HADOOP-12909 > URL: https://issues.apache.org/jira/browse/HADOOP-12909 > Project: Hadoop Common > Issue Type: New Feature > Components: ipc > Reporter: Tsz Wo Nicholas Sze > Assignee: Xiaobing Zhou > Attachments: HADOOP-12909-HDFS-9924.000.patch, > HADOOP-12909-HDFS-9924.001.patch, HADOOP-12909-HDFS-9924.002.patch, > HADOOP-12909-HDFS-9924.003.patch > > > In ipc.Client, the underlying mechanism is already supporting asynchronous > calls -- the calls shares a connection, the call requests are sent using a > thread pool and the responses can be out of order. Indeed, synchronous call > is implemented by invoking wait() in the caller thread in order to wait for > the server response. > In this JIRA, we change ipc.Client to support asynchronous mode. In > asynchronous mode, it return once the request has been sent out but not wait > for the response from the server. -- This message was sent by Atlassian JIRA (v6.3.4#6332)