From 0160f0cdd42bed7d08c418f9e835b3576068bd54 Mon Sep 17 00:00:00 2001 From: Rongqi Sun Date: Mon, 5 Aug 2024 16:03:40 +0800 Subject: [PATCH] Revert "reef: rgw/amqp: lock erase and create connection before emplace" --- src/rgw/rgw_amqp.cc | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/src/rgw/rgw_amqp.cc b/src/rgw/rgw_amqp.cc index f8b826213d29d..3014edd1db09d 100644 --- a/src/rgw/rgw_amqp.cc +++ b/src/rgw/rgw_amqp.cc @@ -535,12 +535,9 @@ typedef boost::lockfree::queue(cct, info, verify_ssl, ca_location); - if (new_state(conn.get(), tmp_id)) { - ldout(cct, 10) << "AMQP connect: new connection is created. Total connections: " << connection_count << dendl; - } else { - ldout(cct, 1) << "AMQP connect: new connection '" << to_string(tmp_id) << "' is created. but state creation failed (will retry). error: " << - status_to_string(conn->status) << " (" << conn->reply_code << ")" << dendl; + auto conn = connections.emplace(tmp_id, std::make_unique(cct, info, verify_ssl, ca_location)).first->second.get(); + ldout(cct, 10) << "AMQP connect: new connection is created. Total connections: " << connection_count << dendl; + if (!new_state(conn, tmp_id)) { + ldout(cct, 1) << "AMQP connect: new connection '" << to_string(tmp_id) << "' is created. but state creation failed (will retry). error: " << + status_to_string(conn->status) << " (" << conn->reply_code << ")" << dendl; } - connections.emplace(tmp_id, std::move(conn)); id = std::move(tmp_id); return true; } -- 2.39.5