Hi Hung,

Reviewed the patch.
Ack.

/Neel.

On 2017/05/09 01:45 PM, Hung Nguyen wrote:
> Remove CcbErrStrings that are set only on nodes with OI/PBE.
> Abort the CCB when those errors occur to avoid taking long time to abort the 
> CCB (due to timeout).
> ---
>   src/imm/immnd/immnd_evt.c | 68 
> ++++++++++++-----------------------------------
>   1 file changed, 17 insertions(+), 51 deletions(-)
>
> diff --git a/src/imm/immnd/immnd_evt.c b/src/imm/immnd/immnd_evt.c
> index 872bc62..eba29da 100644
> --- a/src/imm/immnd/immnd_evt.c
> +++ b/src/imm/immnd/immnd_evt.c
> @@ -7116,9 +7116,6 @@ static void immnd_evt_proc_object_create(IMMND_CB *cb, 
> IMMND_EVT *evt,
>                          should prevent any apply to succeed.
>                       */
>                       err = SA_AIS_ERR_FAILED_OPERATION;
> -                     immModel_setCcbErrorString(
> -                         cb, evt->info.objCreate.ccbId,
> -                         IMM_RESOURCE_ABORT "PBE is down");
>                       immnd_proc_global_abort_ccb(cb,
>                                                   evt->info.objCreate.ccbId);
>               } else {
> @@ -7143,10 +7140,6 @@ static void immnd_evt_proc_object_create(IMMND_CB *cb, 
> IMMND_EVT *evt,
>                               LOG_ER("Upcall over MDS for ccbObjectCreate "
>                                      "to PBE failed! - aborting");
>                               err = SA_AIS_ERR_FAILED_OPERATION;
> -                             immModel_setCcbErrorString(
> -                                 cb, evt->info.objCreate.ccbId,
> -                                 IMM_RESOURCE_ABORT
> -                                 "Upcall over MDS to PBE failed");
>                               immnd_proc_global_abort_ccb(
>                                   cb, evt->info.objCreate.ccbId);
>                       }
> @@ -7169,9 +7162,8 @@ static void immnd_evt_proc_object_create(IMMND_CB *cb, 
> IMMND_EVT *evt,
>                               LOG_WA("Client died");
>                               err = SA_AIS_ERR_FAILED_OPERATION;
>                               delayedReply = false;
> -                             immModel_setCcbErrorString(
> -                                 cb, evt->info.objCreate.ccbId,
> -                                 IMM_RESOURCE_ABORT "Client died");
> +                             immnd_proc_global_abort_ccb(
> +                                 cb, evt->info.objCreate.ccbId);
>                       } else {
>                               memset(&send_evt, '\0', sizeof(IMMSV_EVT));
>                               send_evt.type = IMMSV_EVT_TYPE_IMMA;
> @@ -7202,10 +7194,8 @@ static void immnd_evt_proc_object_create(IMMND_CB *cb, 
> IMMND_EVT *evt,
>                                       LOG_ER(
>                                           "Agent upcall over MDS for 
> ccbObjectCreate failed");
>                                       err = SA_AIS_ERR_FAILED_OPERATION;
> -                                     immModel_setCcbErrorString(
> -                                         cb, evt->info.objCreate.ccbId,
> -                                         IMM_RESOURCE_ABORT
> -                                         "Agent upcall over MDS failed");
> +                                     immnd_proc_global_abort_ccb(
> +                                         cb, evt->info.objCreate.ccbId);
>                               }
>                       }
>               }
> @@ -7409,9 +7399,6 @@ static void immnd_evt_proc_object_modify(IMMND_CB *cb, 
> IMMND_EVT *evt,
>                          should prevent any apply to succeed.
>                       */
>                       err = SA_AIS_ERR_FAILED_OPERATION;
> -                     immModel_setCcbErrorString(
> -                         cb, evt->info.objModify.ccbId,
> -                         IMM_RESOURCE_ABORT "PBE is down");
>                       immnd_proc_global_abort_ccb(cb,
>                                                   evt->info.objModify.ccbId);
>               } else {
> @@ -7441,10 +7428,6 @@ static void immnd_evt_proc_object_modify(IMMND_CB *cb, 
> IMMND_EVT *evt,
>                               LOG_ER("Upcall over MDS for ccbObjectModify "
>                                      "to PBE failed! - aborting");
>                               err = SA_AIS_ERR_FAILED_OPERATION;
> -                             immModel_setCcbErrorString(
> -                                 cb, evt->info.objModify.ccbId,
> -                                 IMM_RESOURCE_ABORT
> -                                 "Upcall over MDS to PBE failed");
>                               immnd_proc_global_abort_ccb(
>                                   cb, evt->info.objModify.ccbId);
>                       }
> @@ -7469,9 +7452,8 @@ static void immnd_evt_proc_object_modify(IMMND_CB *cb, 
> IMMND_EVT *evt,
>                                   "OI Client went down so no modify upcall");
>                               err = SA_AIS_ERR_FAILED_OPERATION;
>                               delayedReply = false;
> -                             immModel_setCcbErrorString(
> -                                 cb, evt->info.objModify.ccbId,
> -                                 IMM_RESOURCE_ABORT "OI client went down");
> +                             immnd_proc_global_abort_ccb(
> +                                 cb, evt->info.objCreate.ccbId);
>                       } else {
>                               memset(&send_evt, '\0', sizeof(IMMSV_EVT));
>                               send_evt.type = IMMSV_EVT_TYPE_IMMA;
> @@ -7525,10 +7507,8 @@ static void immnd_evt_proc_object_modify(IMMND_CB *cb, 
> IMMND_EVT *evt,
>                                       LOG_ER(
>                                           "Agent upcall over MDS for 
> ccbObjectModify failed");
>                                       err = SA_AIS_ERR_FAILED_OPERATION;
> -                                     immModel_setCcbErrorString(
> -                                         cb, evt->info.objModify.ccbId,
> -                                         IMM_RESOURCE_ABORT
> -                                         "Agent upcall over MDS failed");
> +                                     immnd_proc_global_abort_ccb(
> +                                         cb, evt->info.objCreate.ccbId);
>                               }
>                       }
>               }
> @@ -8320,9 +8300,6 @@ static void immnd_evt_proc_object_delete(IMMND_CB *cb, 
> IMMND_EVT *evt,
>                          should prevent any apply to succeed.
>                       */
>                       err = SA_AIS_ERR_FAILED_OPERATION;
> -                     immModel_setCcbErrorString(
> -                         cb, evt->info.objDelete.ccbId,
> -                         IMM_RESOURCE_ABORT "PBE is down");
>                       immnd_proc_global_abort_ccb(cb,
>                                                   evt->info.objDelete.ccbId);
>               } else {
> @@ -8353,10 +8330,6 @@ static void immnd_evt_proc_object_delete(IMMND_CB *cb, 
> IMMND_EVT *evt,
>                                           "to PBE failed! - aborting ccb %u",
>                                           evt->info.objDelete.ccbId);
>                                       err = SA_AIS_ERR_FAILED_OPERATION;
> -                                     immModel_setCcbErrorString(
> -                                         cb, evt->info.objDelete.ccbId,
> -                                         IMM_RESOURCE_ABORT
> -                                         "Upcall over MDS to PBE failed");
>                                       immnd_proc_global_abort_ccb(
>                                           cb, evt->info.objDelete.ccbId);
>                               }
> @@ -8402,10 +8375,8 @@ static void immnd_evt_proc_object_delete(IMMND_CB *cb, 
> IMMND_EVT *evt,
>                                        * to timeout on wait for the reply. */
>                                       err = SA_AIS_ERR_FAILED_OPERATION;
>                                       delayedReply = false;
> -                                     immModel_setCcbErrorString(
> -                                         cb, evt->info.objDelete.ccbId,
> -                                         IMM_RESOURCE_ABORT
> -                                         "Client went down");
> +                                     immnd_proc_global_abort_ccb(
> +                                         cb, evt->info.objCreate.ccbId);
>                               } else {
>                                       /* Generate an implementer upcall for
>                                          each deleted config object. No
> @@ -8445,11 +8416,9 @@ static void immnd_evt_proc_object_delete(IMMND_CB *cb, 
> IMMND_EVT *evt,
>                                               err =
>                                                   SA_AIS_ERR_FAILED_OPERATION;
>                                               delayedReply = false;
> -                                             immModel_setCcbErrorString(
> +                                             immnd_proc_global_abort_ccb(
>                                                   cb,
> -                                                 evt->info.objDelete.ccbId,
> -                                                 IMM_RESOURCE_ABORT
> -                                                 "Upcall over MDS failed");
> +                                                 evt->info.objCreate.ccbId);
>                                       }
>                               }
>                       } /*for */
> @@ -9192,10 +9161,8 @@ static void immnd_evt_proc_ccb_apply(IMMND_CB *cb, 
> IMMND_EVT *evt,
>                                           "IMMND - Client went down so no 
> response");
>                                       err = SA_AIS_ERR_FAILED_OPERATION;
>                                       delayedReply = false;
> -                                     immModel_setCcbErrorString(
> -                                         cb, evt->info.ccbId,
> -                                         IMM_RESOURCE_ABORT
> -                                         "Client went down");
> +                                     immnd_proc_global_abort_ccb(
> +                                         cb, evt->info.objCreate.ccbId);
>                               } else {
>                                       send_evt.info.imma.info.ccbCompl.ccbId =
>                                           evt->info.ccbId;
> @@ -9220,10 +9187,9 @@ static void immnd_evt_proc_ccb_apply(IMMND_CB *cb, 
> IMMND_EVT *evt,
>                                               /* should abort the entire ccb
>                                                */
>                                               delayedReply = false;
> -                                             immModel_setCcbErrorString(
> -                                                 cb, evt->info.ccbId,
> -                                                 IMM_RESOURCE_ABORT
> -                                                 "Upcall over MDS failed");
> +                                             immnd_proc_global_abort_ccb(
> +                                                 cb,
> +                                                 evt->info.objCreate.ccbId);
>                                       } else {
>                                               TRACE_2(
>                                                   "IMMND UPCALL TO OI, SEND 
> SUCCEEDED");


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to