ctubbsii opened a new pull request, #5721:
URL: https://github.com/apache/accumulo/pull/5721

   Update SimpleThriftServiceRunner, used by ThriftBehaviorIT with a thrift 
protocol that logs the order in which clients and servers call protocol read 
and write message methods.
   
   In testing, the logging shows the following ordering:
   
   One-way methods:
   
     client:writeMessageBegin
     serverInput:readMessageBegin
     client:writeMessageEnd
     serverInput:readMessageEnd
   
   Two-way (regular, including void) methods:
   
     client:writeMessageBegin
     serverInput:readMessageBegin
     client:writeMessageEnd
     serverInput:readMessageEnd
     serverOutput:writeMessageBegin
     client:readMessageBegin
     serverOutput:writeMessageEnd
     client:readMessageEnd
   
   Note: the order of the End methods are soemtimes swapped. It seems that the 
ordering of those is nondeterministic, which makes sense because they happen in 
different processes, and neither side has anything more to do to read/write the 
message, and can move on to the End methods independently.
   
   The client uses its protocol instance to send RPC messages using the write 
methods, and uses the read methods to receive server response messages.
   
   The server can specify a separate input and output protocol, and uses the 
read methods on the input protocol to receive client RPC messages, and uses the 
output protocol to send response messages (either the result of an RPC 
operation or a serialized exception). The output protocol is not used by thrift 
oneway methods.
   
   This commit also adds coverage of two-way void methods.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscr...@accumulo.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to