Log more information when exceeding tombstone_warn_threshold
patch by Oleg Anastasyev; reviewed by jbellis for CASSANDRA-6865


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/57c5969e
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/57c5969e
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/57c5969e

Branch: refs/heads/trunk
Commit: 57c5969e1dac82c6a676668edf1dc5ba64bcbf1f
Parents: 7ce3950
Author: Jonathan Ellis <[email protected]>
Authored: Fri Mar 14 15:39:19 2014 -0500
Committer: Jonathan Ellis <[email protected]>
Committed: Fri Mar 14 15:39:19 2014 -0500

----------------------------------------------------------------------
 CHANGES.txt                                     |  1 +
 .../cassandra/db/filter/SliceQueryFilter.java   | 20 ++++++++++++++++++--
 2 files changed, 19 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/57c5969e/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 045e4f8..61b1ee1 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.7
+ * Log more information when exceeding tombstone_warn_threshold 
(CASSANDRA-6865)
  * Fix truncate to not abort due to unreachable fat clients (CASSANDRA-6864)
  * Fix schema concurrency exceptions (CASSANDRA-6841)
  * Fix leaking validator FH in StreamWriter (CASSANDRA-6832)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/57c5969e/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java 
b/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java
index b43308f..356418e 100644
--- a/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java
+++ b/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java
@@ -207,8 +207,24 @@ public class SliceQueryFilter implements IDiskAtomFilter
 
         Tracing.trace("Read {} live and {} tombstoned cells", 
columnCounter.live(), columnCounter.ignored());
         if (respectTombstoneThresholds() && columnCounter.ignored() > 
DatabaseDescriptor.getTombstoneWarnThreshold())
-            logger.warn("Read {} live and {} tombstoned cells in {}.{} (see 
tombstone_warn_threshold)",
-                        columnCounter.live(), columnCounter.ignored(), 
container.metadata().ksName, container.metadata().cfName);
+        {
+            StringBuilder sb = new StringBuilder();
+            AbstractType<?> type = container.metadata().comparator;
+            for (ColumnSlice sl : slices)
+            {
+                if (sl == null)
+                    continue;
+
+                sb.append('[');
+                sb.append(type.getString(sl.start));
+                sb.append('-');
+                sb.append(type.getString(sl.finish));
+                sb.append(']');
+            }
+
+            logger.warn("Read {} live and {} tombstoned cells in {}.{} (see 
tombstone_warn_threshold). {} columns was requested, slices={}, delInfo={}",
+                        columnCounter.live(), columnCounter.ignored(), 
container.metadata().ksName, container.metadata().cfName, count, sb, 
container.deletionInfo());
+        }
     }
 
     protected boolean respectTombstoneThresholds()

Reply via email to