From: Jianpeng Ma Date: Tue, 2 Jul 2019 14:41:02 +0000 (+0800) Subject: test/msgr: make ceph_perf_msgr_client/server work. X-Git-Tag: v15.1.0~2257^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=5f1749622fd22c1add471f24a470b54cdd97acda;p=ceph.git test/msgr: make ceph_perf_msgr_client/server work. Met the following error: -1> 2019-07-02T21:09:54.977+0800 7f22ab00b700 -1 /home/ceph/src/msg/async/ProtocolV1.cc: In function 'Ct* ProtocolV1::send_connect_message()' thread 7f22ab00b700 time 2019-07-02T21:09:54.964260+0800 /home/ceph/src/msg/async/ProtocolV1.cc: 1448: FAILED ceph_assert(messenger->auth_client) ceph version v15.0.0-2271-gbeb0c343b3 (beb0c343b3f18297b09ddc61b0c2e0156f109455) octopus (dev) 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x1aa) [0x7f22b2543e8e] 2: (()+0x154b110) [0x7f22b2544110] 3: (ProtocolV1::send_connect_message()+0x132) [0x7f22b2850fd4] 4: (Ct* CtFun::_call<>(ProtocolV1*, std::integer_sequence) const+0x68) [0x7f22b28668ce] 5: (CtFun::call(ProtocolV1*) const+0x28) [0x7f22b2866730] 6: (()+0x184be7d) [0x7f22b2844e7d] 7: (()+0x1866170) [0x7f22b285f170] 8: (std::function::operator()(char*, long) const+0x61) [0x7f22b28259cb] 9: (AsyncConnection::process()+0xd3b) [0x7f22b282008f] 10: (C_handle_read::do_request(unsigned long)+0x28) [0x7f22b2824a94] 11: (EventCenter::process_events(unsigned int, std::chrono::duration >*)+0x678) [0x7f22b28a4bd8] 12: (()+0x18b9438) [0x7f22b28b2438] 13: (()+0x18ba90b) [0x7f22b28b390b] 14: (std::function::operator()() const+0x32) [0x7f22b28b0c8e] 15: (void std::__invoke_impl>(std::__invoke_other, std::function&&)+0x20) [0x7f22b28b052b] 16: (std::__invoke_result>::type std::__invoke>(std::function&&)+0x26) [0x7f22b28afc9e] 17: (decltype (__invoke((_S_declval<0ul>)())) std::thread::_Invoker > >::_M_invoke<0ul>(std::_Index_tuple<0ul>)+0x28) [0x7f22b28b1bee] 18: (std::thread::_Invoker > >::operator()()+0x1d) [0x7f22b28b1bbf] 19: (std::thread::_State_impl > > >::_M_run()+0x1c) [0x7f22b28b1b9e] 20: (()+0xd01b0) [0x7f22b08dd1b0] 21: (()+0x76db) [0x7f22bb9d56db] 22: (clone()+0x3f) [0x7f22b032588f] Signed-off-by: Jianpeng Ma --- diff --git a/src/test/msgr/perf_msgr_client.cc b/src/test/msgr/perf_msgr_client.cc index 992217e341d..9a02b3485a8 100644 --- a/src/test/msgr/perf_msgr_client.cc +++ b/src/test/msgr/perf_msgr_client.cc @@ -28,6 +28,7 @@ using namespace std; #include "global/global_init.h" #include "msg/Messenger.h" #include "messages/MOSDOp.h" +#include "auth/DummyAuth.h" #include @@ -114,10 +115,12 @@ class MessengerClient { int think_time_us; vector msgrs; vector clients; + DummyAuthClientServer dummy_auth; public: MessengerClient(const string &t, const string &addr, int delay): - type(t), serveraddr(addr), think_time_us(delay) { + type(t), serveraddr(addr), think_time_us(delay), + dummy_auth(g_ceph_context) { } ~MessengerClient() { for (uint64_t i = 0; i < clients.size(); ++i) @@ -131,9 +134,11 @@ class MessengerClient { entity_addr_t addr; addr.parse(serveraddr.c_str()); addr.set_nonce(0); + dummy_auth.auth_registry.refresh_config(); for (int i = 0; i < jobs; ++i) { Messenger *msgr = Messenger::create(g_ceph_context, type, entity_name_t::CLIENT(0), "client", getpid()+i, 0); msgr->set_default_policy(Messenger::Policy::lossless_client(0)); + msgr->set_auth_client(&dummy_auth); msgr->start(); entity_addrvec_t addrs(addr); ConnectionRef conn = msgr->connect_to_osd(addrs); diff --git a/src/test/msgr/perf_msgr_server.cc b/src/test/msgr/perf_msgr_server.cc index d5b5ba8170d..cb025fa4912 100644 --- a/src/test/msgr/perf_msgr_server.cc +++ b/src/test/msgr/perf_msgr_server.cc @@ -29,6 +29,7 @@ using namespace std; #include "msg/Messenger.h" #include "messages/MOSDOp.h" #include "messages/MOSDOpReply.h" +#include "auth/DummyAuth.h" class ServerDispatcher : public Dispatcher { uint64_t think_time; @@ -109,12 +110,16 @@ class MessengerServer { string type; string bindaddr; ServerDispatcher dispatcher; + DummyAuthClientServer dummy_auth; public: MessengerServer(const string &t, const string &addr, int threads, int delay): - msgr(NULL), type(t), bindaddr(addr), dispatcher(threads, delay) { + msgr(NULL), type(t), bindaddr(addr), dispatcher(threads, delay), + dummy_auth(g_ceph_context) { msgr = Messenger::create(g_ceph_context, type, entity_name_t::OSD(0), "server", 0, 0); msgr->set_default_policy(Messenger::Policy::stateless_server(0)); + dummy_auth.auth_registry.refresh_config(); + msgr->set_auth_server(&dummy_auth); } ~MessengerServer() { msgr->shutdown();