-
Notifications
You must be signed in to change notification settings - Fork 142
Cortx-33875: Confd containers restart during cluster restart #2078
Conversation
Issue: During session establish reply, we expect session state to be M0_RPC_SESSION_ESTABLISHING and assert otherwise. But, during m0_rpc_post(), if we decide to cancel the session based on confc obj status, then session state will still be in M0_RPC_SESSION_INITIALISED. Converted assert into debug log msg. Session state will be moved to M0_RPC_SESSION_FAILED, in such case. Signed-off-by: Naga Kishore Kommuri <nagakishore.kommuri@seagate.com>
as it would have been already called reply received function. Signed-off-by: Naga Kishore Kommuri <nagakishore.kommuri@seagate.com>
Thanks for your contribution! |
state doesn't match with the expected state. Signed-off-by: Naga Kishore Kommuri <nagakishore.kommuri@seagate.com>
Thanks for your contribution! |
retest this please |
Thanks for your contribution! |
Thanks for your contribution! |
…#2078) Problem: Confd containers restart during cluster restart Solution : During session establish reply, we expect session state to be M0_RPC_SESSION_ESTABLISHING and assert otherwise. But, during m0_rpc_post(), if we decide to cancel the session based on confc obj status, then session state will still be in M0_RPC_SESSION_INITIALISED. Converted assert into debug log msg. Session state will be moved to M0_RPC_SESSION_FAILED, in such case. No need to call session_failed() if m0_rpc__fop_post() returns failure as it would have been already called reply received function. Converted DEBUG msg to ERROR and logging only if session's state doesn't match with the expected state. Signed-off-by: Naga Kishore Kommuri <nagakishore.kommuri@seagate.com>
Problem Statement
Design
m0_rpc_session_establish_reply_received() expects the session state to be M0_RPC_SESSION_ESTABLISHING, but it is not. session actually is in M0_RPC_SESSION_INITIALISED state and hence the assert. session will be set to M0_RPC_SESSION_ESTABLISHING after m0_rpc__fop_post() call, but it hit the assert before completion of the call.
In m0_rpc_session_establish_reply_received(), it is possible that session can still be in M0_RPC_SESSION_INITIALISED state due to M0_NC_FAILED state in conf cache. motr should handle this situation instead of asserting.
Coding
Checklist for Author
Testing
Checklist for Author
Impact Analysis
Checklist for Author/Reviewer/GateKeeper
Review Checklist
Checklist for Author
Documentation
Checklist for Author