You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sl...@apache.org on 2012/11/08 15:59:39 UTC

[1/2] git commit: Better printing of AbstractBounds in traces

Updated Branches:
  refs/heads/trunk e27a95587 -> 08e289177


Better printing of AbstractBounds in traces

patch by slebresne; reviewed by jbellis for CASSANDRA-4905


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

Branch: refs/heads/trunk
Commit: 08e289177906b15f28c7a60ddcf6c21f69ad4d45
Parents: 9a89eef
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Nov 8 15:59:00 2012 +0100
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Nov 8 15:59:00 2012 +0100

----------------------------------------------------------------------
 CHANGES.txt                                        |    1 +
 .../org/apache/cassandra/db/ColumnFamilyStore.java |    4 +-
 .../org/apache/cassandra/dht/AbstractBounds.java   |   22 +++++++++++++++
 src/java/org/apache/cassandra/dht/Bounds.java      |   10 +++++++
 .../org/apache/cassandra/dht/ExcludingBounds.java  |   10 +++++++
 .../cassandra/dht/IncludingExcludingBounds.java    |   12 +++++++-
 src/java/org/apache/cassandra/dht/Range.java       |   10 +++++++
 7 files changed, 66 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/08e28917/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 9bc4478..ba9e134 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -2,6 +2,7 @@
  * Don't share slice query filter in CQL3 SelectStatement (CASSANDRA-4928)
  * Separate tracing from Log4J (CASSANDRA-4861)
  * Exclude gcable tombstones from merkle-tree computation (CASSANDRA-4905)
+ * Better printing of AbstractBounds for tracing (CASSANDRA-4931)
 
 1.2-beta2
  * fp rate of 1.0 disables BF entirely; LCS defaults to 1.0 (CASSANDRA-4876)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/08e28917/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
index 199d07a..882a322 100644
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@ -1387,7 +1387,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
         QueryFilter filter = new QueryFilter(null, new QueryPath(columnFamily, superColumn, null), columnFilter);
 
         final ViewFragment view = markReferenced(startWith, stopAt);
