[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13097920#comment-13097920
 ] 

Nicholas Harteau commented on ZOOKEEPER-1167:
---------------------------------------------

Ah, I see.  Am I correct in thinking that a client using the synchronous C API 
will still need to call async() in order to guarantee a consistent view?  i.e. 
zoo_get_children() will need to be preceeded by a a zoo_async() call in order 
to guarantee consistency?

If so, how would you feel about me stubbing out/macro'ing a zoo_sync() call to 
make the API consistent? (i.e. every zoo_a(foo) call has a zoo_(foo) 
counterpart).



> 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

        

Reply via email to