yandrey321 commented on code in PR #305: URL: https://github.com/apache/ozone-site/pull/305#discussion_r2779615094
########## docs/03-core-concepts/01-architecture/07-consistency-guarantees.md: ########## @@ -0,0 +1,168 @@ +--- +sidebar_label: Consistency Guarantees +--- + +# Consistency Guarantees + +## OM (Ozone Manager) HA Consistency + +:::info +Notice: Before Ozone 2.2.0 (current is 2.1.0), all operations in OM are linearizable. After [HDDS-14424](https://issues.apache.org/jira/browse/HDDS-14424) is done and released in Ozone 2.2.0, users will have more options to configure the consistency guarantees for OM based on the tradeoff across scalability, throughput and staleness. +::: + +### Default Configuration (Non-Linearizable) (will release in Ozone 2.2) +- **Read Path**: Only the leader serves read requests +- **Mechanism**: Reads query the state machine directly without ReadIndex +- **Guarantee**: **Non-linearizable** - may return stale data during leader transitions +- **Performance**: No heartbeat rounds required for reads, better latency +- **Risk**: Short-period split-brain scenario possible (old leader may serve stale reads during leadership transition) + +### Optional: Linearizable Reads (will release in Ozone 2.2) +- **Configuration**: `ozone.om.ha.raft.server.read.option=LINEARIZABLE` +- **Mechanism**: Uses Raft ReadIndex (Raft section 6.4) +- **Guarantee**: Linearizability - reads reflect all committed writes +- **Trade-off**: Requires leader to confirm leadership via heartbeat rounds +- **Benefit**: Both the leader and followers can serve reads Review Comment: Do existing clients utilize this capability? How clients pick the service where request is going to be sent? -- 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]
