New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
osd: always send returnvec-on-errors for client's retry #55570
Conversation
Currently there is a discrepancy in terms of the returnvec's presence between MOSDOpReplys sent for original requests and those on dups. The former always contain the returnvec if an error happened, even if `allows_returnvec()` is `false`. This commit extends the behavior on dups. For RCA please see: https://tracker.ceph.com/issues/64192#note-9 Fixes: https://tracker.ceph.com/issues/64192 Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
@@ -4288,8 +4288,11 @@ void PrimaryLogPG::execute_ctx(OpContext *ctx) | |||
} | |||
reply->add_flags(CEPH_OSD_FLAG_ACK | CEPH_OSD_FLAG_ONDISK); | |||
// append to pg log for dup detection - don't save buffers for now |
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.
Is the "don't save buffers for now" bit still valid? It looks like it predates the introduction of RETURNVEC
flag in 2019.
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.
Yes, it's still the same (by the buffers I understand e.g. a write op's payload).
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.
I interpreted it as write op's reply payload (i.e. out data). If you believe the comment to be valid, I withdraw ;)
Removing "needs-qa" until @idryomov's comment is addressed. |
@rzarzynski feel free to add needs-qa when you're ready |
Added the label, @ljflores! |
Looks like unrelated:
|
jenkins test windows |
Currently there is a discrepancy in terms of the returnvec's presence between MOSDOpReplys sent for original requests and those on dups. The former always contain the returnvec if an error happened, even if
allows_returnvec()
isfalse
.This commit extends the behavior on dups.
For RCA please see: https://tracker.ceph.com/issues/64192#note-9
Fixes: https://tracker.ceph.com/issues/64192
Signed-off-by: Radoslaw Zarzynski rzarzyns@redhat.com
Contribution Guidelines
To sign and title your commits, please refer to Submitting Patches to Ceph.
If you are submitting a fix for a stable branch (e.g. "quincy"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.
When filling out the below checklist, you may click boxes directly in the GitHub web UI. When entering or editing the entire PR message in the GitHub web UI editor, you may also select a checklist item by adding an
x
between the brackets:[x]
. Spaces and capitalization matter when checking off items this way.Checklist
Show available Jenkins commands
jenkins retest this please
jenkins test classic perf
jenkins test crimson perf
jenkins test signed
jenkins test make check
jenkins test make check arm64
jenkins test submodules
jenkins test dashboard
jenkins test dashboard cephadm
jenkins test api
jenkins test docs
jenkins render docs
jenkins test ceph-volume all
jenkins test ceph-volume tox
jenkins test windows
jenkins test rook e2e