adoroszlai opened a new pull request, #5713:
URL: https://github.com/apache/ozone/pull/5713

   ## What changes were proposed in this pull request?
   
   RATIS-589 added a [check in 
`SegmentedRaftLogWorker`|https://github.com/apache/ratis/blob/2e89dad950e0cc37d6d08c7ecc92a910ad50f518/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogWorker.java#L207-L216]
 to ensure `raft.server.log.write.buffer.size >= 
raft.server.log.appender.buffer.byte-limit + 8`.
   
   Ozone needs to be updated to pass that check when using current Ratis 
`master`.
   
   OM and SCM do not set `log.write.buffer.size`, get Ratis' default 8MB, which 
does not work with custom `log.appender.buffer.byte-limit` of 32MB:
   
   ```
   IllegalArgumentException: raft.server.log.write.buffer.size (= 8388608) is 
less than raft.server.log.appender.buffer.byte-limit + 8 (= 33554440)
   ```
   
   DN also uses custom `log.appender.buffer.byte-limit` (defaults to 32MB), but 
also has separate config for `log.write.buffer.size` (defaults to 2MB):
   
   ```
   IllegalArgumentException: raft.server.log.write.buffer.size (= 2097152) is 
less than raft.server.log.appender.buffer.byte-limit + 8 (= 33554440)
   ```
   
   This PR proposes:
   
   1. remove the property `dfs.container.ratis.segment.buffer.size`, introduced 
recently in fbe584c0cc
   2. set `log.write.buffer.size` in all 3 components to 
`log.appender.buffer.byte-limit + 8`
   
   I'm not sure having `log.write.buffer.size` much larger than 
`log.appender.buffer.byte-limit` is useful.  If it is, we can keep the separate 
property, and introduce similar one for OM and SCM.  Hence this is still a 
draft.
   
   https://issues.apache.org/jira/browse/HDDS-9818
   
   ## How was this patch tested?
   
   Ran the following integration tests locally with Ratis `master` (more 
specifically with 
https://github.com/apache/ratis/pull/977/commits/ca54cdaf2f33820544b31417d9b8b2e6cef789c1):
   
   ```
   ITestOzoneContractDistCp
   TestDecommissionAndMaintenance
   TestFailureHandlingByClient
   TestOzoneFileSystemWithStreaming
   ```
   
   CI (with Ratis 3.0.0):
   https://github.com/adoroszlai/ozone/actions/runs/7060607718


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