gavinchou opened a new pull request, #51905:
URL: https://github.com/apache/doris/pull/51905

   This commit support to inject idempotent requests by replaying request with 
random delay
   
   the following configs are added
   ```
   CONF_mBool(enable_idempotent_request_injection, "false");
   // idempotent_request_replay_delay_ms = 
idempotent_request_replay_delay_base_ms + 
random(-idempotent_request_replay_delay_range_ms, 
idempotent_request_replay_delay_range_ms)
   CONF_mInt64(idempotent_request_replay_delay_base_ms, "10000");
   CONF_mInt64(idempotent_request_replay_delay_range_ms, "5000");
   // exclude some request that are meaningless to replay, comma separated 
list. e.g. GetTabletStatsRequest,GetVersionRequest
   CONF_mString(idempotent_request_replay_exclusion, 
"GetTabletStatsRequest,GetVersionRequest");
   ```
   
   to enable request replay
   ```
   enable_idempotent_request_injection=true
   ```
   
   to set random delay in a range
   [idempotent_request_replay_delay_base_ms - 
idempotent_request_replay_delay_range_ms, 
idempotent_request_replay_delay_base_ms + 
idempotent_request_replay_delay_range_ms] the following example means the 
request will be replayed with a delay ranges from 5000ms to 15000ms
   ```
   idempotent_request_replay_delay_base_ms=10000
   idempotent_request_replay_delay_range_ms=5000
   ```
   if the randomly chosen delay is negative the request will be not replayed 
(idempotent_request_replay_delay_range_ms can be set greater than 
idempotent_request_replay_delay_base_ms)
   
   to exclude some requests (PB message names), the following examples means 
GetTabletStatsRequest and GetVersionRequest will not be replayed
   ```
   idempotent_request_replay_exclusion=GetTabletStatsRequest,GetVersionRequest
   ```
   
   


-- 
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