diff mbox

cosd multi-second stalls cause "wrongly marked me down"

Message ID 1299867988.4750.394.camel@sale659.sandia.gov (mailing list archive)
State New, archived
Headers show

Commit Message

Jim Schutt March 11, 2011, 6:26 p.m. UTC
None
diff mbox

Patch

--- a/src/msg/Message.h
+++ b/src/msg/Message.h
@@ -158,8 +158,8 @@  struct RefCountedObject {
       utime_t s = g_clock.now();
       delete this;
       utime_t e = g_clock.now();
-      if (e - s > 0.5) {
-       generic_dout(1) << "RefCountedObject::put delete " << this << " took " << e - s << " secs!" << dendl;
+      if (double(e - s) > 0.5) {
+       generic_dout(1) << "RefCountedObject::put delete " << this << " took " << double(e - s) << " secs!" << dendl;
       }
     }
   }
@@ -304,10 +304,22 @@  public:
 protected:
   virtual ~Message() { 
     assert(nref.read() == 0);
-    if (connection)
+    if (connection) {
+      utime_t s = g_clock.now();
       connection->put();
-    if (throttler)
+      utime_t e = g_clock.now();
+      if (double(e - s) > 0.25) {
+       generic_dout(1) << "~Message() " << this << " connection->put took " << double(e - s) << " secs!" << dendl;
+      }
+    }
+    if (throttler) {
+      utime_t s = g_clock.now();
       throttler->put(payload.length() + middle.length() + data.length());
+      utime_t e = g_clock.now();
+      if (double(e - s) > 0.25) {
+       generic_dout(1) << "~Message() " << this << " throttler->put took " << double(e - s) << " secs!" << dendl;
+      }
+    }
   }
 public:
   Connection *get_connection() { return connection; }