jojochuang commented on PR #7988: URL: https://github.com/apache/ozone/pull/7988#issuecomment-2848877938
Overall looks good. Something like this should come with a written design doc. Here's a little bit of design inferred from the implementation as I went through the code: (1) the design does not assume consistency -- client is responsible for ensuring the result is consistent. This is largely fine as these operations work for read-only snapshots. Though extra caution should be taken to confirm the snapshots are available. (2) client explicitly selects a OM to route the requests to. If a failure happens, client retries the same OM. (3) For requests that involve iterators (listSnapshots, SnapshotDiff) the same OM is used throughout. It does not round robin or bounce over. The use of isDirect to force follower OM to process read-only snapshot operation is a simple solution to provide read from follower functionality. It may not be useful or would need to be extended in the future to support a fully consistent read from follower model (similar to HDFS NameNode Consistent read from Standby ([HDFS-12943](https://issues.apache.org/jira/browse/HDFS-12943)), or the one that's built on top of linearizable Ratis. -- 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]
