[ 
https://issues.apache.org/jira/browse/THRIFT-5030?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jens Geyer updated THRIFT-5030:
-------------------------------
    Summary: Add possibility for TMessage seqid verification in the processor 
function  (was: netstd: Add possibility for TMessage seqid verification in the 
processor function)

> Add possibility for TMessage seqid verification in the processor function
> -------------------------------------------------------------------------
>
>                 Key: THRIFT-5030
>                 URL: https://issues.apache.org/jira/browse/THRIFT-5030
>             Project: Thrift
>          Issue Type: Improvement
>          Components: netstd - Library
>            Reporter: Paulo Neves
>            Assignee: Paulo Neves
>            Priority: Major
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> Currently we have a seqid system that is sent from the client to the server, 
> and retrieved back. The specification says that the seqid returned by the 
> server should be the same sent by the client. Currently this seems to be the 
> case on the server side, but the client side never verifies this to be true.
> I have a pull request that changes that situation for netstd. The client side 
> verification is useful for when a common transport is being used for multiple 
> client calls. This should be legal as the processor and transport are 
> separate architectural units. If another client makes an RPC then we may get 
> messages which are not addressed to us. We should have a way to let the 
> client caller know that such event happened. 
> Another way to do this is to make this verification in a protocol decorator, 
> that completely manages the seqid by itself. I also have an implementation 
> for this case, but i have not prepared the pull request yet. Please let me 
> know which approach do you prefer.
> Personally I have gone the way of the protocol decorator as it solves other 
> issues like seqid collision due to all the TBaseClient initialization 
> starting with seqid == 1. With the protocol decorator I was then able to fast 
> skip the message which was not replied with the expected seqid.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to