kezhuw commented on PR #2069:
URL: https://github.com/apache/zookeeper/pull/2069#issuecomment-1740226666

   > trying to dynamically set a system property prior to calling an API method 
doesn't seem like a great option.
   
   `quorumSync` is a server side property,  client are innocent to this.
   
   > It seems unreliable if programmers don't know how the ZK servers are 
configured
   
   ZooKeeper have both client API and server daemon, it is somewhat inevitable 
if we change server side behavior of an api. `quorumSync` is provided mainly 
for feature gate and rolling upgrade. I was thinking to [bump protocol 
version](https://github.com/apache/zookeeper/pull/2070#discussion_r1338287108)(a.k.a.
 `sync` is a quorum only if all server are upgraded to 3.10.0) so we don't need 
it in rolling upgrade. I am ok to drop it if that is solved and we don't want a 
feature gate for this.
   
   > Wouldn't it be better to have an explicit public API method for this? 
   
   Not sure. I think `sync` fits this purpose naturally, otherwise we won't 
have to explain about [`sync` + 
`read`](https://zookeeper.apache.org/doc/r3.9.0/zookeeperInternals.html#sc_consistency).
 
   
   **I think the question for us should be "Is it a bug for `sync` + `read` to 
read dated data ?"**
   
   If it is yes, then all above questions shouldn't be issues. Otherwise, we 
should resort to new apis as you said, for example 
[ZOOKEEPER-3600](https://issues.apache.org/jira/browse/ZOOKEEPER-3600)(https://github.com/apache/zookeeper/pull/1137).
 I am leaning towards it is a bug, so here we are.


-- 
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: notifications-unsubscr...@zookeeper.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to