[jira] [Commented] (ZOOKEEPER-1167) C api lacks synchronous version of sync() call.
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16013402#comment-16013402 ] JiangJiafu commented on ZOOKEEPER-1167: --- I have read all the comments above, but I don't get the point. In what kind of scenarios will this BUG cause a problem? It seems like this bug is not going to be fixed in 3.4.X version, why? > C api lacks synchronous 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, 3.4.3, 3.5.0 >Reporter: Nicholas Harteau >Assignee: Marshall McMullen > Fix For: 3.5.4, 3.6.0 > > Attachments: ZOOKEEPER-1167.patch > > > 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 was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (ZOOKEEPER-1167) C api lacks synchronous version of sync() call.
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13932534#comment-13932534 ] Marshall McMullen commented on ZOOKEEPER-1167: -- Agreed. > C api lacks synchronous 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, 3.4.3, 3.5.0 >Reporter: Nicholas Harteau >Assignee: Marshall McMullen > Fix For: 3.5.0 > > Attachments: ZOOKEEPER-1167.patch > > > 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 was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (ZOOKEEPER-1167) C api lacks synchronous version of sync() call.
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13932481#comment-13932481 ] Michi Mutsuzaki commented on ZOOKEEPER-1167: It would be good to document when one might choose the sync version over the async version. The nuance might not be very obvious. > C api lacks synchronous 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, 3.4.3, 3.5.0 >Reporter: Nicholas Harteau >Assignee: Marshall McMullen > Fix For: 3.5.0 > > Attachments: ZOOKEEPER-1167.patch > > > 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 was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (ZOOKEEPER-1167) C api lacks synchronous version of sync() call.
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13932475#comment-13932475 ] Marshall McMullen commented on ZOOKEEPER-1167: -- [~michim] - thanks. Plus I've already patched our internal version of zookeeper so our application doesn't have to do this and would hate to have to maintain that forever :). I'll get an updated patch together so we can finish this one off. > C api lacks synchronous 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, 3.4.3, 3.5.0 >Reporter: Nicholas Harteau >Assignee: Marshall McMullen > Fix For: 3.5.0 > > Attachments: ZOOKEEPER-1167.patch > > > 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 was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (ZOOKEEPER-1167) C api lacks synchronous version of sync() call.
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13932459#comment-13932459 ] Marshall McMullen commented on ZOOKEEPER-1167: -- [~michim] - I'm not sure I agree. Ben's comments specifically state that this is not strictly required for the consistency protocol ZK provides. But if you are communicating through some other mechanism and you want to guarantee those two clients are synchronized, then this would be useful. Granted the application layer can provide it's own wrapper around zoo_async to provide this functionality. So I think the use case is for easier integration into higher level clients. That and consistency since this is the only non-sync API in the C bindings. I'm still happy to add tests around this and also add a java implementation I just lost sight of this case. > C api lacks synchronous 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, 3.4.3, 3.5.0 >Reporter: Nicholas Harteau >Assignee: Marshall McMullen > Fix For: 3.5.0 > > Attachments: ZOOKEEPER-1167.patch > > > 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 was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (ZOOKEEPER-1167) C api lacks synchronous version of sync() call.
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13753598#comment-13753598 ] Flavio Junqueira commented on ZOOKEEPER-1167: - This is not exactly a bug fix, so I'm moving it to 3.5.0. > C api lacks synchronous 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, 3.4.3, 3.5.0 >Reporter: Nicholas Harteau >Assignee: Marshall McMullen > Fix For: 3.4.6 > > Attachments: ZOOKEEPER-1167.patch > > > 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. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (ZOOKEEPER-1167) C api lacks synchronous version of sync() call.
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13444695#comment-13444695 ] Mahadev konar commented on ZOOKEEPER-1167: -- Marshall, Would you have sometime to add tests to the patch? Would be good to have this in the next 3.4 release if possible. > C api lacks synchronous 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, 3.4.3, 3.5.0 >Reporter: Nicholas Harteau >Assignee: Marshall McMullen > Fix For: 3.4.4, 3.5.0 > > Attachments: ZOOKEEPER-1167.patch > > > 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. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (ZOOKEEPER-1167) C api lacks synchronous version of sync() call.
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13271926#comment-13271926 ] Marshall McMullen commented on ZOOKEEPER-1167: -- I may not get to this for a week or two as I'm overwhelmed at work...but I'll be happy to add some tests around this. > C api lacks synchronous 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, 3.4.3, 3.5.0 >Reporter: Nicholas Harteau >Assignee: Marshall McMullen > Fix For: 3.4.4, 3.5.0 > > Attachments: ZOOKEEPER-1167.patch > > > 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. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (ZOOKEEPER-1167) C api lacks synchronous version of sync() call.
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13269246#comment-13269246 ] Hadoop QA commented on ZOOKEEPER-1167: -- -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12525778/ZOOKEEPER-1167.patch against trunk revision 1334548. +1 @author. The patch does not contain any @author tags. -1 tests included. The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. +1 javadoc. The javadoc tool did not generate any warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. +1 core tests. The patch passed core unit tests. +1 contrib tests. The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/1061//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/1061//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/1061//console This message is automatically generated. > C api lacks synchronous 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, 3.4.3, 3.5.0 >Reporter: Nicholas Harteau > Fix For: 3.4.3, 3.5.0 > > Attachments: ZOOKEEPER-1167.patch > > > 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. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (ZOOKEEPER-1167) C api lacks synchronous version of sync() call.
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13269240#comment-13269240 ] Marshall McMullen commented on ZOOKEEPER-1167: -- This patch also applies cleanly to trunk. > C api lacks synchronous 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, 3.4.3, 3.5.0 >Reporter: Nicholas Harteau > Fix For: 3.4.3, 3.5.0 > > Attachments: ZOOKEEPER-1167.patch > > > 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. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (ZOOKEEPER-1167) C api lacks synchronous version of sync() call.
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13098132#comment-13098132 ] Patrick Hunt commented on ZOOKEEPER-1167: - to guarantee consistency btw two clients, yes. but typically this is not necessary - only when clients are also communicating via some method other than just ZK. re adding zoo_sync, well then it would be inconsistent with the java client. ;-) I think if you added such a thing it should not return until the callback was called - similar to all the other ZK sync methods. > C api lacks synchronous 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