On Wed, 2010-02-03 at 18:23 -0700, hj lee wrote: > Hi, > > The service engine plugin interface defines confchg_fn and sync APIs. > Both callbacks are triggered by tetempg's confchg_fn. It seems two > callbacks carry the same information about configuration changes and > so I think configuration update(like membership update) can be done > either one of two APIs (confchg_fn or sync). So a service needs to > implement one of two APIs. Am I correct? > > Then what is the advantage of using sync service? Does it guarantee > that all processors in cluster are synchronized about configuration? > How? Anyway if then, will it take more time to sync all processors > than just processing confchg_fn? >
sync guarantees an orderly exchange of information to rebuild state after a partition or merge. confchg only tells the user what the configuration changes are. sync guarantees that first sync_init is called on each node atomically, then each service engines sync process is called until it returns the appropriate value. Once all nodes have finished sync process, a barrier is generated to verify that all nodes have received any messages that are part of the sync processing. Once the barrier is received by all nodes, sync_activate is called atomically on all nodes. If a configuration change occurs during any part of synchronization, sync_abort will be called. Regards -steve > Thanks > hj > _______________________________________________ > Openais mailing list > [email protected] > https://lists.linux-foundation.org/mailman/listinfo/openais _______________________________________________ Openais mailing list [email protected] https://lists.linux-foundation.org/mailman/listinfo/openais
