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

Hari Shreedharan commented on FLUME-1896:
-----------------------------------------

The underlying blocking calls - the append and appendBatch calls in the Thrift 
client, call the sendBase method in thrift which increments the seq id of the 
message. If the next response received is not the same sequence id, then an 
IllegalStateException is thrown. Basically after a message is sent, the 
response received *must* be of the same sequence id. So we need to make our 
methods synchronized/locked to make sure a different thread does not call 
append/appendBatch methods. 

I think the implementation in the current patch is reasonably clean, and is a 
standard implementation technique used in distributed systems.
                
> Implement Thrift RpcClient
> --------------------------
>
>                 Key: FLUME-1896
>                 URL: https://issues.apache.org/jira/browse/FLUME-1896
>             Project: Flume
>          Issue Type: Sub-task
>            Reporter: Hari Shreedharan
>            Assignee: Hari Shreedharan
>         Attachments: FLUME-1896-1.patch, FLUME-1896-2.patch, 
> FLUME-1896-3.patch, FLUME-1896-4.patch, FLUME-1896-5.patch, FLUME-1896.patch
>
>


--
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

Reply via email to