osaf/services/saf/immsv/immnd/ImmModel.cc |  26 +++++++++++++++++++++++++-
 1 files changed, 25 insertions(+), 1 deletions(-)


Class and object applier set info will be stored only on local node, while 
applier name and applier id will be stored on all nodes as it is today.

diff --git a/osaf/services/saf/immsv/immnd/ImmModel.cc 
b/osaf/services/saf/immsv/immnd/ImmModel.cc
--- a/osaf/services/saf/immsv/immnd/ImmModel.cc
+++ b/osaf/services/saf/immsv/immnd/ImmModel.cc
@@ -13193,7 +13193,7 @@ ImmModel::implementerSet(const IMMSV_OCT
                         goto done;
                     }
 
-                    if(isApplier) { 
+                    if(isApplier && conn) {
                         if( ! obj->mClassInfo->mAppliers.empty()) {
                             ImplementerSet::iterator ii = 
obj->mClassInfo->mAppliers.begin();
                             for(; ii != obj->mClassInfo->mAppliers.end(); 
++ii) {
@@ -13368,6 +13368,12 @@ ImmModel::classImplementerSet(const stru
         goto done;
     }
 
+    if(info->mApplier && !conn) {
+        // Applier is not on this node. No need to proceed further
+        err = SA_AIS_OK;
+        goto done;
+    }
+
     //conn is NULL on all nodes except primary.
     //At these other nodes the only info on implementer existence
     //is that the nodeId is non-zero. The nodeId is the nodeId of
@@ -13620,6 +13626,12 @@ ImmModel::classImplementerRelease(const 
         goto done;
     } 
 
+    if(info->mApplier && !conn) {
+        // Applier is not on this node. No need to proceed further
+        err = SA_AIS_OK;
+        goto done;
+    }
+
     //conn is NULL on all nodes except primary.
     //At these other nodes the only info on implementer existence
     //is that the nodeId is non-zero. The nodeId is the nodeId of
@@ -13807,6 +13819,12 @@ SaAisErrorT ImmModel::objectImplementerS
         goto done;
     }
 
+    if(info->mApplier && !conn) {
+        // Applier is not on this node. No need to proceed further
+        err = SA_AIS_OK;
+        goto done;
+    }
+
     //conn is NULL on all nodes except primary.
     //At these other nodes the only info on implementer existence 
     //is that the nodeId is non-zero. The nodeId is the nodeId of
@@ -13915,6 +13933,12 @@ SaAisErrorT ImmModel::objectImplementerR
         goto done;
     }
 
+    if(info->mApplier && !conn) {
+        // Applier is not on this node. No need to proceed further
+        err = SA_AIS_OK;
+        goto done;
+    }
+
     //conn is NULL on all nodes except primary.
     //At these other nodes the only info on implementer existence 
     //is that the nodeId is non-zero. The nodeId is the nodeId of

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to