]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
msg/DispatchQueue: Set throttle stamp for local_delivery
authorBrad Hubbard <bhubbard@redhat.com>
Thu, 24 Oct 2019 23:57:29 +0000 (09:57 +1000)
committerBrad Hubbard <bhubbard@redhat.com>
Mon, 28 Oct 2019 00:23:46 +0000 (10:23 +1000)
33d8efa52d changed to initialising TrackedOps with the throttle stamp.
This exposed the fact the throttle stamp and recieve complete stamp were
not being set for local delivery.

Fixes: https://tracker.ceph.com/issues/41834
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
src/msg/DispatchQueue.cc

index ad543fb63011c2f26a659ba79a0a23c0808ca4c0..5a081591a59797ffaaca40bfd033e0aac8b3858e 100644 (file)
@@ -96,7 +96,10 @@ void DispatchQueue::enqueue(const ref_t<Message>& m, int priority, uint64_t id)
 
 void DispatchQueue::local_delivery(const ref_t<Message>& m, int priority)
 {
-  m->set_recv_stamp(ceph_clock_now());
+  auto local_delivery_stamp = ceph_clock_now();
+  m->set_recv_stamp(local_delivery_stamp);
+  m->set_throttle_stamp(local_delivery_stamp);
+  m->set_recv_complete_stamp(local_delivery_stamp);
   std::lock_guard l{local_delivery_lock};
   if (local_messages.empty())
     local_delivery_cond.notify_all();