Hi Neel,

I have this problem when testing the patch.
saImmOiAugmentCcbInitialize() doesn't crash but it always fails with 
ERR_TRY_AGAIN.

Aug 22 18:57:49.347120 imma [1503:imma_oi_api.c:3662] >> 
saImmOiAugmentCcbInitialize
Aug 22 18:57:49.347441 imma [1503:imma_db.c:0451] >> 
imma_oi_ccb_record_ok_augment
Aug 22 18:57:49.347691 imma [1503:imma_db.c:0187] >> imma_oi_ccb_record_find
Aug 22 18:57:49.347935 imma [1503:imma_db.c:0194] TR Record for ccbid:0x5 
handle:c60002010f client:0xab0560 found
Aug 22 18:57:49.348150 imma [1503:imma_db.c:0198] << imma_oi_ccb_record_find
Aug 22 18:57:49.348456 imma [1503:imma_db.c:0473] << 
imma_oi_ccb_record_ok_augment
Aug 22 18:57:49.348708 imma [1503:imma_om_api.c:9733] >> 
immsv_om_handle_initialize
Aug 22 18:57:49.348943 imma [1503:imma_om_api.c:0095] >> saImmOmInitialize_o2
Aug 22 18:57:49.349170 imma [1503:imma_om_api.c:0228] >> initialize_common
Aug 22 18:57:49.349408 imma [1503:imma_init.c:0275] >> imma_startup: use count 0
Aug 22 18:57:49.350066 imma [1503:imma_init.c:0064] >> imma_sync_with_immnd
Aug 22 18:57:49.350339 imma [1503:imma_init.c:0073] TR Blocking first client
Aug 22 18:57:49.350495 imma [1503:imma_mds.c:0421] T3 IMMND UP
Aug 22 18:57:49.350944 imma [1503:osaf_secutil.c:0305] >> 
osaf_auth_server_connect
Aug 22 18:57:49.351361 imma [1503:osaf_secutil.c:0354] << 
osaf_auth_server_connect
Aug 22 18:57:49.351589 imma [1503:mds_main.c:0274] TR received type:78, status:0
Aug 22 18:57:49.351878 imma [1503:imma_proc.c:0419] >> 
imma_determine_clients_to_resurrect
Aug 22 18:57:49.352148 imma [1503:imma_proc.c:0501] << 
imma_determine_clients_to_resurrect
Aug 22 18:57:49.351924 imma [1503:imma_init.c:0083] TR Blocking wait released
Aug 22 18:57:49.352383 imma [1503:imma_init.c:0093] << imma_sync_with_immnd
Aug 22 18:57:49.352548 imma [1503:imma_init.c:0179] TR Client agent 
successfully initialized
Aug 22 18:57:49.352640 imma [1503:imma_init.c:0298] << imma_startup: use count 1
Aug 22 18:57:49.353082 imma [1503:imma_om_api.c:0349] T1 Trying to add OM 
client id:200 node:2010f
Aug 22 18:57:49.353256 imma [1503:imma_om_api.c:0442] << initialize_common
Aug 22 18:57:49.354056 imma [1503:imma_oi_api.c:3843] TR AugCcbinit: Admo has 
ReleaseOnFinalize FALSE => init separate admo => must fetch admo-name first
Aug 22 18:57:49.354637 imma [1503:imma_oi_api.c:3566] >> getAdmoName
Aug 22 18:57:49.354919 imma [1503:imma_om_api.c:9703] >> 
immsv_om_augment_ccb_get_admo_name
Aug 22 18:57:49.355214 imma [1503:imma_om_api.c:5528] >> 
saImmOmAccessorInitialize
Aug 22 18:57:49.355476 imma [1503:imma_om_api.c:5626] << 
saImmOmAccessorInitialize
Aug 22 18:57:49.355735 imma [1503:imma_om_api.c:5763] >> 
accessor_get_common Aug 22 18:57:49.356062 imma 
[1503:imma_om_api.c:5779] T2 ERR_INVALID_PARAM: Incorrect parameter 
contents: objectName Aug 22 18:57:49.356373 imma 
[1503:imma_om_api.c:5780] << accessor_get_common
Aug 22 18:57:49.356506 imma [1503:imma_om_api.c:5639] >> saImmOmAccessorFinalize
Aug 22 18:57:49.356628 imma [1503:imma_om_api.c:5694] << saImmOmAccessorFinalize
Aug 22 18:57:49.356737 imma [1503:imma_om_api.c:9727] << 
immsv_om_augment_ccb_get_admo_name
Aug 22 18:57:49.356933 imma [1503:imma_oi_api.c:3608] << getAdmoName
Aug 22 18:57:49.357157 imma [1503:imma_oi_api.c:3849] TR ERR_TRY_AGAIN: 
failed to obtain SaImmAttrAdminOwnerName 7
Aug 22 18:57:49.357379 imma [1503:imma_db.c:0480] >> imma_oi_ccb_record_augment
Aug 22 18:57:49.357599 imma [1503:imma_db.c:0187] >> imma_oi_ccb_record_find
Aug 22 18:57:49.357887 imma [1503:imma_db.c:0194] TR Record for ccbid:0x5 
handle:c60002010f client:0xab0560 found
Aug 22 18:57:49.358206 imma [1503:imma_db.c:0198] << imma_oi_ccb_record_find
Aug 22 18:57:49.358741 imma [1503:imma_db.c:0504] << imma_oi_ccb_record_augment
Aug 22 18:57:49.358920 imma [1503:imma_oi_api.c:3898] TR ownerHandle:0
Aug 22 18:57:49.359116 imma [1503:imma_oi_api.c:3911] << 
saImmOiAugmentCcbInitialize


