adoroszlai commented on PR #8110:
URL: https://github.com/apache/ozone/pull/8110#issuecomment-2736106286

   1. 2023-02-28 RATIS-1793 introduced the config in Ratis with default 10ms.
   2. 2023-05-09 HDDS-8382 upgraded to Ratis 2.5.1 with RATIS-1793.
   3. 2023-10-04 RATIS-1886 changed the default to 1ms, and added logic to use 
1ms if set to 0.
   4. 2023-10-06 HDDS-9232 introduced the config in Ozone with default 0ms, 
except datanode with 1ms.
   5. 2023-11-22 HDDS-9192 upgraded Ratis to 3.0.0 with RATIS-1886.
   6. 2023-12-03 HDDS-9784 changed datanode config to 0us.
   
   So if Ratis started ignoring 0 with RATIS-1886, how did the fix in HDDS-9784 
work?
   
   I guess that's because `wait-time.min` is used for two purposes:
   
   
https://github.com/apache/ratis/blob/ac35188a4fb285842a05224141e3879aaf71e621/ratis-grpc/src/main/java/org/apache/ratis/grpc/server/GrpcLogAppender.java#L349
   
   ```java
         this.waitForReady = waitTimeMin.isPositive()? waitTimeMin: 
TimeDuration.ONE_MILLISECOND;
   ```
   
   
https://github.com/apache/ratis/blob/ac35188a4fb285842a05224141e3879aaf71e621/ratis-server/src/main/java/org/apache/ratis/server/leader/LogAppenderBase.java#L225-L226
   
   ```java
     protected TimeDuration getRemainingWaitTime() {
       return 
waitTimeMin.add(getFollower().getLastRpcSendTime().elapsedTime().negate());
   ```
   
   Only the first use requires positive value.


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