[Cluster-devel] Changes in libccs behaviour (PLEASE READ!)

Fabio M. Di Nitto fdinitto at redhat.com
Tue Jun 3 09:16:11 UTC 2008


Hi guys,

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.

Relevant changes:

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 
either).

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 
connect again.

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

Fabio

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 
seen around.

--
I'm going to make him an offer he can't refuse.




More information about the Cluster-devel mailing list