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());
}
}