]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
msg/Policy: limit unregistered anon connections to mon 33163/head
authorSage Weil <sage@redhat.com>
Sun, 9 Feb 2020 00:44:51 +0000 (18:44 -0600)
committerSage Weil <sage@redhat.com>
Sun, 9 Feb 2020 00:44:51 +0000 (18:44 -0600)
commit507d213cc453ed86ab38619590f710f33245c652
tree6dd790fa4f63df5c5b08b58782bae3bcc3ffd999
parent12a0faa9fa0fbef02e72fd852e7bfe5dfbbbc12c
msg/Policy: limit unregistered anon connections to mon

When we were fixing 'tell mon' we changed the messenger to allow multiple
lossy connections to the same server.  This was needed for the mon, and
assumed to be harmless for everyone else.  However, for the OSD, it can
lead to out-of-order requests, as observed in this bug:
https://tracker.ceph.com/issues/42328

Fix by reverting this behavior change except for the mon:

- Introduce a stateless_anon_server policy that sets
  register_lossy_clients = false

- Effectively revert the behavior change in c48a29b9edde3c6d3cd34252d202885e2e064fe0
  so that lossy clients *are* registered for stateless_server policy.

- Use the state_anon_server policy for the mon, which was the one place
  where we needed unregistered connections (for 'tell mon.x' to work).

Fixes: https://tracker.ceph.com/issues/42328
Signed-off-by: Sage Weil <sage@redhat.com>
src/ceph_mon.cc
src/msg/Policy.h
src/msg/async/ProtocolV1.cc
src/msg/async/ProtocolV2.cc