ivandika3 commented on PR #7988: URL: https://github.com/apache/ozone/pull/7988#issuecomment-2868246871
@jojochuang Addressing your comments. > Something like this should come with a written design doc Ok, let's keep this patch on hold first since seems there are consensus needed on the overall designs between the community's expectation of general transparent snapshot read API vs explicitly pick a single OM which is created in the context of "Cross-region bucket replication" to ensure predictability of the Syncer logic. > (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. Yes, correct. It requires the client to keep checking whether the snapshot exists in a non-leader OM. > (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. Yes, there is no automatic failover handling. Clients is responsible to catch the exception and retry another OM to pick another OM. > 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. Yes, we need to create a consensus on how to approach this. -- 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]
