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

Jens Geyer commented on THRIFT-5030:
------------------------------------

Any news?

BTW, I'm still curious when this below could occur. Do you have an example at 
hand? I never observed multiple calls to one server as being a problem, because 
that's what RPC servers are for, aren't they? To provide an endpoint that can 
be called by as many clients as possible?
{quote}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
{quote}
Maybe a test case could help to show the issue and verify the solution.

 

> 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