Re: [Openais] new config system
David Teigland wrote: On Wed, Mar 26, 2008 at 12:24:23PM -0700, Steven Dake wrote: This diagram indicates there is a need for two separate levels of datahiding. The first level is the libcsdb (corosync db) which then some other library parses for information specific to the cluster stack. Then this other api is used. In my mind this type of double abstraction serves no purpose. They both serve up the same data. It also may Right, libcsdb isn't doing anything, scratch it out. I just added it because Chrissie suggested another lib in there might help. The main reason for the double library was to avoid linking libxml with an openais component. While I'm clear (and heartly agree) that large external libraries should not be part of the exec I had a bit of a hard time getting a clear policy for IPC-based libraries. I'm not wedded to either solution, I was largely hedging my bets. Caching these values is not suitable in my opinion. Just use the rest of the infrastructure we already have in place to parse them and put them in the objdb and make them available via some unnamed api. Fine, scratch that too, it's not important. I'm not going to push this either way at the moment, but I think we should keep in available as an option. It might be helpful as an emergency fallback to get a cluster up where there is no other way of getting configuration information. -- Chrissie ___ Openais mailing list Openais@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/openais
[Openais] whitetank/trunk - remove early commit in certain recovery scenarios
In the condition that there are 3 nodes, and 2 nodes fail, and then 1 node is started, while that 1 node is executing the synchronization recovery algorithm (for ckpt in this case), and then another node starts, the checkpoint database can become corrupted because of an early commit in the abort phase. The solution is simply to remove the call to the commit handler when the recovery phase is aborted. Patch attached for whitetank and trunk. Regards -steve Index: sync.c === --- sync.c (revision 1505) +++ sync.c (working copy) @@ -429,6 +429,7 @@ sizeof (barrier_data_confchg)); sync_callbacks_load(); +log_printf (LOG_LEVEL_NOTICE, sync_callbacks_load\n); /* * if sync service found, execute it @@ -457,6 +458,7 @@ } if (sync_processing sync_callbacks.sync_abort != NULL) { sync_callbacks.sync_abort (); + sync_callbacks.sync_activate = NULL; } /* * If no virtual synchrony filter configured, then start ___ Openais mailing list Openais@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/openais
Re: [Openais] new config system
Hi Wouldn't this be solved quite well with the AIS-IMM interface? Obvously it hasn't been implemeted, but if you implemented a subset of the interface you could get what you are after and we could all benefit from more of the AIS spec been implemented. Initially you could make use of the ImmOi (Object Implementer) interface. P.S. : I am just starting work on this. Regards -Angus ___ Openais mailing list Openais@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/openais