Project

General

Profile

Actions

Bug #61819

open

[Client] handle_command_reply overwrite outbl, so cannot get previous results when using wildcard command

Added by Jinmyeong Lee 10 months ago. Updated 7 months ago.

Status:
Pending Backport
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
% Done:

0%

Source:
Tags:
backport_processed
Backport:
quincy,reef
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

Sending a command to all MDSs is available in Client:mds_command(https://github.com/ceph/ceph/blob/main/src/client/Client.cc#L6264-L6275) mds_command with mds_spec: *.

The command messages are sharing the bufferlist which is passed by libcephfs::ceph_mds_command.

But in "handle_command_reply", the outbl is overwritten, so to aggregate all results from all MDSs, it should be appended.


Related issues 2 (2 open0 closed)

Copied to Ceph - Backport #63147: reef: [Client] handle_command_reply overwrite outbl, so cannot get previous results when using wildcard commandIn ProgressRishabh DaveActions
Copied to Ceph - Backport #63148: quincy: [Client] handle_command_reply overwrite outbl, so cannot get previous results when using wildcard commandIn ProgressRishabh DaveActions
Actions #2

Updated by Jinmyeong Lee 10 months ago

Jinmyeong Lee wrote:

https://github.com/ceph/ceph/pull/52200

I also want to discuss how to append the result in bufferlist.
From now, I just append the result in the bufferlist, but I think the below format would be better. (Also afraid of side-effect)

{
tid_1: [],
tid_2: [],
...
}

Actions #3

Updated by Dhairya Parmar 10 months ago

  • Pull request ID set to 52200
Actions #4

Updated by Venky Shankar 10 months ago

Jinmyeong Lee wrote:

Jinmyeong Lee wrote:

https://github.com/ceph/ceph/pull/52200

I also want to discuss how to append the result in bufferlist.
From now, I just append the result in the bufferlist, but I think the below format would be better. (Also afraid of side-effect)

{
tid_1: [],
tid_2: [],
...
}

Is the `tid_*` prefix the transaction-id? IMO, using mds rank or IDs would be better.

Actions #5

Updated by Rishabh Dave 7 months ago

  • Status changed from New to Pending Backport
  • Backport set to quincy,reef

PR 52200 had a bug, this commit needs to be backported along - https://github.com/ceph/ceph/pull/53892/commits/bda6d195af3890ddb4a74d881759b9273bb2cd1d.

Actions #6

Updated by Rishabh Dave 7 months ago

  • Copied to Backport #63147: reef: [Client] handle_command_reply overwrite outbl, so cannot get previous results when using wildcard command added
Actions #7

Updated by Rishabh Dave 7 months ago

  • Copied to Backport #63148: quincy: [Client] handle_command_reply overwrite outbl, so cannot get previous results when using wildcard command added
Actions #8

Updated by Rishabh Dave 7 months ago

  • Tags set to backport_processed
Actions #9

Updated by Rishabh Dave 7 months ago

Backport PRs have been raised -
reef: https://github.com/ceph/ceph/pull/53893
quincy: https://github.com/ceph/ceph/pull/53894

quincy backport didn't need the commit that fixed the bug because with_setup decorator is still being imported and used in quincy branch. It wasn't so for Reef, so the this commit was added to the PR branch of the Reef backport PR.

Actions

Also available in: Atom PDF