[ 
https://issues.apache.org/jira/browse/HDDS-14509?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ivan Andika updated HDDS-14509:
-------------------------------
    Description: 
Currently, if OM follower read is enabled, all OM followers will serve read 
requests even if the client does not enable the follower read. 

For leader-only client, this might be unexpected since they expect the OM 
follower to throw OMNotLeaderException. 

We can support some kind of OM request metadata to indicate to the OM whether 
the client enables the follower read or not. This can be initial implementation 
of configurable client read consistency.

The idea of client-defined consistency level is inspired by other systems and 
literature
 * RQLite: [https://rqlite.io/docs/api/read-consistency/]
 * Consul: 
[https://developer.hashicorp.com/consul/api-docs/features/consistency]
 * Replicated Data Consistency Explained Through Baseball: 
https://www.microsoft.com/en-us/research/wp-content/uploads/2011/10/ConsistencyAndBaseballReport.pdf

  was:
Currently, if OM follower read is enabled, all OM followers will serve read 
requests even if the client does not enable the follower read. 

For leader-only client, this might be unexpected since they expect the OM 
follower to throw OMNotLeaderException. 

We can support some kind of OM request metadata to indicate to the OM whether 
the client enables the follower read or not. This can be initial implementation 
of configurable client read consistency.

The idea of client-defined consistency level is inspired by other systems
 * RQLite: [https://rqlite.io/docs/api/read-consistency/]
 * Consul: 
[https://developer.hashicorp.com/consul/api-docs/features/consistency]


> Allow client to choose the read consistency level
> -------------------------------------------------
>
>                 Key: HDDS-14509
>                 URL: https://issues.apache.org/jira/browse/HDDS-14509
>             Project: Apache Ozone
>          Issue Type: Sub-task
>            Reporter: Ivan Andika
>            Assignee: Ivan Andika
>            Priority: Major
>              Labels: pull-request-available
>
> Currently, if OM follower read is enabled, all OM followers will serve read 
> requests even if the client does not enable the follower read. 
> For leader-only client, this might be unexpected since they expect the OM 
> follower to throw OMNotLeaderException. 
> We can support some kind of OM request metadata to indicate to the OM whether 
> the client enables the follower read or not. This can be initial 
> implementation of configurable client read consistency.
> The idea of client-defined consistency level is inspired by other systems and 
> literature
>  * RQLite: [https://rqlite.io/docs/api/read-consistency/]
>  * Consul: 
> [https://developer.hashicorp.com/consul/api-docs/features/consistency]
>  * Replicated Data Consistency Explained Through Baseball: 
> https://www.microsoft.com/en-us/research/wp-content/uploads/2011/10/ConsistencyAndBaseballReport.pdf



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to