Hi Nagendra,

The number 1 or 2 is not defined clearly as a statement in the source code yet.


from source code you can see defined mIntroduced meaning.
uint8_t mIntroduced;      // Ack received on introduce message

mIntroduced = 1;
The number 1 was set when received the ACK from IMMD. the message type from 
IMMND_EVT_D2ND_INTRO_RSP

mIntroduced = 2;
the number 2 was set when got event down from MDS. It only set when a both 
active and standby down. It's meaning immnd going to headless mode.
cb->mIntroduced == 2 is a condition used to IMMND request sync data.

Summary:
mIntroduced = 1; we can understand IMMND got ACK from IMMD and they ready to 
sync data
mIntroduced = 2; we can understand IMMD already down. we need to be synced when 
IMMD up.

Best Regards,
Thien

________________________________
From: Nagendra Kumar <[email protected]>
Sent: Monday, February 23, 2026 8:18 PM
To: Thien Huynh <[email protected]>; Dat Phan <[email protected]>; 
Thang Nguyen <[email protected]>
Cc: [email protected] <[email protected]>
Subject: RE: [devel] [PATCH 1/1] immnd: fix cannot set implementer returning 
SA_AIS_ERR_EXIST [#3390]

CAUTION - EXTERNAL EMAIL

>> if (cb->mIntroduced == 2) {
What is this magic number 2 ? Could it be hash defined?

Regards
-Nagendra

-----Original Message-----
From: Thien Huynh via Opensaf-devel <[email protected]>
Sent: 23 February 2026 08:22
To: Dat Phan <[email protected]>; Thang Nguyen <[email protected]>
Cc: [email protected]
Subject: [devel] [PATCH 1/1] immnd: fix cannot set implementer returning 
SA_AIS_ERR_EXIST [#3390]

Setting an implementer during cluster merge or split‑brain recovery could fail 
with SA_AIS_ERR_EXIST even though the coord accepted the new implementer and 
the operation should be retried.
When this happens, visible symptoms include the imm agent timing out or 
receiving a response that later leads to SA_AIS_ERR_EXIST on retries.

After a network merge, IMMND re-introduces and enters a sync phase with the 
coordinator (mIntroduced == 2). While syncing, IMMND may drop the 
set-implementer response but the coordinator can still accept and set the 
implementer. This creates a mismatch: the imm agent either times out or gets a 
stale/absent response, and when it retries the operation the IMMND now reports 
SA_AIS_ERR_EXIST because the implementer is already set on the coordinator.

Add an early check in case IMMND need to be synced with coord.
This prevents further processing while IMMND is syncing and makes the retryable 
condition explicit so the agent can try again later.
---
 src/imm/immnd/immnd_evt.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/imm/immnd/immnd_evt.c b/src/imm/immnd/immnd_evt.c index 
46cb85b31..088da129e 100644
--- a/src/imm/immnd/immnd_evt.c
+++ b/src/imm/immnd/immnd_evt.c
@@ -2888,6 +2888,13 @@ static uint32_t immnd_evt_proc_impl_set(IMMND_CB *cb, 
IMMND_EVT *evt,
                goto agent_rsp;
        }

+       if (cb->mIntroduced == 2) {
+               TRACE_2("ERR_TRY_AGAIN: wait for IMMND sync up with coord");
+               send_evt.info.imma.info.implSetRsp.error =
+                   SA_AIS_ERR_TRY_AGAIN;
+               goto agent_rsp;
+       }
+
        if (evt->type == IMMND_EVT_A2ND_OI_IMPL_SET_2 &&
            !immModel_protocol45Allowed(cb)) {
                LOG_WA(
--
2.34.1


The information in this email is confidential and may be legally privileged. It 
is intended solely for the addressee. Any opinions expressed are mine and do 
not necessarily represent the opinions of the Company. Emails are susceptible 
to interference. If you are not the intended recipient, any disclosure, 
copying, distribution or any action taken or omitted to be taken in reliance on 
it, is strictly prohibited and may be unlawful. If you have received this 
message in error, do not open any attachments but please notify the Endava 
Service Desk on (+44 (0)870 423 0187), and delete this message from your 
system. The sender accepts no responsibility for information, errors or 
omissions in this email, or for its use or misuse, or for any act committed or 
omitted in connection with this communication. If in doubt, please verify the 
authenticity of the contents with the sender. Please rely on your own virus 
checkers as no responsibility is taken by the sender for any damage rising out 
of any bug or virus infection.

Endava plc is a company registered in England under company number 5722669 
whose registered office is at 125 Old Broad Street, London, EC2N 1AR, United 
Kingdom. Endava plc is the Endava group holding company and does not provide 
any services to clients. Each of Endava plc and its subsidiaries is a separate 
legal entity and has no liability for another such entity's acts or omissions.

_______________________________________________
Opensaf-devel mailing list
[email protected]
https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Fopensaf-devel&data=05%7C02%7Cthien.m.huynh%40endava.com%7Cc7e20e3e3c254239722b08de72de0c28%7C0b3fc178b7304e8b9843e81259237b77%7C0%7C0%7C639074495172490817%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C40000%7C%7C%7C&sdata=Nlb0cKVdQct9At2fXnWk9aYbB4E33Tr5rJLhI55npDY%3D&reserved=0<https://lists.sourceforge.net/lists/listinfo/opensaf-devel>


_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to