-        Tracing.trace("Executing seq scan across {} sstables for {}..{}", new Object[]{view.sstables.size(), startWith, stopAt});
+        Tracing.trace("Executing seq scan across {} sstables for {}", view.sstables.size(), range.getString(metadata.getKeyValidator()));
 
         try
         {
@@ -1453,7 +1453,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
 
     public List<Row> search(List<IndexExpression> clause, AbstractBounds<RowPosition> range, int maxResults, IDiskAtomFilter dataFilter, boolean maxIsColumns)
     {
-        Tracing.trace("Executing indexed scan for {}..{}", range.left, range.right);
+        Tracing.trace("Executing indexed scan for {}", range.getString(metadata.getKeyValidator()));
         return indexManager.search(clause, range, maxResults, dataFilter, maxIsColumns);
     }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/08e28917/src/java/org/apache/cassandra/dht/AbstractBounds.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/dht/AbstractBounds.java b/src/java/org/apache/cassandra/dht/AbstractBounds.java
index f2ae5c3..b5ce85d 100644
--- a/src/java/org/apache/cassandra/dht/AbstractBounds.java
+++ b/src/java/org/apache/cassandra/dht/AbstractBounds.java
@@ -23,8 +23,10 @@ import java.io.IOException;
 import java.io.Serializable;
 import java.util.*;
 
+import org.apache.cassandra.db.DecoratedKey;
 import org.apache.cassandra.db.TypeSizes;
 import org.apache.cassandra.db.RowPosition;
+import org.apache.cassandra.db.marshal.AbstractType;
 import org.apache.cassandra.io.IVersionedSerializer;
 import org.apache.cassandra.net.MessagingService;
 import org.apache.cassandra.utils.Pair;
@@ -89,6 +91,26 @@ public abstract class AbstractBounds<T extends RingPosition> implements Serializ
 
     public abstract List<? extends AbstractBounds<T>> unwrap();
 
+    public String getString(AbstractType<?> keyValidator)
+    {
+        return getOpeningString() + format(left, keyValidator) + ", " + format(right, keyValidator) + getClosingString();
+    }
+
+    private String format(T value, AbstractType<?> keyValidator)
+    {
+        if (value instanceof DecoratedKey)
+        {
+            return keyValidator.getString(((DecoratedKey)value).key);
+        }
+        else
+        {
+            return value.toString();
+        }
+    }
+
+    protected abstract String getOpeningString();
+    protected abstract String getClosingString();
+
     /**
      * Transform this abstract bounds to equivalent covering bounds of row positions.
      * If this abstract bounds was already an abstractBounds of row positions, this is a noop.

http://git-wip-us.apache.org/repos/asf/cassandra/blob/08e28917/src/java/org/apache/cassandra/dht/Bounds.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/dht/Bounds.java b/src/java/org/apache/cassandra/dht/Bounds.java
index 7da30bc..bf579ae 100644
--- a/src/java/org/apache/cassandra/dht/Bounds.java
+++ b/src/java/org/apache/cassandra/dht/Bounds.java
@@ -88,6 +88,16 @@ public class Bounds<T extends RingPosition> extends AbstractBounds<T>
         return "[" + left + "," + right + "]";
     }
 
+    protected String getOpeningString()
+    {
+        return "[";
+    }
+
+    protected String getClosingString()
+    {
+        return "]";
+    }
+
     /**
      * Compute a bounds of keys corresponding to a given bounds of token.
      */

http://git-wip-us.apache.org/repos/asf/cassandra/blob/08e28917/src/java/org/apache/cassandra/dht/ExcludingBounds.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/dht/ExcludingBounds.java b/src/java/org/apache/cassandra/dht/ExcludingBounds.java
index 0bde8f1..7823023 100644
--- a/src/java/org/apache/cassandra/dht/ExcludingBounds.java
+++ b/src/java/org/apache/cassandra/dht/ExcludingBounds.java
@@ -77,6 +77,16 @@ public class ExcludingBounds<T extends RingPosition> extends AbstractBounds<T>
         return "(" + left + "," + right + ")";
     }
 
+    protected String getOpeningString()
+    {
+        return "(";
+    }
+
+    protected String getClosingString()
+    {
+        return ")";
+    }
+
     /**
      * Compute a bounds of keys corresponding to a given bounds of token.
      */

http://git-wip-us.apache.org/repos/asf/cassandra/blob/08e28917/src/java/org/apache/cassandra/dht/IncludingExcludingBounds.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/dht/IncludingExcludingBounds.java b/src/java/org/apache/cassandra/dht/IncludingExcludingBounds.java
index 9c0f6dd..0b1cb0b 100644
--- a/src/java/org/apache/cassandra/dht/IncludingExcludingBounds.java
+++ b/src/java/org/apache/cassandra/dht/IncludingExcludingBounds.java
@@ -73,7 +73,17 @@ public class IncludingExcludingBounds<T extends RingPosition> extends AbstractBo
     @Override
     public String toString()
     {
-        return "(" + left + "," + right + ")";
+        return "[" + left + "," + right + ")";
+    }
+
+    protected String getOpeningString()
+    {
+        return "[";
+    }
+
+    protected String getClosingString()
+    {
+        return ")";
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/cassandra/blob/08e28917/src/java/org/apache/cassandra/dht/Range.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/dht/Range.java b/src/java/org/apache/cassandra/dht/Range.java
index f32c938..a750ae2 100644
--- a/src/java/org/apache/cassandra/dht/Range.java
+++ b/src/java/org/apache/cassandra/dht/Range.java
@@ -355,6 +355,16 @@ public class Range<T extends RingPosition> extends AbstractBounds<T> implements
         return "(" + left + "," + right + "]";
     }
 
+    protected String getOpeningString()
+    {
+        return "(";
+    }
+
+    protected String getClosingString()
+    {
+        return "]";
+    }
+
     public List<String> asList()
     {
         ArrayList<String> ret = new ArrayList<String>(2);