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>* 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<ProtocolV1>* CtFun<ProtocolV1>::_call<>(ProtocolV1*, std::integer_sequence<unsigned long>) const+0x68) [0x7f22b28668ce]
5: (CtFun<ProtocolV1>::call(ProtocolV1*) const+0x28) [0x7f22b2866730]
6: (()+0x184be7d) [0x7f22b2844e7d]
7: (()+0x1866170) [0x7f22b285f170]
8: (std::function<void (char*, long)>::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<unsigned long, std::ratio<1l, 1000000000l> >*)+0x678) [0x7f22b28a4bd8]
12: (()+0x18b9438) [0x7f22b28b2438]
13: (()+0x18ba90b) [0x7f22b28b390b]
14: (std::function<void ()>::operator()() const+0x32) [0x7f22b28b0c8e]
15: (void std::__invoke_impl<void, std::function<void ()>>(std::__invoke_other, std::function<void ()>&&)+0x20) [0x7f22b28b052b]
16: (std::__invoke_result<std::function<void ()>>::type std::__invoke<std::function<void ()>>(std::function<void ()>&&)+0x26) [0x7f22b28afc9e]
17: (decltype (__invoke((_S_declval<0ul>)())) std::thread::_Invoker<std::tuple<std::function<void ()> > >::_M_invoke<0ul>(std::_Index_tuple<0ul>)+0x28) [0x7f22b28b1bee]
18: (std::thread::_Invoker<std::tuple<std::function<void ()> > >::operator()()+0x1d) [0x7f22b28b1bbf]
19: (std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::function<void ()> > > >::_M_run()+0x1c) [0x7f22b28b1b9e]
20: (()+0xd01b0) [0x7f22b08dd1b0]
21: (()+0x76db) [0x7f22bb9d56db]
22: (clone()+0x3f) [0x7f22b032588f]
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
#include "global/global_init.h"
#include "msg/Messenger.h"
#include "messages/MOSDOp.h"
+#include "auth/DummyAuth.h"
#include <atomic>
int think_time_us;
vector<Messenger*> msgrs;
vector<ClientThread*> 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)
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);
#include "msg/Messenger.h"
#include "messages/MOSDOp.h"
#include "messages/MOSDOpReply.h"
+#include "auth/DummyAuth.h"
class ServerDispatcher : public Dispatcher {
uint64_t think_time;
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();