[Linux-cluster] Changes in libccs behaviour (PLEASE READ!)
Fabio M. Di Nitto
fdinitto at redhat.com
Tue Jun 3 09:16:11 UTC 2008
I just landed the last bits in libccs to support both xpath lite and full
xpath queries. With this new code, a couple of things need to be checked
across all applications using libccs.
ccs_connect() used to return only when cluster is quorated.
This is not the case anymore. ccs_connect will return as soon as it can
connect to aisexec and init properly (or fail).
You can use cman_is_quorate from libcman for the same feature.
ccs_force_connect() used to take a cluster name in input. The API is still
the same, but the cluster name is now ignored (it wasn't in used before
in order to use xpath lite or full xpath, set fullxpath (int from ccs.h)
to either 0 (xpath lite and default) or 1 (full xpath) before invoking
ccs_connect or ccs_force_connect.
In order to switch from one mode to another, you have to disconnect and
WARNING: use full xpath only if you cannot live without. It is slow and
it's a memory eating piece of code.
WARNING2: the library is not thread safe (yet?). So far none of our
callers really need this feature. Please let me know if i overlooked.
Please review your ccs init calls around and take appropriate actions.
ccs_test(8): not fully completed yet (another email will follow).
Feel free to contact me if you have any questions
PS hint: ccs_force_connect() has a blocking option that will idle loop as
long as required and will exit the loop when cman is available for
queries. This could replace several hand made loops on ccs_connect i have
I'm going to make him an offer he can't refuse.
More information about the Linux-cluster