---

** [tickets:#1504] imm: Appliers for classes and objects are not synced to 
sync-client**

**Status:** assigned
**Milestone:** 4.5.2
**Created:** Mon Sep 28, 2015 04:15 AM UTC by Hung Nguyen
**Last Updated:** Mon Sep 28, 2015 04:15 AM UTC
**Owner:** Hung Nguyen


Set an applier to a class. Then exit immapplier to detach the applier.

~~~~
root@SC1:~# immapplier -a @whatever Test
~~~~

 
 
Let another node join the cluster.
Create a CCB which is active on an object of 'Test' class. Don't commit the CCB.

~~~~
root@SC1:~# immcfg
> immcfg -c Test test=1
>
~~~~


Try to set applier again.

~~~~
root@SC1:/srv/shared# immapplier -a @whatever Test
Implementer: @whatever
ImmVersion: A 2 16
error - saImmOiImplementerSet FAILED: SA_AIS_ERR_TRY_AGAIN (6)
~~~~

SC-1

~~~~
osafimmnd [419:immsv_evt.c:5414] T8 Received: IMMND_EVT_D2ND_IMPLSET_RSP (60) 
from 0
osafimmnd [419:immnd_evt.c:9527] T2 originated here?:1 nodeId:2010f conn: 225
osafimmnd [419:ImmModel.cc:12967] >> implementerSet
osafimmnd [419:ImmModel.cc:13008] T7 Re-using implementer for @whatever
osafimmnd [419:ImmModel.cc:13040] TR TRY_AGAIN: ccb 2 is active on object 
'test=1' bound to class applier '@whatever'. Can not re-attach applier
osafimmnd [419:ImmModel.cc:13156] << implementerSet
~~~~

PL-3

~~~~
osafimmnd [392:immsv_evt.c:5414] T8 Received: IMMND_EVT_D2ND_IMPLSET_RSP (60) 
from 0
osafimmnd [392:immnd_evt.c:9527] T2 originated here?:0 nodeId:2010f conn: 225
osafimmnd [392:ImmModel.cc:12967] >> implementerSet
osafimmnd [392:ImmModel.cc:13008] T7 Re-using implementer for @whatever
osafimmnd [392:ImmModel.cc:13087] NO Implementer (applier) connected: 5 
(@whatever) <0, 2010f>
osafimmnd [392:ImmModel.cc:13156] << implementerSet
~~~~

IMMND on SC-1 rejected the implSet request but IMMND on PL-3 accepted it.
The applier was not synced to PL-3 (mAppliers.empty() returned true) so the 
implSet request passed the ccb check.

                if( ! obj->mClassInfo->mAppliers.empty()) {
                    ImplementerSet::iterator ii = 
obj->mClassInfo->mAppliers.begin();
                    for(; ii != obj->mClassInfo->mAppliers.end(); ++ii) {
                        if((*ii) == info) {
                            TRACE("TRY_AGAIN: ccb %u is active on object '%s' "
                               "bound to class applier '%s'. Can not re-attach 
applier",
                               ccb->mId, omit->first.c_str(), implName.c_str());
                            err = SA_AIS_ERR_TRY_AGAIN;
                            goto done;
                        }
                    }
                }

Now commit the CCB and try to set the applier again.

SC-1

~~~~
osafimmnd [419:immsv_evt.c:5414] T8 Received: IMMND_EVT_D2ND_IMPLSET_RSP (60) 
from 0
osafimmnd [419:immnd_evt.c:9527] T2 originated here?:1 nodeId:2010f conn: 226
osafimmnd [419:ImmModel.cc:12967] >> implementerSet
osafimmnd [419:ImmModel.cc:13008] T7 Re-using implementer for @whatever
osafimmnd [419:ImmModel.cc:13087] NO Implementer (applier) connected: 6 
(@whatever) <226, 2010f>
osafimmnd [419:ImmModel.cc:13156] << implementerSet
~~~~

PL-3

~~~~
osafimmnd [392:immsv_evt.c:5414] T8 Received: IMMND_EVT_D2ND_IMPLSET_RSP (60) 
from 0
osafimmnd [392:immnd_evt.c:9527] T2 originated here?:0 nodeId:2010f conn: 226
osafimmnd [392:ImmModel.cc:12967] >> implementerSet
osafimmnd [392:ImmModel.cc:13003] T7 ERR_EXIST: Registered implementer already 
exists: @whatever
osafimmnd [392:ImmModel.cc:13005] << implementerSet
~~~~

The applier had diferent ids on SC-1 and PL-3. When a new node joins the 
cluster, IMMND on PL-3 will crash when verifying the implementers.

~~~~
PL3 osafimmnd[392]: ER Sync-verify: Established node has different 
Implementer-id: 5 for name: @whatever, sync says 6.
~~~~


---

Sent from sourceforge.net because opensaf-tickets@lists.sourceforge.net is 
subscribed to https://sourceforge.net/p/opensaf/tickets/

To unsubscribe from further messages, a project admin can change settings at 
https://sourceforge.net/p/opensaf/admin/tickets/options.  Or, if this is a 
mailing list, you can unsubscribe from the mailing list.
------------------------------------------------------------------------------
_______________________________________________
Opensaf-tickets mailing list
Opensaf-tickets@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets

Reply via email to