Information where applier is set (on classes or objects) should be only stored on the originating node where the applier is set.
Today, object and class applier set, using saImmOiObjectImplementerSet() and saImmOiClassImplementerSet(), is done over fevs, and this information is stored on all nodes. Newly synced node does not have information where the applier is set.
Detaching the applier from the originating node and attaching to the new node may have different attached objects and classes then attaching the applier again to the originating node or some veteran node.
This means that if the applier is set to a new object or class, it may get different callbacks on veteran nodes (including the originating node) and new nodes.
Appliers are weak, and applications must set applier again to objects and classes after applier is set by saImmOiImplementerSet().
Applier bindings are only of interest on the local node. Object and class applier bindings are not of interest for remote nodes.
This patch should make object and class applier set info consistent per node.
This means that applier set (saImmOiImplementerSet() ) will bind objects and classes that have alredy been bound on the local node by the same applier name.
Applier set (using saImmOiImplementerSet() ) will work as it works today. Applier name and applier id will be stored on all nodes.
Object and class applier set (using saImmOiObjectImplementerSet() and saImmOiClassImplementerSet() ) will only be done on local immnd, and will not be sent to all nodes like it works today.
Diff:
https://sourceforge.net/p/opensaf/mailman/message/34593252/
https://sourceforge.net/p/opensaf/mailman/message/34756489/
default(5.0):
changeset: 7260:ac528ebb3340
tag: tip
parent: 7258:bc2ef6906c3e
user: Zoran Milinkovic zoran.milinkovic@ericsson.com
date: Mon Jan 11 16:30:03 2016 +0100
summary: imm: save class and object applier bindings only on local node [#1535]
Related
Tickets:
#1535