]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson: do not use ProtocolV1 anymore.
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Wed, 24 Feb 2021 14:16:04 +0000 (14:16 +0000)
committerRadoslaw Zarzynski <rzarzyns@redhat.com>
Mon, 1 Mar 2021 15:14:25 +0000 (15:14 +0000)
At the moment crimson offers only a partial and buggy
support for ProtocolV1. When it enters the production,
V1 will be long obsolete, so spending time on improving
it doesn't seem to be a sound investment while offering
half-baked feature can be worse that lacking it entirely.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
src/crimson/net/SocketConnection.cc
src/crimson/net/SocketConnection.h
src/crimson/net/SocketMessenger.cc

index 623dca32f0b1c03aae7d85bfb89ff1d2dacd49e4..0c73440925268405881e283063e1bb1f9093b805 100644 (file)
@@ -14,7 +14,6 @@
 
 #include "SocketConnection.h"
 
-#include "ProtocolV1.h"
 #include "ProtocolV2.h"
 #include "SocketMessenger.h"
 
@@ -26,15 +25,10 @@ using namespace crimson::net;
 using crimson::common::local_conf;
 
 SocketConnection::SocketConnection(SocketMessenger& messenger,
-                                   ChainedDispatchers& dispatchers,
-                                   bool is_msgr2)
-  : messenger(messenger)
+                                   ChainedDispatchers& dispatchers)
+  : messenger(messenger),
+    protocol(std::make_unique<ProtocolV2>(dispatchers, *this, messenger))
 {
-  if (is_msgr2) {
-    protocol = std::make_unique<ProtocolV2>(dispatchers, *this, messenger);
-  } else {
-    protocol = std::make_unique<ProtocolV1>(dispatchers, *this, messenger);
-  }
 #ifdef UNIT_TESTS_BUILT
   if (messenger.interceptor) {
     interceptor = messenger.interceptor;
index 9c977c7cf66c30e0301fdc2c395d73a3287230bc..bb38750424faa6094042cfb55ce9c9408e2cf9fc 100644 (file)
@@ -53,8 +53,7 @@ class SocketConnection : public Connection {
 
  public:
   SocketConnection(SocketMessenger& messenger,
-                   ChainedDispatchers& dispatchers,
-                   bool is_msgr2);
+                   ChainedDispatchers& dispatchers);
   ~SocketConnection() override;
 
   Messenger* get_messenger() const override;
index 0a86eb0736f556b9c3c38561867933b52a669eb2..12010b8625f3b4c8aea384793c773baf06029370 100644 (file)
@@ -134,13 +134,14 @@ seastar::future<> SocketMessenger::start(
   dispatchers.assign(_dispatchers);
   if (listener) {
     // make sure we have already bound to a valid address
-    ceph_assert(get_myaddr().is_legacy() || get_myaddr().is_msgr2());
+    ceph_assert(get_myaddr().is_msgr2());
     ceph_assert(get_myaddr().get_port() > 0);
 
     return listener->accept([this] (SocketRef socket, entity_addr_t peer_addr) {
       assert(seastar::this_shard_id() == master_sid);
-      SocketConnectionRef conn = seastar::make_shared<SocketConnection>(
-          *this, dispatchers, get_myaddr().is_msgr2());
+      assert(get_myaddr().is_msgr2());
+      SocketConnectionRef conn =
+        seastar::make_shared<SocketConnection>(*this, dispatchers);
       conn->start_accept(std::move(socket), peer_addr);
       return seastar::now();
     });
@@ -154,15 +155,17 @@ SocketMessenger::connect(const entity_addr_t& peer_addr, const entity_name_t& pe
   assert(seastar::this_shard_id() == master_sid);
 
   // make sure we connect to a valid peer_addr
-  ceph_assert(peer_addr.is_legacy() || peer_addr.is_msgr2());
+  if (!peer_addr.is_msgr2()) {
+    ceph_abort_msg("ProtocolV1 is no longer supported");
+  }
   ceph_assert(peer_addr.get_port() > 0);
 
   if (auto found = lookup_conn(peer_addr); found) {
     logger().debug("{} connect to existing", *found);
     return found->shared_from_this();
   }
-  SocketConnectionRef conn = seastar::make_shared<SocketConnection>(
-      *this, dispatchers, peer_addr.is_msgr2());
+  SocketConnectionRef conn =
+    seastar::make_shared<SocketConnection>(*this, dispatchers);
   conn->start_connect(peer_addr, peer_name);
   return conn->shared_from_this();
 }