[
https://issues.apache.org/jira/browse/ZOOKEEPER-761?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jozef Hatala updated ZOOKEEPER-761:
---
Description:
Since the synchronous calls are
[known|http://hadoop.apache.org/zookeeper/docs/current/zookeeperProgrammers.html#Using+the+C+Client]
to be unimplemented in the single threaded version of the client library
libzookeeper_st.so, I believe that it would be helpful towards users of the
library if that information was also obvious from the header file.
Anecdotally more than one of us here made the mistake of starting by using the
synchronous calls with the single-threaded library, and we found ourselves
debugging it. An early warning would have been greatly appreciated.
1. Could you please add warnings to the doxygen blocks of all synchronous calls
saying that they are not available in the single-threaded API. This cannot be
safely done with {{#ifdef THREADED}}, obviously, because the same header file
is included whichever client library implementation one is compiling for.
2. Could you please bracket the implementation of all synchronous calls in
zookeeper.c with {{#ifdef THREADED}} and {{#endif}}, so that those symbols are
not present in libzookeeper_st.so?
was:
Since the synchronous calls are
[http://hadoop.apache.org/zookeeper/docs/current/zookeeperProgrammers.html#Using+the+C+Client|known]
to be unimplemented in the single threaded version of the client library
libzookeeper_st.so, I believe that it would be helpful towards users of the
library if that information was also obvious from the header file.
Anecdotally more than one of us here made the mistake of starting by using the
synchronous calls with the single-threaded library, and we found ourselves
debugging it. An early warning would have been greatly appreciated.
1. Could you please add warnings to the doxygen blocks of all synchronous calls
saying that they are not available in the single-threaded API. This cannot be
safely done with {{#ifdef THREADED}}, obviously, because the same header file
is included whichever client library implementation one is compiling for.
2. Could you please bracket the implementation of all synchronous calls in
zookeeper.c with {{#ifdef THREADED}} and {{#endif}}, so that those symbols are
not present in libzookeeper_st.so?
Remove *synchronous* calls from the *single-threaded* C clieant API, since
they are documented not to work
--
Key: ZOOKEEPER-761
URL: https://issues.apache.org/jira/browse/ZOOKEEPER-761
Project: Zookeeper
Issue Type: Improvement
Components: c client
Affects Versions: 3.1.1, 3.2.2
Environment: RHEL 4u8 (Linux). The issue is not OS-specific though.
Reporter: Jozef Hatala
Priority: Minor
Since the synchronous calls are
[known|http://hadoop.apache.org/zookeeper/docs/current/zookeeperProgrammers.html#Using+the+C+Client]
to be unimplemented in the single threaded version of the client library
libzookeeper_st.so, I believe that it would be helpful towards users of the
library if that information was also obvious from the header file.
Anecdotally more than one of us here made the mistake of starting by using
the synchronous calls with the single-threaded library, and we found
ourselves debugging it. An early warning would have been greatly appreciated.
1. Could you please add warnings to the doxygen blocks of all synchronous
calls saying that they are not available in the single-threaded API. This
cannot be safely done with {{#ifdef THREADED}}, obviously, because the same
header file is included whichever client library implementation one is
compiling for.
2. Could you please bracket the implementation of all synchronous calls in
zookeeper.c with {{#ifdef THREADED}} and {{#endif}}, so that those symbols
are not present in libzookeeper_st.so?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.