You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2010/02/03 21:40:11 UTC
svn commit: r906231 - in /incubator/cassandra/trunk:
src/java/org/apache/cassandra/dht/ src/java/org/apache/cassandra/service/
src/java/org/apache/cassandra/tools/ src/java/org/apache/cassandra/utils/
test/unit/org/apache/cassandra/dht/ test/unit/org/a...
Author: jbellis
Date: Wed Feb 3 20:40:10 2010
New Revision: 906231
URL: http://svn.apache.org/viewvc?rev=906231&view=rev
Log:
reformat, cleanup Range. patch by jbellis
Modified:
incubator/cassandra/trunk/src/java/org/apache/cassandra/dht/Range.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageProxy.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/tools/NodeCmd.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/utils/MerkleTree.java
incubator/cassandra/trunk/test/unit/org/apache/cassandra/dht/BootStrapperTest.java
incubator/cassandra/trunk/test/unit/org/apache/cassandra/utils/MerkleTreeTest.java
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/dht/Range.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/dht/Range.java?rev=906231&r1=906230&r2=906231&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/dht/Range.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/dht/Range.java Wed Feb 3 20:40:10 2010
@@ -22,7 +22,6 @@
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.Serializable;
-import java.util.List;
import org.apache.cassandra.io.ICompactSerializer;
@@ -37,6 +36,7 @@
public static final long serialVersionUID = 1L;
private static ICompactSerializer<Range> serializer_;
+
static
{
serializer_ = new RangeSerializer();
@@ -47,36 +47,18 @@
return serializer_;
}
- private final Token left_;
- private final Token right_;
+ public final Token left;
+ public final Token right;
public Range(Token left, Token right)
{
- left_ = left;
- right_ = right;
- }
-
- /**
- * Returns the left endpoint of a range.
- * @return left endpoint
- */
- public Token left()
- {
- return left_;
- }
-
- /**
- * Returns the right endpoint of a range.
- * @return right endpoint
- */
- public Token right()
- {
- return right_;
+ this.left = left;
+ this.right = right;
}
public static boolean contains(Token left, Token right, Token bi)
{
- if ( isWrapAround(left, right) )
+ if (isWrapAround(left, right))
{
/*
* We are wrapping around, so the interval is (a,b] where a >= b,
@@ -85,7 +67,7 @@
* (2) k <= b -- return true
* (3) b < k <= a -- return false
*/
- if ( bi.compareTo(left) > 0 )
+ if (bi.compareTo(left) > 0)
return true;
else
return right.compareTo(bi) >= 0;
@@ -95,21 +77,21 @@
/*
* This is the range (a, b] where a < b.
*/
- return ( bi.compareTo(left) > 0 && right.compareTo(bi) >= 0 );
- }
+ return (bi.compareTo(left) > 0 && right.compareTo(bi) >= 0);
+ }
}
public boolean contains(Range that)
{
- boolean thiswraps = isWrapAround(this.left(), this.right());
- boolean thatwraps = isWrapAround(that.left(), that.right());
+ boolean thiswraps = isWrapAround(left, right);
+ boolean thatwraps = isWrapAround(that.left, that.right);
if (thiswraps == thatwraps)
- return this.left().compareTo(that.left()) <= 0 &&
- that.right().compareTo(this.right()) <= 0;
+ return left.compareTo(that.left) <= 0 &&
+ that.right.compareTo(right) <= 0;
else if (thiswraps)
// wrapping might contain non-wrapping
- return this.left().compareTo(that.left()) <= 0 ||
- that.right().compareTo(this.right()) <= 0;
+ return left.compareTo(that.left) <= 0 ||
+ that.right.compareTo(right) <= 0;
else // (thatwraps)
// non-wrapping cannot contain wrapping
return false;
@@ -123,7 +105,7 @@
*/
public boolean contains(Token bi)
{
- return contains(left_, right_, bi);
+ return contains(left, right, bi);
}
/**
@@ -132,19 +114,19 @@
*/
public boolean intersects(Range that)
{
- boolean thiswraps = isWrapAround(this.left(), this.right());
- boolean thatwraps = isWrapAround(that.left(), that.right());
+ boolean thiswraps = isWrapAround(left, right);
+ boolean thatwraps = isWrapAround(that.left, that.right);
if (thiswraps && thatwraps)
// both (must contain the minimum token)
return true;
else if (!thiswraps && !thatwraps)
// neither
- return this.left().compareTo(that.right()) < 0 &&
- that.left().compareTo(this.right()) < 0;
+ return left.compareTo(that.right) < 0 &&
+ that.left.compareTo(right) < 0;
else
// either
- return this.left().compareTo(that.right()) < 0 ||
- that.left().compareTo(this.right()) < 0;
+ return left.compareTo(that.right) < 0 ||
+ that.left.compareTo(right) < 0;
}
/**
@@ -163,13 +145,13 @@
* If the range represented by the "this" pointer
* is a wrap around then it is the smaller one.
*/
- if ( isWrapAround(left(), right()) )
+ if ( isWrapAround(left, right) )
return -1;
-
- if ( isWrapAround(rhs.left(), rhs.right()) )
+
+ if ( isWrapAround(rhs.left, rhs.right) )
return 1;
- return right_.compareTo(rhs.right_);
+ return right.compareTo(rhs.right);
}
@@ -189,10 +171,10 @@
public boolean equals(Object o)
{
- if ( !(o instanceof Range) )
+ if (!(o instanceof Range))
return false;
Range rhs = (Range)o;
- return left_.equals(rhs.left_) && right_.equals(rhs.right_);
+ return left.equals(rhs.left) && right.equals(rhs.right);
}
@Override
@@ -203,7 +185,7 @@
public String toString()
{
- return "(" + left_ + "," + right_ + "]";
+ return "(" + left + "," + right + "]";
}
}
@@ -211,8 +193,8 @@
{
public void serialize(Range range, DataOutputStream dos) throws IOException
{
- Token.serializer().serialize(range.left(), dos);
- Token.serializer().serialize(range.right(), dos);
+ Token.serializer().serialize(range.left, dos);
+ Token.serializer().serialize(range.right, dos);
}
public Range deserialize(DataInputStream dis) throws IOException
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageProxy.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageProxy.java?rev=906231&r1=906230&r2=906231&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageProxy.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageProxy.java Wed Feb 3 20:40:10 2010
@@ -46,7 +46,6 @@
import org.apache.cassandra.dht.IPartitioner;
import org.apache.cassandra.dht.Range;
import org.apache.cassandra.dht.Token;
-import org.apache.cassandra.gms.FailureDetector;
import org.apache.cassandra.concurrent.StageManager;
import org.apache.log4j.Logger;
@@ -546,24 +545,24 @@
do
{
Range primaryRange = StorageService.instance.getPrimaryRangeForEndPoint(endPoint);
- List<InetAddress> endpoints = StorageService.instance.getLiveNaturalEndpoints(primaryRange.right());
+ List<InetAddress> endpoints = StorageService.instance.getLiveNaturalEndpoints(primaryRange.right);
if (endpoints.size() < responseCount)
throw new UnavailableException();
// to make comparing the results from each node easy, we restrict each command to the data in the primary range for this iteration
DecoratedKey<?> startKey;
DecoratedKey<?> finishKey;
- if (primaryRange.left().equals(primaryRange.right()))
+ if (primaryRange.left.equals(primaryRange.right))
{
startKey = command.startKey;
finishKey = command.finishKey;
}
else
{
- startKey = (DecoratedKey<?>) ObjectUtils.max(command.startKey, new DecoratedKey<Token<?>>(primaryRange.left(), null));
+ startKey = (DecoratedKey<?>) ObjectUtils.max(command.startKey, new DecoratedKey<Token<?>>(primaryRange.left, null));
finishKey = command.finishKey.isEmpty()
- ? new DecoratedKey<Token<?>>(primaryRange.right(), null)
- : (DecoratedKey<?>) ObjectUtils.min(command.finishKey, new DecoratedKey<Token<?>>(primaryRange.right(), null));
+ ? new DecoratedKey<Token<?>>(primaryRange.right, null)
+ : (DecoratedKey<?>) ObjectUtils.min(command.finishKey, new DecoratedKey<Token<?>>(primaryRange.right, null));
}
RangeSliceCommand c2 = new RangeSliceCommand(command.keyspace, command.column_family, command.super_column, command.predicate, startKey, finishKey, command.max_keys);
Message message = c2.getMessage();
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java?rev=906231&r1=906230&r2=906231&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java Wed Feb 3 20:40:10 2010
@@ -43,7 +43,6 @@
import org.apache.cassandra.thrift.UnavailableException;
import org.apache.cassandra.utils.FBUtilities;
import org.apache.cassandra.utils.WrappedRunnable;
-import org.apache.cassandra.io.SSTableReader;
import org.apache.cassandra.io.util.FileUtils;
import org.apache.log4j.Logger;
@@ -379,7 +378,7 @@
Map<Range, List<InetAddress>> rangeToEndPointMap = new HashMap<Range, List<InetAddress>>();
for (Range range : ranges)
{
- rangeToEndPointMap.put(range, replicationStrategy_.getNaturalEndpoints(range.right()));
+ rangeToEndPointMap.put(range, replicationStrategy_.getNaturalEndpoints(range.right));
}
return rangeToEndPointMap;
}
@@ -626,8 +625,8 @@
// all leaving nodes are gone.
for (Range range : affectedRanges)
{
- List<InetAddress> currentEndPoints = strategy.getNaturalEndpoints(range.right(), tm);
- List<InetAddress> newEndPoints = strategy.getNaturalEndpoints(range.right(), allLeftMetadata);
+ List<InetAddress> currentEndPoints = strategy.getNaturalEndpoints(range.right, tm);
+ List<InetAddress> newEndPoints = strategy.getNaturalEndpoints(range.right, allLeftMetadata);
newEndPoints.removeAll(currentEndPoints);
pendingRanges.putAll(range, newEndPoints);
}
@@ -727,7 +726,7 @@
// Find (for each range) all nodes that store replicas for these ranges as well
for (Range range : ranges)
- currentReplicaEndpoints.put(range, replicationStrategy_.getNaturalEndpoints(range.right(), tokenMetadata_));
+ currentReplicaEndpoints.put(range, replicationStrategy_.getNaturalEndpoints(range.right, tokenMetadata_));
TokenMetadata temp = tokenMetadata_.cloneAfterAllLeft();
@@ -745,7 +744,7 @@
// range.
for (Range range : ranges)
{
- ArrayList<InetAddress> newReplicaEndpoints = replicationStrategy_.getNaturalEndpoints(range.right(), temp);
+ ArrayList<InetAddress> newReplicaEndpoints = replicationStrategy_.getNaturalEndpoints(range.right, temp);
newReplicaEndpoints.removeAll(currentReplicaEndpoints.get(range));
if (logger_.isDebugEnabled())
if (newReplicaEndpoints.isEmpty())
@@ -1210,7 +1209,7 @@
// (we're only operating on 1/128 of the keys remember)
Range range = getLocalPrimaryRange();
List<String> tokens = new ArrayList<String>();
- tokens.add(range.left().toString());
+ tokens.add(range.left.toString());
List<DecoratedKey> keys = new ArrayList<DecoratedKey>();
for (ColumnFamilyStore cfs : ColumnFamilyStore.all())
@@ -1241,7 +1240,7 @@
}
}
- tokens.add(range.right().toString());
+ tokens.add(range.right.toString());
return tokens;
}
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/tools/NodeCmd.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/tools/NodeCmd.java?rev=906231&r1=906230&r2=906231&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/tools/NodeCmd.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/tools/NodeCmd.java Wed Feb 3 20:40:10 2010
@@ -10,8 +10,6 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
-import javax.management.JMX;
-import javax.management.ObjectName;
import org.apache.cassandra.cache.JMXAggregatingCacheMBean;
import org.apache.cassandra.cache.JMXInstrumentedCacheMBean;
@@ -19,6 +17,7 @@
import org.apache.cassandra.db.ColumnFamilyStoreMBean;
import org.apache.cassandra.db.CompactionManager;
import org.apache.cassandra.dht.Range;
+
import org.apache.commons.cli.*;
public class NodeCmd {
@@ -84,7 +83,7 @@
// emphasize that we're showing the right part of each range
if (ranges.size() > 1)
{
- outs.println(String.format("%-14s%-11s%-14s%-43s", "", "", "", ranges.get(0).left()));
+ outs.println(String.format("%-14s%-11s%-14s%-43s", "", "", "", ranges.get(0).left));
}
// normal range & node info
for (Range range : ranges) {
@@ -103,7 +102,7 @@
String load = loadMap.containsKey(primaryEndpoint) ? loadMap.get(primaryEndpoint) : "?";
outs.print(String.format("%-14s", load));
- outs.print(String.format("%-43s", range.right()));
+ outs.print(String.format("%-43s", range.right));
String asciiRingArt;
if (counter == 0)
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/utils/MerkleTree.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/utils/MerkleTree.java?rev=906231&r1=906230&r2=906231&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/utils/MerkleTree.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/utils/MerkleTree.java Wed Feb 3 20:40:10 2010
@@ -22,7 +22,6 @@
import java.util.*;
import com.google.common.collect.AbstractIterator;
-import com.google.common.collect.Iterators;
import com.google.common.collect.PeekingIterator;
import org.apache.cassandra.dht.*;
@@ -186,9 +185,9 @@
*/
static int differenceHelper(MerkleTree ltree, MerkleTree rtree, List<TreeRange> diff, TreeRange active)
{
- Token midpoint = ltree.partitioner().midpoint(active.left(), active.right());
- TreeRange left = new TreeRange(null, active.left(), midpoint, inc(active.depth), null);
- TreeRange right = new TreeRange(null, midpoint, active.right(), inc(active.depth), null);
+ Token midpoint = ltree.partitioner().midpoint(active.left, active.right);
+ TreeRange left = new TreeRange(null, active.left, midpoint, inc(active.depth), null);
+ TreeRange right = new TreeRange(null, midpoint, active.right, inc(active.depth), null);
byte[] lhash;
byte[] rhash;
@@ -320,8 +319,8 @@
// else: node.
Inner node = (Inner)hashable;
- Range leftactive = new Range(active.left(), node.token);
- Range rightactive = new Range(node.token, active.right());
+ Range leftactive = new Range(active.left, node.token);
+ Range rightactive = new Range(node.token, active.right);
if (range.contains(active))
{
@@ -558,8 +557,8 @@
Inner node = (Inner)active.hashable;
// push intersecting children onto the stack
- TreeRange left = new TreeRange(tree, active.left(), node.token, inc(active.depth), node.lchild);
- TreeRange right = new TreeRange(tree, node.token, active.right(), inc(active.depth), node.rchild);
+ TreeRange left = new TreeRange(tree, active.left, node.token, inc(active.depth), node.lchild);
+ TreeRange right = new TreeRange(tree, node.token, active.right, inc(active.depth), node.rchild);
if (right.intersects(range))
tovisit.push(right);
if (left.intersects(range))
Modified: incubator/cassandra/trunk/test/unit/org/apache/cassandra/dht/BootStrapperTest.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/test/unit/org/apache/cassandra/dht/BootStrapperTest.java?rev=906231&r1=906230&r2=906231&view=diff
==============================================================================
--- incubator/cassandra/trunk/test/unit/org/apache/cassandra/dht/BootStrapperTest.java (original)
+++ incubator/cassandra/trunk/test/unit/org/apache/cassandra/dht/BootStrapperTest.java Wed Feb 3 20:40:10 2010
@@ -35,7 +35,6 @@
import org.apache.cassandra.gms.ApplicationState;
import org.apache.cassandra.locator.TokenMetadata;
import org.apache.cassandra.service.StorageService;
-import org.apache.cassandra.utils.FBUtilities;
public class BootStrapperTest
{
@@ -60,7 +59,7 @@
InetAddress myEndpoint = InetAddress.getByName("127.0.0.1");
Range range3 = ss.getPrimaryRangeForEndPoint(three);
- Token fakeToken = ((IPartitioner)StorageService.getPartitioner()).midpoint(range3.left(), range3.right());
+ Token fakeToken = ((IPartitioner)StorageService.getPartitioner()).midpoint(range3.left, range3.right);
assert range3.contains(fakeToken);
ss.onChange(myEndpoint, StorageService.MOVE_STATE, new ApplicationState(StorageService.STATE_BOOTSTRAPPING + StorageService.Delimiter + ss.getPartitioner().getTokenFactory().toString(fakeToken)));
tmd = ss.getTokenMetadata();
Modified: incubator/cassandra/trunk/test/unit/org/apache/cassandra/utils/MerkleTreeTest.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/test/unit/org/apache/cassandra/utils/MerkleTreeTest.java?rev=906231&r1=906230&r2=906231&view=diff
==============================================================================
--- incubator/cassandra/trunk/test/unit/org/apache/cassandra/utils/MerkleTreeTest.java (original)
+++ incubator/cassandra/trunk/test/unit/org/apache/cassandra/utils/MerkleTreeTest.java Wed Feb 3 20:40:10 2010
@@ -28,7 +28,6 @@
import org.apache.log4j.Logger;
import com.google.common.collect.AbstractIterator;
-import com.google.common.collect.PeekingIterator;
import org.junit.Before;
import org.junit.Test;
@@ -405,7 +404,7 @@
// validate the tree
TreeRangeIterator ranges = mt.invalids(new Range(tok(0), tok(0)));
for (TreeRange range : ranges)
- range.addHash(new RowHash(range.right(), new byte[0]));
+ range.addHash(new RowHash(range.right, new byte[0]));
assert null != mt.hash(new Range(tok(0), tok(0))) :
"Could not hash tree " + mt;
@@ -475,7 +474,7 @@
mt.maxsize(256);
mt.init();
for (TreeRange range : mt.invalids(full))
- range.addAll(new HIterator(range.right()));
+ range.addAll(new HIterator(range.right));
byte[] initialhash = mt.hash(full);
oout.writeObject(mt);
@@ -511,26 +510,26 @@
rightmost = null;
while (ranges.hasNext())
rightmost = ranges.next();
- mt.compact(leftmost.right());
- leftmost = mt.get(leftmost.right()); // leftmost is now a larger range
- mt.split(rightmost.right());
+ mt.compact(leftmost.right);
+ leftmost = mt.get(leftmost.right); // leftmost is now a larger range
+ mt.split(rightmost.right);
// set the hash for the left neighbor of rightmost
- middle = mt.get(rightmost.left());
+ middle = mt.get(rightmost.left);
middle.hash("arbitrary!".getBytes());
byte depth = middle.depth;
// add dummy hashes to the rest of both trees
for (TreeRange range : mt.invalids(full))
- range.addAll(new HIterator(range.right()));
+ range.addAll(new HIterator(range.right));
for (TreeRange range : mt2.invalids(full))
- range.addAll(new HIterator(range.right()));
+ range.addAll(new HIterator(range.right));
// trees should disagree for leftmost, (middle.left, rightmost.right]
List<TreeRange> diffs = MerkleTree.difference(mt, mt2);
assertEquals(diffs + " contains wrong number of differences:", 2, diffs.size());
assertTrue(diffs.contains(leftmost));
- assertTrue(diffs.contains(new Range(middle.left(), rightmost.right())));
+ assertTrue(diffs.contains(new Range(middle.left, rightmost.right)));
}
/**