szetszwo commented on PR #1321:
URL: https://github.com/apache/ratis/pull/1321#issuecomment-3666418480

   > The class is already public so it is part of the API. ...
   
   For servers, only the class in ratis-server-api are public APIs.  Public 
classes in ratis-server are not.
   
   > ... The tool is to replace the message contents of one raft log entry with 
a different type of message/content which is specific to Ozone. An 
implementation in Ratis that takes a byte string to replace the log entry with 
could be used for this. 
   
   If the tool is in Ratis, it could let the applications such as Ozone pass a 
function for doing the replacement.
   
   > ... I don't see how adding a low level mutator to the public API is less 
harmful than two read-only methods in an already public class.
   
   Note that if the tool is in Ratis, it can access the private API in the its 
implementation.
   
   It is easier to define a public tool API than a public server API.  In this 
case, if LogSegmentStartEnd is a public API, it means that we have to support 
such segment files forever.  Then, it will limit the flexibility of the 
underlying implementation (e.g. RATIS-2370 SegmentedRaftLog v2).
   
   


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

Reply via email to