Author: jbellis
Date: Tue Aug  9 20:47:35 2011
New Revision: 1155558

URL: http://svn.apache.org/viewvc?rev=1155558&view=rev
Log:
switch back to only logging recent dropped messages
patch by jbellis; reviewed by brandonwilliams for CASSANDRA-3004

Modified:
    cassandra/branches/cassandra-0.8/CHANGES.txt
    
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/MessagingService.java

Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1155558&r1=1155557&r2=1155558&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Tue Aug  9 20:47:35 2011
@@ -3,6 +3,7 @@
  * use JAVA env var in cassandra-env.sh (CASSANDRA-2785, 2992)
  * avoid doing read for no-op replicate-on-write at CL=1 (CASSANDRA-2892)
  * refuse counter write for CL.ANY (CASSANDRA-2990)
+ * switch back to only logging recent dropped messages (CASSANDRA-3004)
 
 
 0.8.3

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/MessagingService.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/MessagingService.java?rev=1155558&r1=1155557&r2=1155558&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/MessagingService.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/MessagingService.java
 Tue Aug  9 20:47:35 2011
@@ -100,18 +100,11 @@ public final class MessagingService impl
     private final Map<StorageService.Verb, AtomicInteger> droppedMessages = 
new EnumMap<StorageService.Verb, AtomicInteger>(StorageService.Verb.class);
     // dropped count when last requested for the Recent api.  high concurrency 
isn't necessary here.
     private final Map<StorageService.Verb, Integer> lastDropped = 
Collections.synchronizedMap(new EnumMap<StorageService.Verb, 
Integer>(StorageService.Verb.class));
+    private final Map<StorageService.Verb, Integer> lastDroppedInternal = new 
EnumMap<StorageService.Verb, Integer>(StorageService.Verb.class);
 
     private final List<ILatencySubscriber> subscribers = new 
ArrayList<ILatencySubscriber>();
     private static final long DEFAULT_CALLBACK_TIMEOUT = (long) (1.1 * 
DatabaseDescriptor.getRpcTimeout());
 
-    {
-        for (StorageService.Verb verb : DROPPABLE_VERBS)
-        {
-            droppedMessages.put(verb, new AtomicInteger());
-            lastDropped.put(verb, 0);
-        }
-    }
-
     private static class MSHandle
     {
         public static final MessagingService instance = new MessagingService();
@@ -123,6 +116,13 @@ public final class MessagingService impl
 
     private MessagingService()
     {
+        for (StorageService.Verb verb : DROPPABLE_VERBS)
+        {
+            droppedMessages.put(verb, new AtomicInteger());
+            lastDropped.put(verb, 0);
+            lastDroppedInternal.put(verb, 0);
+        }
+
         listenGate = new SimpleCondition();
         verbHandlers_ = new EnumMap<StorageService.Verb, 
IVerbHandler>(StorageService.Verb.class);
         streamExecutor_ = new DebuggableThreadPoolExecutor("Streaming", 
DatabaseDescriptor.getCompactionThreadPriority());
@@ -584,11 +584,13 @@ public final class MessagingService impl
         for (Map.Entry<StorageService.Verb, AtomicInteger> entry : 
droppedMessages.entrySet())
         {
             AtomicInteger dropped = entry.getValue();
-            if (dropped.get() > 0)
+            StorageService.Verb verb = entry.getKey();
+            int recent = dropped.get() - lastDroppedInternal.get(verb);
+            if (recent > 0)
             {
                 logTpstats = true;
-                logger_.info("{} {} messages dropped in server lifetime",
-                             dropped, entry.getKey());
+                logger_.info("{} {} messages dropped in server lifetime", 
recent, verb);
+                lastDroppedInternal.put(verb, dropped.get());
             }
         }
 


Reply via email to