IMMA_CALLBACK_INFO.name is not available for CcbCompletedCallback.


BR,

Hung Nguyen - DEK Technologies


--------------------------------------------------------------------------------
From: Neelakanta Reddy reddy.neelaka...@oracle.com
Sent: Friday, August 19, 2016 4:45PM
To: Zoran Milinkovic, Hung Nguyen
     zoran.milinko...@ericsson.com, hung.d.ngu...@dektech.com.au
Cc: Opensaf-devel
     opensaf-devel@lists.sourceforge.net
Subject: [PATCH 1 of 1] imm: Allow saImmOmCcbObjectRead in completed callback 
when ROF is set to false [#1956]


  osaf/libs/agents/saf/imma/imma_oi_api.c |  3 ++-
  osaf/services/saf/immsv/README          |  6 ++++++
  2 files changed, 8 insertions(+), 1 deletions(-)


diff --git a/osaf/libs/agents/saf/imma/imma_oi_api.c 
b/osaf/libs/agents/saf/imma/imma_oi_api.c
--- a/osaf/libs/agents/saf/imma/imma_oi_api.c
+++ b/osaf/libs/agents/saf/imma/imma_oi_api.c
@@ -3587,7 +3587,8 @@ getAdmoName(SaImmHandleT privateOmHandle
      } else {
            /* modify or delete => fetch admo attribute for object from server. 
*/
            if((cbi->type != IMMA_CALLBACK_OI_CCB_DELETE) &&
-                   (cbi->type != IMMA_CALLBACK_OI_CCB_MODIFY)) {
+                   (cbi->type != IMMA_CALLBACK_OI_CCB_MODIFY) &&
+                       (cbi->type != IMMA_CALLBACK_OI_CCB_COMPLETED)) {
                    LOG_ER("Inconsistency in callback type:%u", cbi->type);
                    abort();
            }
diff --git a/osaf/services/saf/immsv/README b/osaf/services/saf/immsv/README
--- a/osaf/services/saf/immsv/README
+++ b/osaf/services/saf/immsv/README
@@ -2727,6 +2727,12 @@ The API works exactly the same way as sa
  
     e) Safe read is not allowed using a runtime object as target.
  
+   f) saImmOiAugmentCcbInitialize is allowed in completed callback, but it 
should be
+      mainly used for calling saImmOmCcbObjectRead. After 
saImmOiAugmentCcbInitialize
+      succeeds object create/delete/modify will not be called  because ccb 
will not
+      be in the state to execute the operations and ccb will be marked as 
abort.
+      After calling saImmOmCcbObjectRead, the augumentaion should be finalized.
+
  Runtime attributes residing in a config object are handled exactly the same 
as for
  saImmOmAccessorGet. The reason a safe-read call is not allowed on a runtime 
*object*
  is that a runtime object *only* contains runtime attributes. Performing a 
safe-read


------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to