]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
librados: timeout on mgr_command() 21811/head
authorKefu Chai <kchai@redhat.com>
Fri, 4 May 2018 08:11:53 +0000 (16:11 +0800)
committerKefu Chai <kchai@redhat.com>
Fri, 4 May 2018 11:23:02 +0000 (19:23 +0800)
commiteaa1179965c840c0f935c570e146395583f198b6
tree2e4666a66fd41c4738968683b9f97ba8b3ee5a76
parentef517d0ea0dd4754fe725ae8d6f01209b58130be
librados: timeout on mgr_command()

because the mgrclient will be waiting for the mgrmap if the mgrmap
is not available, when the client is about to send a mgr command.
and monitor will drop the subscription requests if the client does not
have enough cap for reading mon, so unlike mon commands, the client
won't get an EACCES return code in this case.

in this change, a timeout machinary is introduced. and the client
will wait for "rados-mon-op-timeout" before it gives up. if this
setting is 0, it will wait forever.

Fixes: https://tracker.ceph.com/issues/23627
Signed-off-by: Kefu Chai <kchai@redhat.com>
qa/workunits/mon/caps.sh
src/ceph.in
src/common/Cond.h
src/librados/RadosClient.cc