Hi Vu,

Ack for the patch, code review only

Thanks,
Ravi
-----Original Message-----
From: Vu Minh Nguyen [mailto:vu.m.ngu...@dektech.com.au] 
Sent: Monday, March 12, 2018 12:43 PM
To: ravisekhar.ko...@oracle.com; hans.nordeb...@ericsson.com; 
zoran.milinko...@ericsson.com; anders.wid...@ericsson.com; 
lennart.l...@ericsson.com
Cc: opensaf-devel@lists.sourceforge.net; Vu Minh Nguyen 
<vu.m.ngu...@dektech.com.au>
Subject: [PATCH 1/1] imm: coredump during scale-in on large configuration 
[#2794]

When IMMND restarts (e.g: OUT OF ORDER detection), it may get message from 
active IMMD which is originated from just-dead IMMND process.
In such case, we are in confused situation - messages come from local IMMND, 
but not me (reply_dest != cb->immnd_mdest_id)!

This patch discards such messages, notify the case to syslog instead of 
aborting the IMMND progress.
---
 src/imm/immnd/immnd_evt.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/imm/immnd/immnd_evt.c b/src/imm/immnd/immnd_evt.c index 
228b7dd..43611a3 100644
--- a/src/imm/immnd/immnd_evt.c
+++ b/src/imm/immnd/immnd_evt.c
@@ -10766,6 +10766,18 @@ static uint32_t immnd_evt_proc_fevs_rcv(IMMND_CB *cb, 
IMMND_EVT *evt,
            (m_IMMSV_UNPACK_HANDLE_LOW(clnt_hdl) == cb->node_id);
 
        if (originatedAtThisNd) {
+               /* Get the message comes from local IMMND but not me
+                  (cb->immnd_mdest_id). Probably IMMND just restarts
+                  (e.g: OUT OF ORDER detection), and this message belongs
+                  to previous (dead) IMMND. So, discard this message.
+                */
+               if (reply_dest && reply_dest != cb->immnd_mdest_id) {
+                       LOG_WA("DISCARD FEVS message sent by previous dead 
IMMND");
+                       dequeue_outgoing(cb);
+                       TRACE_LEAVE();
+                       return NCSCC_RC_SUCCESS;
+               }
+
                osafassert(!reply_dest || (reply_dest == cb->immnd_mdest_id) ||
                           isObjSync);
                if (cb->fevs_replies_pending) {
--
1.9.1

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