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