Bug #61819
open[Client] handle_command_reply overwrite outbl, so cannot get previous results when using wildcard command
0%
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.
Updated by Jinmyeong Lee 10 months ago
Jinmyeong Lee wrote:
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: [],
...
}
Updated by Venky Shankar 10 months ago
Jinmyeong Lee wrote:
Jinmyeong Lee wrote:
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.
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.
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
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
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.