From: Josh Durgin Date: Sat, 25 Jan 2020 00:36:56 +0000 (-0500) Subject: Revert "ceph_osd: remove client message cap limit" X-Git-Tag: v15.2.5~160^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=db56b9cf800f00dd7896e236a35926c7420b3ea5;p=ceph.git Revert "ceph_osd: remove client message cap limit" This reverts commit 45d5ac3ea040d6a7213b63d1c582e3a1bbaae8d4. Without a msg throttler, we can't change osd_client_message_cap cap. The throttler is designed to work with 0 as a max, so change the default to 0 to disable it by default instead. This doesn't affect the default behavior, it only lets us use this option again. Fixes: https://tracker.ceph.com/issues/46143 Conflicts: src/ceph_osd.cc - new style of gconf() access Signed-off-by: Josh Durgin Signed-off-by: Neha Ojha (cherry picked from commit 9087e3b751a78211011b39377394ceb297078f76) --- diff --git a/src/ceph_osd.cc b/src/ceph_osd.cc index afa945dd00d..a2b36769bfd 100644 --- a/src/ceph_osd.cc +++ b/src/ceph_osd.cc @@ -573,6 +573,9 @@ flushjournal_out: g_conf().get_val("osd_client_message_size_cap"); boost::scoped_ptr client_byte_throttler( new Throttle(g_ceph_context, "osd_client_bytes", message_size)); + uint64_t message_cap = g_conf().get_val("osd_client_message_cap"); + boost::scoped_ptr client_msg_throttler( + new Throttle(g_ceph_context, "osd_client_messages", message_cap)); // All feature bits 0 - 34 should be present from dumpling v0.67 forward uint64_t osd_required = @@ -583,7 +586,7 @@ flushjournal_out: ms_public->set_default_policy(Messenger::Policy::stateless_registered_server(0)); ms_public->set_policy_throttlers(entity_name_t::TYPE_CLIENT, client_byte_throttler.get(), - nullptr); + client_msg_throttler.get()); ms_public->set_policy(entity_name_t::TYPE_MON, Messenger::Policy::lossy_client(osd_required)); ms_public->set_policy(entity_name_t::TYPE_MGR, @@ -752,6 +755,7 @@ flushjournal_out: delete ms_objecter; client_byte_throttler.reset(); + client_msg_throttler.reset(); // cd on exit, so that gmon.out (if any) goes into a separate directory for each node. char s[20]; diff --git a/src/common/options.cc b/src/common/options.cc index b9d5b675a0a..166bad8b1bd 100644 --- a/src/common/options.cc +++ b/src/common/options.cc @@ -2511,7 +2511,7 @@ std::vector