-
Notifications
You must be signed in to change notification settings - Fork 142
Cortx-33909: Panic is received in Motr Client while performing nw_xfer_request_fini #2128
Conversation
discontinue sending next fops and wait for outstanding fop completion to happen and avoid immediately returning the error to dispatch operation which then would trigger the completion handling even if some fop processing may in progress Signed-off-by: Vidyadhar Pinglikar <vidyadhar.pinglikar@seagate.com>
Thanks for your contribution! |
Thanks for your contribution! |
is not failed for the case of one or more rpc errors or if one or more fops are successfully sent. Signed-off-by: Vidyadhar Pinglikar <vidyadhar.pinglikar@seagate.com>
Thanks for your contribution! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me.
Signed-off-by: Vidyadhar Pinglikar <vidyadhar.pinglikar@seagate.com>
Thanks for your contribution! |
@siningwuseagate, could you review this? |
Jenkins CI Result : Motr#1713Motr Test Summary
CppCheck SummaryCppcheck: No new warnings found 👍 |
Problem Statement
Its seen that outstanding io fops number is non zero during fini of nw xfr for an IO.
RCA:
Its seen that while dispatching the fop requests, data fops are successfully sent
But error is received for while sending cob create fop request
Subsequently, launch of io fails with rpc error reported while posting "cob create fop" request.
When Failure is reported in ioreq_iosm_handle_launch, it will immediately trigger completion of failed transfer;
and also will inform the upper layer of failed dispatch error status by invoking op fail callback
and subsequently panic is received as a part of this fini operation with outstanding data fops still being 4,
So as seen in the above sequence, problem is observed in motr client when we return the failure during iosm launch with partial fops send successfully but error is received while sending next fop. In such case ioo fini asserts as successfully sent fop are still outstanding for their completion
Design
This would ensure graceful completion of nw xfr request associated with an IO with error being reported at later point of time when all the partial successfully sent fops as well as failed fop request bottom half completions are processed.
Coding
Checklist for Author
Testing
Checklist for Author
Impact Analysis
Checklist for Author/Reviewer/GateKeeper
Review Checklist
Checklist for Author
Documentation
Checklist for Author