WJSGDBZ opened a new pull request, #2304:
URL: https://github.com/apache/incubator-pegasus/pull/2304

   ### What problem does this PR solve? <!--add issue link with summary if 
exists-->
   If the server has the `rpc_request_dropped_before_execution_when_timeout` 
parameter enabled, and the Thrift client does not explicitly set 
`client_timeout` (which defaults to 0), the server will drop the request before 
execution. 
   
https://github.com/apache/incubator-pegasus/blob/fdbd6ebb460b97d39c027837217c1a41de1b3671/src/server/config.ini#L557
   
https://github.com/apache/incubator-pegasus/blob/fdbd6ebb460b97d39c027837217c1a41de1b3671/src/task/task.h#L430-L446
   In the current version of the Python client, the  `client_timeout` field is 
not assigned, leading to all Thrift requests being rejected by the server when 
this parameter is enabled, as a timeout value of 0 is interpreted as an 
immediate timeout. 
   
https://github.com/apache/incubator-pegasus/blob/fdbd6ebb460b97d39c027837217c1a41de1b3671/python-client/pypegasus/operate/packet.py#L34-L46
   
   ### Checklist <!--REMOVE the items that are not applicable-->
   
   ##### Tests <!-- At least one of them must be included. -->
   - Manual test (add detailed steps below)
   1. Enable the `rpc_request_dropped_before_execution_when_timeout` parameter 
on the server.
   2. Use the Python client to send requests to server.
   3. Observe that the client requests frequently time out.
   4. Disable `the rpc_request_dropped_before_execution_when_timeout` parameter 
on the server.
   5. Send the same requests again using the Python client.
   6. Verify that the requests now succeed and no longer time out.
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to