Hi Hung,

got it.

Reviewed the patch.
Ack.

Thanks,
Neel.

On 2017/02/21 01:01 PM, Hung Nguyen wrote:
> Hi Neel,
>
> The problem is,
> in immnd_proc_discard_other_nodes(), it fails to use 
> immnd_client_node_getnext() to get the client_node associated to the OI that 
> being discarded.
> The reason is the client_node has already been removed from 
> cb->client_info_db when the client was killed.
>
> I had imm traces attched to the ticket, you can look at the traces.
>
> Feb 15 10:57:20.674683 osafimmnd [1127:src/imm/immnd/ImmModel.cc:13713] NO 
> Implementer locally disconnected. Marking it as doomed 6 <29, 2030f> (xhunngu)
> Feb 15 10:57:20.674763 osafimmnd [1127:src/imm/immnd/ImmModel.cc:13737] << 
> discardImplementer
> Feb 15 10:57:20.674790 osafimmnd [1127:src/imm/immnd/immnd_proc.c:0242] T5 
> Discard connection id:1d0002030f succeeded
> Feb 15 10:57:20.674873 osafimmnd [1127:src/imm/immnd/immnd_proc.c:0245] << 
> immnd_proc_imma_discard_connection
> Feb 15 10:57:20.674892 osafimmnd [1127:src/imm/immnd/immnd_proc.c:0275] T5 
> Removing client id:1d0002030f sv_id:27
> Feb 15 10:57:20.674912 osafimmnd [1127:src/imm/immnd/immnd_proc.c:0292] T5 
> Removed 1 IMMA clients
> Feb 15 10:57:20.674951 osafimmnd [1127:src/imm/common/immsv_evt.c:5421] T8 
> Received: IMMND_EVT_MDS_INFO (1) from 0
>
>
>                       if (immnd_proc_imma_discard_connection(cb, cl_node, 
> false)) {
>                               TRACE_5("Removing client id:%llx sv_id:%u", 
> cl_node->imm_app_hdl, cl_node->sv_id);
>                               immnd_client_node_del(cb, cl_node);
>                               memset(cl_node, '\0', 
> sizeof(IMMND_IMM_CLIENT_NODE));
>
> BR,
> Hung Nguyen - DEK Technologies
>
> --------------------------------------------------------------------------------
> From: Neelakanta [email protected]
> Sent: Monday, February 20, 2017 6:15PM
> To: Hung Nguyen, Zoran Milinkovic
>      [email protected],[email protected]
> Cc: Opensaf-devel
>      [email protected]
> Subject: Re: [PATCH 0 of 1] Review Request for imm: Cleanup orphaned 
> implementers and admowners when headless [#2309]
>
>
> Hi Hung,
>
> The local implementers will be discarded in 
> "immnd_proc_discard_other_nodes"  while discarding clients.
> The implementers from the other node will be discarded in 
> immModel_isolateThisNode.
>
> If the IMMD broadcast misses also this should be covered in either of 
> the above.
>
> /Neel.
>
> On 2017/02/17 01:35 PM, Hung Nguyen wrote:
>> Summary: imm: Cleanup orphaned implementers and admowners when 
>> headless [#2309]
>> Review request for Trac Ticket(s): 2309
>> Peer Reviewer(s): Zoran, Neel
>> Pull request to:
>> Affected branch(es): 5.0, 5.1, 5.2
>> Development branch: 5.2
>>
>> --------------------------------
>> Impacted area       Impact y/n
>> --------------------------------
>>   Docs                    n
>>   Build system            n
>>   RPM/packaging           n
>>   Configuration files     n
>>   Startup scripts         n
>>   SAF services            y
>>   OpenSAF services        n
>>   Core libraries          n
>>   Samples                 n
>>   Tests                   n
>>   Other                   n
>>
>>
>> Comments (indicate scope for each "y" above):
>> ---------------------------------------------
>>
>>
>> changeset d79e3d47468b927dd5b06f2efa869a63380fe3c4
>> Author:    Hung Nguyen <[email protected]>
>> Date:    Fri, 17 Feb 2017 15:03:49 +0700
>>
>>     imm: Cleanup orphaned implementers and admowners when headless 
>> [#2309]
>>
>>     If a client is down right before headless, chances are the 
>> implementers and
>>     admowners will be orphaned because IMMD fails to broadcast global 
>> discard
>>     messages. This patch cleans those orphaned implementers and 
>> admowners up.
>>
>>
>> Complete diffstat:
>> ------------------
>>   src/imm/immnd/ImmModel.cc |  31 ++++++++++++++++++-------------
>>   1 files changed, 18 insertions(+), 13 deletions(-)
>>
>>
>> Testing Commands:
>> -----------------
>> Kill client right before headless.
>>
>>
>> Testing, Expected Results:
>> --------------------------
>> No orphaned implementers or admowners.
>>
>>
>> Conditions of Submission:
>> -------------------------
>> Ack from reviewers.
>>
>>
>> Arch      Built     Started    Linux distro
>> -------------------------------------------
>> mips        n          n
>> mips64      n          n
>> x86         n          n
>> x86_64      n          n
>> powerpc     n          n
>> powerpc64   n          n
>>
>>
>> Reviewer Checklist:
>> -------------------
>> [Submitters: make sure that your review doesn't trigger any checkmarks!]
>>
>>
>> Your checkin has not passed review because (see checked entries):
>>
>> ___ Your RR template is generally incomplete; it has too many blank 
>> entries
>>      that need proper data filled in.
>>
>> ___ You have failed to nominate the proper persons for review and push.
>>
>> ___ Your patches do not have proper short+long header
>>
>> ___ You have grammar/spelling in your header that is unacceptable.
>>
>> ___ You have exceeded a sensible line length in your 
>> headers/comments/text.
>>
>> ___ You have failed to put in a proper Trac Ticket # into your commits.
>>
>> ___ You have incorrectly put/left internal data in your comments/files
>>      (i.e. internal bug tracking tool IDs, product names etc)
>>
>> ___ You have not given any evidence of testing beyond basic build tests.
>>      Demonstrate some level of runtime or other sanity testing.
>>
>> ___ You have ^M present in some of your files. These have to be removed.
>>
>> ___ You have needlessly changed whitespace or added whitespace crimes
>>      like trailing spaces, or spaces before tabs.
>>
>> ___ You have mixed real technical changes with whitespace and other
>>      cosmetic code cleanup changes. These have to be separate commits.
>>
>> ___ You need to refactor your submission into logical chunks; there is
>>      too much content into a single commit.
>>
>> ___ You have extraneous garbage in your review (merge commits etc)
>>
>> ___ You have giant attachments which should never have been sent;
>>      Instead you should place your content in a public tree to be 
>> pulled.
>>
>> ___ You have too many commits attached to an e-mail; resend as threaded
>>      commits, or place in a public tree for a pull.
>>
>> ___ You have resent this content multiple times without a clear 
>> indication
>>      of what has changed between each re-send.
>>
>> ___ You have failed to adequately and individually address all of the
>>      comments and change requests that were proposed in the initial 
>> review.
>>
>> ___ You have a misconfigured ~/.hgrc file (i.e. username, email etc)
>>
>> ___ Your computer have a badly configured date and time; confusing the
>>      the threaded patch review.
>>
>> ___ Your changes affect IPC mechanism, and you don't present any results
>>      for in-service upgradability test.
>>
>> ___ Your changes affect user manual and documentation, your patch series
>>      do not contain the patch that updates the Doxygen manual.
>>
>
>

------------------------------------------------------------------------------
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