Ack, code review only. One minor comment:

As per README PG tracking APIs are unavailable during headless. Here 
even though, controllers have come up system is still headless. Since 
application is distributed across nodes, application state from other 
nodes may also generate these PG events. After headless AMFD will get PG 
events from each node. An application may get unrecorded callbacks. I 
think in future, AMF can publish latest status of Protection group to 
each of the participating comps after returning from headless state and 
after becoming stable.


Thanks,
Praveen



On 14-Oct-16 11:14 AM, Gary Lee wrote:
> Hi Praveen
>
> Yeah, but at least it’s added to “diq”. So when amfnd gets set_led again, the 
> message will be retransmitted and accepted by amfd.
>
> Thanks
> Gary
>
>> On 14 Oct. 2016, at 4:40 pm, praveen malviya <praveen.malv...@oracle.com> 
>> wrote:
>>
>>
>> But I think same problem will still come as AMFND is trying to send this 
>> newly added record only in the same function avnd_di_msg_send():
>>  /* add the record to the AvD msg list */
>>        if ((0 != (rec = avnd_diq_rec_add(cb, msg)))) {
>>                /* send the message */
>>                avnd_diq_rec_send(cb, rec);
>>        } else
>>                rc = NCSCC_RC_FAILURE;
>>
>> Thanks,
>> Praveen
>>
>>
>> On 14-Oct-16 10:59 AM, Gary Lee wrote:
>>> Hi Praveen
>>>
>>> Yes, I will change it to make it clearer.
>>>
>>> Thanks
>>>
>>>> On 14 Oct. 2016, at 4:27 pm, praveen malviya <praveen.malv...@oracle.com> 
>>>> wrote:
>>>>
>>>> Hi Gary,
>>>>
>>>> one query inline with [Praveen]
>>>>
>>>> Thanks,
>>>> Praveen
>>>>
>>>> On 13-Oct-16 4:20 AM, Gary Lee wrote:
>>>>> osaf/services/saf/amf/amfnd/di.cc |  8 ++------
>>>>> 1 files changed, 2 insertions(+), 6 deletions(-)
>>>>>
>>>>>
>>>>> After SC absence, active amfd will reject messages from 'veteran' amfnds 
>>>>> until
>>>>> its local amfnd has started. During this period, if a PG track action msg
>>>>> is sent and rejected by amfd, it will cause the sending amfnd to lose sync
>>>> [Praveen] I think here "lose sync" means it will cause message id mismatch 
>>>> later.
>>>>
>>>>> with amfd. So we should also queue this message to be re-sent.
>>>>>
>>>>> diff --git a/osaf/services/saf/amf/amfnd/di.cc 
>>>>> b/osaf/services/saf/amf/amfnd/di.cc
>>>>> --- a/osaf/services/saf/amf/amfnd/di.cc
>>>>> +++ b/osaf/services/saf/amf/amfnd/di.cc
>>>>> @@ -1033,12 +1033,8 @@ uint32_t avnd_di_msg_send(AVND_CB *cb, A
>>>>>   if (!msg)
>>>>>           goto done;
>>>>>
>>>>> - /* Verify Ack nack and PG track action msgs are not buffered */
>>>>> - if (m_AVSV_N2D_MSG_IS_PG_TRACK_ACT(msg->info.avd)) {
>>>>> -         /*send the response to AvD */
>>>>> -         rc = avnd_mds_send(cb, msg, &cb->avd_dest, 0);
>>>>> -         goto done;
>>>>> - } else if (m_AVSV_N2D_MSG_IS_VER_ACK_NACK(msg->info.avd)) {
>>>>> + /* Verify Ack nack msgs are not buffered */
>>>>> + if (m_AVSV_N2D_MSG_IS_VER_ACK_NACK(msg->info.avd)) {
>>>>>           /*send the response to active AvD (In case MDS has not updated 
>>>>> its
>>>>>              tables by this time) */
>>>>>           TRACE_1("%s, Active AVD Adest: %" PRIu64, __FUNCTION__, 
>>>>> cb->active_avd_adest);
>>>>>
>>>
>

------------------------------------------------------------------------------
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
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to