Ack, (tested the "pre-patch")/Regards HansN

On 09/24/14 21:26, mathi.naic...@oracle.com wrote:
>   osaf/services/saf/clmsv/clms/clms_imm.c |  25 +++++++++++++++++++++----
>   1 files changed, 21 insertions(+), 4 deletions(-)
>
>
> It is possible that when a payload that goes down during controller failover, 
> can reboot and come back fast.
> As a part of failover processing, it is possible that the agent downs for 
> these nodes reach the new ACTIVE
> before node down events. In this scenario, when sending a track callback with 
> COMPLETED step, we need
> to check whether the track is for an agent that is on a node for which we 
> have received node downevent.
> And if so, don't send track for any clm agent(subscriber) on that node.
>
> diff --git a/osaf/services/saf/clmsv/clms/clms_imm.c 
> b/osaf/services/saf/clmsv/clms/clms_imm.c
> --- a/osaf/services/saf/clmsv/clms/clms_imm.c
> +++ b/osaf/services/saf/clmsv/clms/clms_imm.c
> @@ -1036,17 +1036,34 @@ void clms_send_track(CLMS_CB * cb, CLMS_
>                                               /*Implies the change is on this 
> local node */
>                                               rc = 
> clms_send_track_local(node,rec,SA_CLM_CHANGE_COMPLETED);
>                                       }
> -                             } else
> -                                     rc = clms_prep_and_send_track(cb, node, 
> rec, SA_CLM_CHANGE_COMPLETED,
> +                             } else {
> +                                     /* In the COMPLETED step and when there 
> is no admin op in progress,
> +                                      * we shouldn't send track to the same 
> node that left the cluster.
> +                                      * Because, this node would have 
> rebooted and come back so quick and
> +                                      * the subscriber would have come back 
> with the same address.
> +                                      * We may not yet have recieved the 
> service down of the agents on this node.
> +                                      */
> +                                     if ((node_id != node->node_id) && 
> (node->admin_op == 0)){
> +                                             rc = 
> clms_prep_and_send_track(cb, node, rec, SA_CLM_CHANGE_COMPLETED,
>                                                             
> notify_changes_only);
> +                                     }
> +                             }
>                       }else if (rec->track_flags & SA_TRACK_CHANGES){
>                               if(rec->track_flags & SA_TRACK_LOCAL){
>                                       if(node_id == node->node_id){
>                                               /*Implies the change is on this 
> local node */
>                                               rc = 
> clms_send_track_local(node,rec,SA_CLM_CHANGE_COMPLETED);
>                                       }
> -                             } else
> -                                     rc = clms_prep_and_send_track(cb, node, 
> rec, SA_CLM_CHANGE_COMPLETED, notify_changes);
> +                             } else {
> +                                     /* In the COMPLETED step and when there 
> is no admin op in progress,
> +                                      * we shouldn't send track to the same 
> node that left the cluster.
> +                                      * Because, this node would have 
> rebooted and come back so quick and
> +                                      * the subscriber would have come back 
> with the same address.
> +                                      * We may not yet have recieved the 
> service down of the agents on this node.
> +                                      */
> +                                     if ((node_id != node->node_id) && 
> (node->admin_op == 0))
> +                                             rc = 
> clms_prep_and_send_track(cb, node, rec, SA_CLM_CHANGE_COMPLETED, 
> notify_changes);
> +                             }
>                       }
>   
>                       if (rc != NCSCC_RC_SUCCESS) {


------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to