[
https://issues.apache.org/jira/browse/ZOOKEEPER-1167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13095488#comment-13095488
]
Benjamin Reed commented on ZOOKEEPER-1167:
------------------------------------------
it wasn't an oversight. there is no reason for a synchronous version. because
of the ordering guarantees, if you issue an asynchronous sync, the next call,
whether synchronous or asynchronous will see the updated state.
> C api lacks syncronous version of sync() call.
> ----------------------------------------------
>
> Key: ZOOKEEPER-1167
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1167
> Project: ZooKeeper
> Issue Type: Bug
> Components: c client
> Affects Versions: 3.3.3
> Reporter: Nicholas Harteau
>
> Reading through the source, the C API implements zoo_async() which is the
> zookeeper sync() method implemented in the multithreaded/asynchronous C API.
> It doesn't implement anything equivalent in the non-multithreaded API.
> I'm not sure if this was oversight or intentional, but it means that the
> non-multithreaded API can't guarantee consistent client views on critical
> reads.
> The zkperl bindings depend on the synchronous, non-multithreaded API so also
> can't call sync() currently.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira