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