[
https://issues.apache.org/jira/browse/THRIFT-4405?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
James E. King, III updated THRIFT-4405:
---------------------------------------
Description:
Create a feature test that verifies sequence numbers are used properly. Write
a server that verifies clients are generating unique sequence IDs. Write a
client that makes sure servers return the same sequence ID that was given.
To do this, I enhanced the C++ TProcessorEventHandler class to include a
preReadSeq, which is like preRead but carries the sequence ID.
In the C++ TestServer, I check to see if the sequence numbers are unique and do
not repeat; if any of them do, the cpp test fails.
The following languages properly send sequence IDs (for the binary protocol):
* go
* nodejs
* java
* rs
The rest of the languages do not. Now, one could argue that unless a language
has a concurrent-safe client and server, sequence IDs are unnecessary. While
that is true, all languages should respect that the protocol has a sequence ID
and there could be future implementations that will require all clients are
well-behaved, which is why I am putting this test in.
was:Create a feature test that verifies sequence numbers are used properly.
Write a server that verifies clients are generating unique sequence IDs. Write
a client that makes sure servers return the same sequence ID that was given.
> Create a feature test that verifies sequence numbers are used properly and
> fix problems that are discovered
> -----------------------------------------------------------------------------------------------------------
>
> Key: THRIFT-4405
> URL: https://issues.apache.org/jira/browse/THRIFT-4405
> Project: Thrift
> Issue Type: Test
> Components: Test Suite
> Affects Versions: 0.10.0
> Environment: docker ubuntu-xenial
> Reporter: James E. King, III
> Assignee: James E. King, III
>
> Create a feature test that verifies sequence numbers are used properly.
> Write a server that verifies clients are generating unique sequence IDs.
> Write a client that makes sure servers return the same sequence ID that was
> given.
> To do this, I enhanced the C++ TProcessorEventHandler class to include a
> preReadSeq, which is like preRead but carries the sequence ID.
> In the C++ TestServer, I check to see if the sequence numbers are unique and
> do not repeat; if any of them do, the cpp test fails.
> The following languages properly send sequence IDs (for the binary protocol):
> * go
> * nodejs
> * java
> * rs
> The rest of the languages do not. Now, one could argue that unless a
> language has a concurrent-safe client and server, sequence IDs are
> unnecessary. While that is true, all languages should respect that the
> protocol has a sequence ID and there could be future implementations that
> will require all clients are well-behaved, which is why I am putting this
> test in.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)