svn commit: r1103916 - /cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/locator/RackInferringSnitch.java

2011-05-16 Thread brandonwilliams
Author: brandonwilliams
Date: Mon May 16 21:43:37 2011
New Revision: 1103916

URL: http://svn.apache.org/viewvc?rev=1103916view=rev
Log:
RIS rack and DC values are interpreted as being unsigned
Patch by Jerr Pisk, reviewed by brandonwilliams for CASSANDRA-2651

Modified:

cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/locator/RackInferringSnitch.java

Modified: 
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/locator/RackInferringSnitch.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/locator/RackInferringSnitch.java?rev=1103916r1=1103915r2=1103916view=diff
==
--- 
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/locator/RackInferringSnitch.java
 (original)
+++ 
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/locator/RackInferringSnitch.java
 Mon May 16 21:43:37 2011
@@ -28,11 +28,11 @@ public class RackInferringSnitch extends
 {
 public String getRack(InetAddress endpoint)
 {
-return Byte.toString(endpoint.getAddress()[2]);
+return Integer.toString(endpoint.getAddress()[2]  0xFF, 10);
 }
 
 public String getDatacenter(InetAddress endpoint)
 {
-return Byte.toString(endpoint.getAddress()[1]);
+return Integer.toString(endpoint.getAddress()[1]  0xFF, 10);
 }
 }




svn commit: r1124338 - /cassandra/branches/cassandra-0.7/debian/rules

2011-05-18 Thread brandonwilliams
Author: brandonwilliams
Date: Wed May 18 17:10:14 2011
New Revision: 1124338

URL: http://svn.apache.org/viewvc?rev=1124338view=rev
Log:
Fix for dh_installinit syntax for CASSANDRA-2481
Patch by Paul Cannon, reviewed by brandonwilliams

Modified:
cassandra/branches/cassandra-0.7/debian/rules

Modified: cassandra/branches/cassandra-0.7/debian/rules
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/debian/rules?rev=1124338r1=1124337r2=1124338view=diff
==
--- cassandra/branches/cassandra-0.7/debian/rules (original)
+++ cassandra/branches/cassandra-0.7/debian/rules Wed May 18 17:10:14 2011
@@ -46,7 +46,7 @@ binary-indep: build install
dh_testdir
dh_testroot
dh_installchangelogs
-   dh_installinit -u'start 50 2 3 4 5 . stop 50 0 1 6'
+   dh_installinit -u'start 50 2 3 4 5 . stop 50 0 1 6 .'
dh_installdocs README.txt CHANGES.txt NEWS.txt
dh_compress
dh_fixperms




svn commit: r1126682 - in /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra: gms/FailureDetector.java locator/DynamicEndpointSnitch.java

2011-05-23 Thread brandonwilliams
Author: brandonwilliams
Date: Mon May 23 19:43:53 2011
New Revision: 1126682

URL: http://svn.apache.org/viewvc?rev=1126682view=rev
Log:
Simplify FD/DES calculations.
Patch by Paul Cannon, reviewed by brandonwilliams for CASSANDRA-2597

Modified:

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/FailureDetector.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/FailureDetector.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/FailureDetector.java?rev=1126682r1=1126681r2=1126682view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/FailureDetector.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/FailureDetector.java
 Mon May 23 19:43:53 2011
@@ -200,6 +200,12 @@ class ArrivalWindow
 private double tLast_ = 0L;
 private BoundedStatsDeque arrivalIntervals_;
 
+// this is useless except to provide backwards compatibility in 
phi_convict_threshold,
+// because everyone seems pretty accustomed to the default of 8, and users 
who have
+// already tuned their phi_convict_threshold for their own environments 
won't need to
+// change.
+private final double PHI_FACTOR = 1.0 / Math.log(10.0);
+
 ArrivalWindow(int size)
 {
 arrivalIntervals_ = new BoundedStatsDeque(size);
@@ -249,26 +255,16 @@ class ArrivalWindow
 {
 arrivalIntervals_.clear();
 }
-
-double p(double t)
-{
-double mean = mean();
-double exponent = (-1)*(t)/mean;
-return Math.pow(Math.E, exponent);
-}
-
+
+// see CASSANDRA-2597 for an explanation of the math at work here.
 double phi(long tnow)
-{
+{
 int size = arrivalIntervals_.size();
-double log = 0d;
-if ( size  0 )
-{
-double t = tnow - tLast_;
-double probability = p(t);   
-log = (-1) * Math.log10( probability );
 
-}
-return log;   
-} 
+double t = tnow - tLast_;
+return (size  0)
+   ? PHI_FACTOR * t / mean()
+   : 0.0;
+}
 
 public String toString()
 {

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java?rev=1126682r1=1126681r2=1126682view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java
 Mon May 23 19:43:53 2011
@@ -274,7 +274,6 @@ public class DynamicEndpointSnitch exten
 class AdaptiveLatencyTracker extends AbstractStatsDeque
 {
 private final LinkedBlockingDequeDouble latencies;
-private static final double SENTINEL_COMPARE = 0.0001; // arbitrary; as 
long as it is the same across hosts it doesn't matter
 
 AdaptiveLatencyTracker(int size)
 {
@@ -312,22 +311,9 @@ class AdaptiveLatencyTracker extends Abs
 return latencies.size();
 }
 
-double p(double t)
-{
-double mean = mean();
-double exponent = (-1) * (t) / mean;
-return 1 - Math.pow( Math.E, exponent);
-}
-
 double score()
 {
-double log = 0d;
-if ( latencies.size()  0 )
-{
-double probability = p(SENTINEL_COMPARE);
-log = (-1) * Math.log10( probability );
-}
-return log;
+return (size()  0) ? mean() : 0.0;
 }
 
 }




svn commit: r1127336 - in /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools: NodeCmd.java NodeProbe.java

2011-05-24 Thread brandonwilliams
Author: brandonwilliams
Date: Wed May 25 00:02:22 2011
New Revision: 1127336

URL: http://svn.apache.org/viewvc?rev=1127336view=rev
Log:
Show rack and dc in nodetool ring/info.
Patch by Alex Araujo, reviewed by brandonwilliams for CASSANDRA-2531

Modified:

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeProbe.java

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java?rev=1127336r1=1127335r2=1127336view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java
 Wed May 25 00:02:22 2011
@@ -25,6 +25,7 @@ import java.io.IOException;
 import java.io.PrintStream;
 import java.lang.management.MemoryUsage;
 import java.net.InetAddress;
+import java.net.UnknownHostException;
 import java.text.DecimalFormat;
 import java.util.*;
 import java.util.Map.Entry;
@@ -161,11 +162,12 @@ public class NodeCmd
 CollectionString movingNodes = probe.getMovingNodes();
 MapString, String loadMap = probe.getLoadMap();
 
-outs.printf(%-16s%-7s%-8s%-16s%-8s%-44s%n, Address, Status, 
State, Load, Owns, Token);
+String format = %-16s%-12s%-12s%-7s%-8s%-16s%-8s%-44s%n;
+outs.printf(format, Address, DC, Rack, Status, State, 
Load, Owns, Token);
 // show pre-wrap token twice so you can always read a node's range as
 // (previous line token, current line token]
 if (sortedTokens.size()  1)
-outs.printf(%-16s%-7s%-8s%-16s%-8s%-44s%n, , , , , , 
sortedTokens.get(sortedTokens.size() - 1));
+outs.printf(format, , , , , , , , 
sortedTokens.get(sortedTokens.size() - 1));
 
 // Calculate per-token ownership of the ring
 MapToken, Float ownerships = probe.getOwnership();
@@ -173,6 +175,24 @@ public class NodeCmd
 for (Token token : sortedTokens)
 {
 String primaryEndpoint = tokenToEndpoint.get(token);
+String dataCenter;
+try
+{
+dataCenter = 
probe.getEndpointSnitchInfoProxy().getDatacenter(primaryEndpoint);
+}
+catch (UnknownHostException e)
+{
+dataCenter = Unknown;
+}
+String rack;
+try
+{
+rack = 
probe.getEndpointSnitchInfoProxy().getRack(primaryEndpoint);
+}
+catch (UnknownHostException e)
+{
+rack = Unknown;
+}
 String status = liveNodes.contains(primaryEndpoint)
 ? Up
 : deadNodes.contains(primaryEndpoint)
@@ -192,7 +212,7 @@ public class NodeCmd
   ? loadMap.get(primaryEndpoint)
   : ?;
 String owns = new 
DecimalFormat(##0.00%).format(ownerships.get(token));
-outs.printf(%-16s%-7s%-8s%-16s%-8s%-44s%n, primaryEndpoint, 
status, state, load, owns, token);
+outs.printf(format, primaryEndpoint, dataCenter, rack, status, 
state, load, owns, token);
 }
 }
 
@@ -236,6 +256,10 @@ public class NodeCmd
 double memUsed = (double)heapUsage.getUsed() / (1024 * 1024);
 double memMax = (double)heapUsage.getMax() / (1024 * 1024);
 outs.printf(%-17s: %.2f / %.2f%n, Heap Memory (MB), memUsed, 
memMax);
+
+// Data Center/Rack
+outs.printf(%-17s: %s%n, Data Center, probe.getDataCenter());
+outs.printf(%-17s: %s%n, Rack, probe.getRack());
 }
 
 public void printReleaseVersion(PrintStream outs)

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeProbe.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeProbe.java?rev=1127336r1=1127335r2=1127336view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeProbe.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeProbe.java
 Wed May 25 00:02:22 2011
@@ -25,6 +25,7 @@ import java.lang.management.MemoryMXBean
 import java.lang.management.MemoryUsage;
 import java.lang.management.RuntimeMXBean;
 import java.net.InetAddress;
+import java.net.UnknownHostException;
 import java.nio.ByteBuffer;
 import java.util.*;
 import java.util.Map.Entry;
@@ -47,6 +48,7 @@ import org.apache.cassandra.db.ColumnFam
 import org.apache.cassandra.db.CompactionManager;
 import org.apache.cassandra.db.CompactionManagerMBean;
 import

svn commit: r1127625 - /cassandra/branches/cassandra-0.8.0/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java

2011-05-25 Thread brandonwilliams
Author: brandonwilliams
Date: Wed May 25 18:45:03 2011
New Revision: 1127625

URL: http://svn.apache.org/viewvc?rev=1127625view=rev
Log:
Fix setting of timestamps and remove extra mutation in pig.
Patch by brandonwilliams, reviewed by Jeremy Hanna for CASSANDRA-2706

Modified:

cassandra/branches/cassandra-0.8.0/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java

Modified: 
cassandra/branches/cassandra-0.8.0/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8.0/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java?rev=1127625r1=1127624r2=1127625view=diff
==
--- 
cassandra/branches/cassandra-0.8.0/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
 (original)
+++ 
cassandra/branches/cassandra-0.8.0/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
 Wed May 25 18:45:03 2011
@@ -361,14 +361,14 @@ public class CassandraStorage extends Lo
org.apache.cassandra.thrift.Column column = new 
org.apache.cassandra.thrift.Column();
column.name = objToBB(subcol.get(0));
column.value = objToBB(subcol.get(1));
-   column.timestamp = System.currentTimeMillis() * 1000;
+   column.setTimestamp(System.currentTimeMillis() * 1000);
columns.add(column);
}
if (columns.isEmpty()) // a deletion
{
mutation.deletion = new 
org.apache.cassandra.thrift.Deletion();
mutation.deletion.super_column = objToBB(pair.get(0));
-   mutation.deletion.timestamp = 
System.currentTimeMillis() * 1000;
+   
mutation.deletion.setTimestamp(System.currentTimeMillis() * 1000);
}
else
{
@@ -384,7 +384,7 @@ public class CassandraStorage extends Lo
mutation.deletion = new 
org.apache.cassandra.thrift.Deletion();
mutation.deletion.predicate = new 
org.apache.cassandra.thrift.SlicePredicate();
mutation.deletion.predicate.column_names = 
Arrays.asList(objToBB(pair.get(0)));
-   mutation.deletion.timestamp = 
System.currentTimeMillis() * 1000;
+   
mutation.deletion.setTimestamp(System.currentTimeMillis() * 1000);
}
else
{
@@ -398,10 +398,9 @@ public class CassandraStorage extends Lo
column.value = 
marshallers.get(1).decompose(pair.get(1));
else
column.value = 
validators.get(column.name).decompose(pair.get(1));
-   column.timestamp = System.currentTimeMillis() * 1000;
+   column.setTimestamp(System.currentTimeMillis() * 1000);
mutation.column_or_supercolumn = new 
ColumnOrSuperColumn();
mutation.column_or_supercolumn.column = column;
-   mutationList.add(mutation);
}
}
mutationList.add(mutation);




svn commit: r1127669 - /cassandra/branches/cassandra-0.8/bin/sstableloader

2011-05-25 Thread brandonwilliams
Author: brandonwilliams
Date: Wed May 25 20:18:31 2011
New Revision: 1127669

URL: http://svn.apache.org/viewvc?rev=1127669view=rev
Log:
Make sstableloader executable.

Modified:
cassandra/branches/cassandra-0.8/bin/sstableloader   (contents, props 
changed)

Modified: cassandra/branches/cassandra-0.8/bin/sstableloader
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/bin/sstableloader?rev=1127669r1=1127668r2=1127669view=diff
==
(empty)

Propchange: cassandra/branches/cassandra-0.8/bin/sstableloader
--
svn:executable = *




svn commit: r1127710 - /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/dht/AbstractBounds.java

2011-05-25 Thread brandonwilliams
Author: brandonwilliams
Date: Wed May 25 22:30:28 2011
New Revision: 1127710

URL: http://svn.apache.org/viewvc?rev=1127710view=rev
Log:
Fix typo in error message

Modified:

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/dht/AbstractBounds.java

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/dht/AbstractBounds.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/dht/AbstractBounds.java?rev=1127710r1=1127709r2=1127710view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/dht/AbstractBounds.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/dht/AbstractBounds.java
 Wed May 25 22:30:28 2011
@@ -101,7 +101,7 @@ public abstract class AbstractBounds imp
 {
 ListAbstractBounds unwrapped = bound.unwrap();
 assert previous == null || 
previous.right.compareTo(unwrapped.get(0).left) = 0 :
-Overlapping ranges passed to normalize: see CASSANDRA-2461:  
+ previous +  and  + unwrapped;
+Overlapping ranges passed to normalize: see CASSANDRA-2641:  
+ previous +  and  + unwrapped;
 output.addAll(unwrapped);
 previous = unwrapped.get(unwrapped.size() - 1);
 }




svn commit: r1128488 - /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/io/sstable/SSTableLoader.java

2011-05-27 Thread brandonwilliams
Author: brandonwilliams
Date: Fri May 27 22:25:21 2011
New Revision: 1128488

URL: http://svn.apache.org/viewvc?rev=1128488view=rev
Log:
Change SSTL.openSSTables to protected

Modified:

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/io/sstable/SSTableLoader.java

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/io/sstable/SSTableLoader.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/io/sstable/SSTableLoader.java?rev=1128488r1=1128487r2=1128488view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/io/sstable/SSTableLoader.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/io/sstable/SSTableLoader.java
 Fri May 27 22:25:21 2011
@@ -51,7 +51,7 @@ public class SSTableLoader
 this.outputHandler = outputHandler;
 }
 
-private CollectionSSTableReader openSSTables()
+protected CollectionSSTableReader openSSTables()
 {
 final ListSSTableReader sstables = new LinkedListSSTableReader();
 




svn commit: r1130223 - in /cassandra/branches/cassandra-0.8/tools/stress: bin/ src/org/apache/cassandra/stress/ src/org/apache/cassandra/stress/operations/ src/org/apache/cassandra/stress/server/ src/

2011-06-01 Thread brandonwilliams
Author: brandonwilliams
Date: Wed Jun  1 16:55:27 2011
New Revision: 1130223

URL: http://svn.apache.org/viewvc?rev=1130223view=rev
Log:
stress.java daemon mode.
Patch by Pavel Yaskevich, reviewed by brandonwilliams for CASSANDRA-2267

Added:
cassandra/branches/cassandra-0.8/tools/stress/bin/stressd   (with props)

cassandra/branches/cassandra-0.8/tools/stress/src/org/apache/cassandra/stress/StressAction.java
  - copied, changed from r1130201, 
cassandra/branches/cassandra-0.8/tools/stress/src/org/apache/cassandra/stress/Stress.java

cassandra/branches/cassandra-0.8/tools/stress/src/org/apache/cassandra/stress/StressServer.java
   (with props)

cassandra/branches/cassandra-0.8/tools/stress/src/org/apache/cassandra/stress/server/

cassandra/branches/cassandra-0.8/tools/stress/src/org/apache/cassandra/stress/server/StressThread.java
   (with props)
Modified:

cassandra/branches/cassandra-0.8/tools/stress/src/org/apache/cassandra/stress/Session.java

cassandra/branches/cassandra-0.8/tools/stress/src/org/apache/cassandra/stress/Stress.java

cassandra/branches/cassandra-0.8/tools/stress/src/org/apache/cassandra/stress/operations/CounterAdder.java

cassandra/branches/cassandra-0.8/tools/stress/src/org/apache/cassandra/stress/operations/CounterGetter.java

cassandra/branches/cassandra-0.8/tools/stress/src/org/apache/cassandra/stress/operations/IndexedRangeSlicer.java

cassandra/branches/cassandra-0.8/tools/stress/src/org/apache/cassandra/stress/operations/Inserter.java

cassandra/branches/cassandra-0.8/tools/stress/src/org/apache/cassandra/stress/operations/MultiGetter.java

cassandra/branches/cassandra-0.8/tools/stress/src/org/apache/cassandra/stress/operations/RangeSlicer.java

cassandra/branches/cassandra-0.8/tools/stress/src/org/apache/cassandra/stress/operations/Reader.java

cassandra/branches/cassandra-0.8/tools/stress/src/org/apache/cassandra/stress/util/Operation.java

Added: cassandra/branches/cassandra-0.8/tools/stress/bin/stressd
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/tools/stress/bin/stressd?rev=1130223view=auto
==
--- cassandra/branches/cassandra-0.8/tools/stress/bin/stressd (added)
+++ cassandra/branches/cassandra-0.8/tools/stress/bin/stressd Wed Jun  1 
16:55:27 2011
@@ -0,0 +1,87 @@
+#!/bin/sh
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# License); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an AS IS BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+DESC=Stress Test Daemon
+
+if [ x$CLASSPATH = x ]; then
+# Cassandra class files.
+if [ ! -d `dirname $0`/../../../build/classes/main ]; then
+echo Unable to locate cassandra class files 2
+exit 1
+fi
+
+# Stress class files.
+if [ ! -d `dirname $0`/../build/classes ]; then
+echo Unable to locate stress class files 2
+exit 1
+fi
+
+CLASSPATH=`dirname $0`/../../../build/classes/main
+CLASSPATH=$CLASSPATH:`dirname $0`/../../../build/classes/thrift
+CLASSPATH=$CLASSPATH:`dirname $0`/../build/classes
+for jar in `dirname $0`/../../../lib/*.jar; do
+CLASSPATH=$CLASSPATH:$jar
+done
+fi
+
+if [ -x $JAVA_HOME/bin/java ]; then
+JAVA=$JAVA_HOME/bin/java
+else
+JAVA=`which java`
+fi
+
+if [ x$JAVA = x ]; then
+echo Java executable not found (hint: set JAVA_HOME) 2
+exit 1
+fi
+
+case $1 in
+  start)
+echo Starting $DESC: 
+$JAVA -server -cp $CLASSPATH org.apache.cassandra.stress.StressServer $@ 
1 ./stressd.out.log 2 ./stressd.err.log 
+echo $!  ./stressd.pid
+echo done.
+  ;;
+  
+  stop)
+PID=`cat ./stressd.pid 2 /dev/null`
+
+if [ x$PID = x ]; then
+  echo $DESC is not running.
+else
+  kill -9 $PID
+  rm ./stressd.pid
+  echo $DESC is stopped.
+fi
+  ;;
+
+  status)
+PID=`cat ./stressd.pid 2 /dev/null`
+
+if [ x$PID = x ]; then
+  echo $DESC is not running.
+else
+  echo $DESC is running with pid $PID.
+fi
+  ;;
+
+  *)
+echo Usage: $0 start|stop|status [-h host]
+  ;;
+esac
+

Propchange: cassandra/branches/cassandra-0.8/tools/stress/bin/stressd
--
svn:executable = *

Modified: 
cassandra/branches/cassandra

svn commit: r1130267 - /cassandra/branches/cassandra-0.8/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java

2011-06-01 Thread brandonwilliams
Author: brandonwilliams
Date: Wed Jun  1 19:11:33 2011
New Revision: 1130267

URL: http://svn.apache.org/viewvc?rev=1130267view=rev
Log:
Fix pig build

Modified:

cassandra/branches/cassandra-0.8/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java

Modified: 
cassandra/branches/cassandra-0.8/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java?rev=1130267r1=1130266r2=1130267view=diff
==
--- 
cassandra/branches/cassandra-0.8/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
 Wed Jun  1 19:11:33 2011
@@ -357,12 +357,12 @@ public class CassandraStorage extends Lo
Mutation mutation = new Mutation();
if (DataType.findType(pair.get(1)) == DataType.BAG) // 
supercolumn
{
-   org.apache.cassandra.hadoop.avro.SuperColumn sc = new 
org.apache.cassandra.hadoop.avro.SuperColumn();
+   org.apache.cassandra.thrift.SuperColumn sc = new 
org.apache.cassandra.thrift.SuperColumn();
sc.name = objToBB(pair.get(0));
-   ArrayListorg.apache.cassandra.hadoop.avro.Column columns 
= new ArrayListorg.apache.cassandra.hadoop.avro.Column();
+   ArrayListorg.apache.cassandra.thrift.Column columns = new 
ArrayListorg.apache.cassandra.thrift.Column();
for (Tuple subcol : (DefaultDataBag) pair.get(1))
{
-   org.apache.cassandra.hadoop.avro.Column column = new 
org.apache.cassandra.hadoop.avro.Column();
+   org.apache.cassandra.thrift.Column column = new 
org.apache.cassandra.thrift.Column();
column.name = objToBB(subcol.get(0));
column.value = objToBB(subcol.get(1));
column.setTimestamp(System.currentTimeMillis() * 1000);




svn commit: r1134017 - in /cassandra/branches/cassandra-0.8/examples/bmt: CassandraBulkLoader.java README.txt

2011-06-09 Thread brandonwilliams
Author: brandonwilliams
Date: Thu Jun  9 17:53:32 2011
New Revision: 1134017

URL: http://svn.apache.org/viewvc?rev=1134017view=rev
Log:
Remove BMT example

Removed:
cassandra/branches/cassandra-0.8/examples/bmt/CassandraBulkLoader.java
cassandra/branches/cassandra-0.8/examples/bmt/README.txt



svn commit: r1134108 - /cassandra/branches/cassandra-0.8/tools/stress/build.xml

2011-06-09 Thread brandonwilliams
Author: brandonwilliams
Date: Thu Jun  9 22:10:19 2011
New Revision: 1134108

URL: http://svn.apache.org/viewvc?rev=1134108view=rev
Log:
Stress.java creates a jar by default.
Patch by Pavel Yaskevich, reviewed by brandonwilliams for CASSANDRA-2744

Modified:
cassandra/branches/cassandra-0.8/tools/stress/build.xml

Modified: cassandra/branches/cassandra-0.8/tools/stress/build.xml
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/tools/stress/build.xml?rev=1134108r1=1134107r2=1134108view=diff
==
--- cassandra/branches/cassandra-0.8/tools/stress/build.xml (original)
+++ cassandra/branches/cassandra-0.8/tools/stress/build.xml Thu Jun  9 22:10:19 
2011
@@ -17,7 +17,7 @@
  ~ specific language governing permissions and limitations
  ~ under the License.
  --
-project basedir=. default=build name=stress
+project basedir=. default=jar name=stress
 property name=cassandra.dir value=../.. /
 property name=cassandra.lib value=${cassandra.dir}/lib /
 property name=build.src value=${basedir}/src /
@@ -49,9 +49,19 @@
 /target
 
 target name=jar depends=build
+manifest file=MANIFEST.MF
+attribute name=Built-By value=Pavel Yaskevich/
+attribute name=Main-Class 
value=org.apache.cassandra.stress.Stress/
+/manifest
+
 mkdir dir=${build.classes}/META-INF /
-jar jarfile=${build.out}/${final.name}.jar
-basedir=${build.classes} /
+
+jar destfile=${build.out}/${final.name}.jar manifest=MANIFEST.MF
+fileset dir=${build.classes}/
+fileset dir=${cassandra.dir}/build/classes/main /
+fileset dir=${cassandra.dir}/build/classes/thrift /
+zipgroupfileset dir=${cassandra.lib} includes=*.jar /
+/jar
 /target
 
 target name=clean




svn commit: r1136637 - in /cassandra/branches/cassandra-0.8: src/java/org/apache/cassandra/tools/SSTableExport.java test/unit/org/apache/cassandra/SchemaLoader.java test/unit/org/apache/cassandra/tool

2011-06-16 Thread brandonwilliams
Author: brandonwilliams
Date: Thu Jun 16 20:03:57 2011
New Revision: 1136637

URL: http://svn.apache.org/viewvc?rev=1136637view=rev
Log:
sstable2json escapes quotes.
Patch by Pavel Yaskevich, reviewed by brandonwilliams for CASSANDRA-2780

Modified:

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/SSTableExport.java

cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/SchemaLoader.java

cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/tools/SSTableExportTest.java

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/SSTableExport.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/SSTableExport.java?rev=1136637r1=1136636r2=1136637view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/SSTableExport.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/SSTableExport.java
 Thu Jun 16 20:03:57 2011
@@ -81,7 +81,12 @@ public class SSTableExport
  */
 private static String quote(String val)
 {
-return String.format(\%s\, val);
+return String.format(\%s\, escapeQuotes(val));
+}
+
+private static String escapeQuotes(String val)
+{
+return val.replace(\, \\\);
 }
 
 /**

Modified: 
cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/SchemaLoader.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/SchemaLoader.java?rev=1136637r1=1136636r2=1136637view=diff
==
--- 
cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/SchemaLoader.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/SchemaLoader.java
 Thu Jun 16 20:03:57 2011
@@ -113,6 +113,12 @@ public class SchemaLoader
   standardCFMD(ks1, Standard4),
   standardCFMD(ks1, StandardLong1),
   standardCFMD(ks1, StandardLong2),
+  new CFMetaData(ks1,
+ ValuesWithQuotes,
+ st,
+ BytesType.instance,
+ null)
+ 
.defaultValidator(UTF8Type.instance),
   superCFMD(ks1, Super1, LongType.instance),
   superCFMD(ks1, Super2, LongType.instance),
   superCFMD(ks1, Super3, LongType.instance),

Modified: 
cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/tools/SSTableExportTest.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/tools/SSTableExportTest.java?rev=1136637r1=1136636r2=1136637view=diff
==
--- 
cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/tools/SSTableExportTest.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/tools/SSTableExportTest.java
 Thu Jun 16 20:03:57 2011
@@ -22,17 +22,15 @@ import java.io.File;
 import java.io.FileReader;
 import java.io.IOException;
 import java.io.PrintStream;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
 
 import org.apache.cassandra.SchemaLoader;
-import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.db.ColumnFamily;
 import org.apache.cassandra.db.CounterColumn;
 import org.apache.cassandra.db.ExpiringColumn;
+import org.apache.cassandra.db.Column;
 import org.apache.cassandra.db.filter.QueryFilter;
 import org.apache.cassandra.db.filter.QueryPath;
-import org.apache.cassandra.dht.IPartitioner;
+import org.apache.cassandra.db.marshal.UTF8Type;
 import org.apache.cassandra.io.sstable.Descriptor;
 import org.apache.cassandra.io.sstable.SSTableReader;
 import org.apache.cassandra.io.sstable.SSTableWriter;
@@ -243,4 +241,30 @@ public class SSTableExportTest extends S
 assert ((String) colA.get(3)).equals(c);
 assert (Long) colA.get(4) == Long.MIN_VALUE;
 }
+
+@Test
+public void testEscapingDoubleQuotes() throws IOException
+{
+File tempSS = tempSSTableFile(Keyspace1, ValuesWithQuotes);
+ColumnFamily cfamily = ColumnFamily.create(Keyspace1, 
ValuesWithQuotes);
+SSTableWriter writer = new SSTableWriter(tempSS.getPath(), 2);
+
+// Add rowA
+cfamily.addColumn(null, new Column(ByteBufferUtil.bytes(data), 
UTF8Type.instance.fromString({\foo\:\bar\})));
+writer.append(Util.dk(rowA), cfamily);
+cfamily.clear();
+
+SSTableReader reader

svn commit: r1136991 - /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/SSTableExport.java

2011-06-17 Thread brandonwilliams
Author: brandonwilliams
Date: Fri Jun 17 19:20:18 2011
New Revision: 1136991

URL: http://svn.apache.org/viewvc?rev=1136991view=rev
Log:
Use jackson's ObjectMapper instead of hand-crafting json in sstable2json.
Patch by Pavel Yaskevich, reviewed by brandonwilliams for CASSANDRA-2780

Modified:

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/SSTableExport.java

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/SSTableExport.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/SSTableExport.java?rev=1136991r1=1136990r2=1136991view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/SSTableExport.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/SSTableExport.java
 Fri Jun 17 19:20:18 2011
@@ -25,6 +25,7 @@ import java.nio.ByteBuffer;
 import java.util.*;
 
 import org.apache.cassandra.config.CFMetaData;
+import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.db.*;
 import org.apache.cassandra.db.marshal.AbstractType;
 import org.apache.cassandra.io.util.BufferedRandomAccessFile;
@@ -33,11 +34,11 @@ import org.apache.cassandra.service.Stor
 import org.apache.commons.cli.*;
 
 import org.apache.cassandra.config.ConfigurationException;
-import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.dht.IPartitioner;
 import org.apache.cassandra.io.sstable.*;
 import org.apache.cassandra.utils.ByteBufferUtil;
-import org.apache.cassandra.utils.Pair;
+import org.codehaus.jackson.JsonGenerator;
+import org.codehaus.jackson.map.ObjectMapper;
 
 import static org.apache.cassandra.utils.ByteBufferUtil.bytesToHex;
 import static org.apache.cassandra.utils.ByteBufferUtil.hexToBytes;
@@ -47,12 +48,12 @@ import static org.apache.cassandra.utils
  */
 public class SSTableExport
 {
-// size of the columns page
-private static final int PAGE_SIZE = 1000;
+private static ObjectMapper jsonMapper = new ObjectMapper();
 
 private static final String KEY_OPTION = k;
 private static final String EXCLUDEKEY_OPTION = x;
 private static final String ENUMERATEKEYS_OPTION = e;
+
 private static Options options;
 private static CommandLine cmd;
 
@@ -72,47 +73,36 @@ public class SSTableExport
 
 Option optEnumerate = new Option(ENUMERATEKEYS_OPTION, false, 
enumerate keys only);
 options.addOption(optEnumerate);
-}
 
-/**
- * Wraps given string into quotes
- * @param val string to quote
- * @return quoted string
- */
-private static String quote(String val)
-{
-return String.format(\%s\, escapeQuotes(val));
-}
-
-private static String escapeQuotes(String val)
-{
-return val.replace(\, \\\);
+// disabling auto close of the stream
+jsonMapper.configure(JsonGenerator.Feature.AUTO_CLOSE_TARGET, false);
 }
 
 /**
  * JSON Hash Key serializer
- * @param val value to set as a key
- * @return JSON Hash key
+ *
+ * @param out The output steam to write data
+ * @param value value to set as a key
  */
-private static String asKey(String val)
+private static void writeKey(PrintStream out, String value)
 {
-return String.format(%s: , quote(val));
+writeJSON(out, value);
+out.print(: );
 }
 
 /**
  * Serialize columns using given column iterator
+ *
  * @param columns column iterator
  * @param out output stream
  * @param comparator columns comparator
  * @param cfMetaData Column Family metadata (to get validator)
- * @return pair of (number of columns serialized, last column serialized)
  */
 private static void serializeColumns(IteratorIColumn columns, 
PrintStream out, AbstractType comparator, CFMetaData cfMetaData)
 {
 while (columns.hasNext())
 {
-IColumn column = columns.next();
-serializeColumn(column, out, comparator, cfMetaData);
+writeJSON(out, serializeColumn(columns.next(), comparator, 
cfMetaData));
 
 if (columns.hasNext())
 out.print(, );
@@ -121,47 +111,42 @@ public class SSTableExport
 
 /**
  * Serialize a given column to the JSON format
+ *
  * @param column column presentation
- * @param out output stream
  * @param comparator columns comparator
  * @param cfMetaData Column Family metadata (to get validator)
+ *
+ * @return column as serialized list
  */
-private static void serializeColumn(IColumn column, PrintStream out, 
AbstractType comparator, CFMetaData cfMetaData)
+private static ListObject serializeColumn(IColumn column, AbstractType 
comparator, CFMetaData cfMetaData)
 {
+ArrayListObject serializedColumn = new ArrayListObject

svn commit: r1140759 - /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java

2011-06-28 Thread brandonwilliams
Author: brandonwilliams
Date: Tue Jun 28 17:59:17 2011
New Revision: 1140759

URL: http://svn.apache.org/viewvc?rev=1140759view=rev
Log:
Add CFS.estimatedKeys to cfstats output.
Patch by Joe Stein, reviewed by brandonwilliams for CASSANDRA-2836

Modified:

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java?rev=1140759r1=1140758r2=1140759view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java
 Tue Jun 28 17:59:17 2011
@@ -445,6 +445,7 @@ public class NodeCmd
 outs.println(\t\tSSTable count:  + 
cfstore.getLiveSSTableCount());
 outs.println(\t\tSpace used (live):  + 
cfstore.getLiveDiskSpaceUsed());
 outs.println(\t\tSpace used (total):  + 
cfstore.getTotalDiskSpaceUsed());
+outs.println(\t\tNumber of Keys (estimate):  + 
cfstore.estimateKeys());  
 outs.println(\t\tMemtable Columns Count:  + 
cfstore.getMemtableColumnsCount());
 outs.println(\t\tMemtable Data Size:  + 
cfstore.getMemtableDataSize());
 outs.println(\t\tMemtable Switch Count:  + 
cfstore.getMemtableSwitchCount());




svn commit: r1141194 [2/2] - in /cassandra/trunk: conf/ src/java/org/apache/cassandra/config/ src/java/org/apache/cassandra/db/ src/java/org/apache/cassandra/db/marshal/ src/java/org/apache/cassandra/

2011-06-29 Thread brandonwilliams
Modified: cassandra/trunk/src/java/org/apache/cassandra/tools/BulkLoader.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/tools/BulkLoader.java?rev=1141194r1=1141193r2=1141194view=diff
==
--- cassandra/trunk/src/java/org/apache/cassandra/tools/BulkLoader.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/tools/BulkLoader.java Wed Jun 
29 18:55:50 2011
@@ -184,7 +184,7 @@ public class BulkLoader
 StorageService.instance.initClient();
 
 SetInetAddress hosts = Gossiper.instance.getLiveMembers();
-hosts.remove(FBUtilities.getLocalAddress());
+hosts.remove(FBUtilities.getBroadcastAddress());
 if (hosts.isEmpty())
 throw new IllegalStateException(Cannot load any sstable, 
no live member found in the cluster);
 

Modified: cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java?rev=1141194r1=1141193r2=1141194view=diff
==
--- cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java Wed 
Jun 29 18:55:50 2011
@@ -61,6 +61,7 @@ public class FBUtilities
 public static final BigInteger TWO = new BigInteger(2);
 
 private static volatile InetAddress localInetAddress_;
+private static volatile InetAddress broadcastInetAddress_;
 
 private static final ThreadLocalMessageDigest localMD5Digest = new 
ThreadLocalMessageDigest()
 {
@@ -129,6 +130,15 @@ public class FBUtilities
 return localInetAddress_;
 }
 
+public static InetAddress getBroadcastAddress()
+{
+if (broadcastInetAddress_ == null)
+broadcastInetAddress_ = DatabaseDescriptor.getBroadcastAddress() 
== null
+? getLocalAddress()
+: DatabaseDescriptor.getBroadcastAddress();
+return broadcastInetAddress_;
+}
+
 /**
  * @param fractOrAbs A double that may represent a fraction or absolute 
value.
  * @param total If fractionOrAbs is a fraction, the total to take the 
fraction from

Modified: cassandra/trunk/src/java/org/apache/cassandra/utils/Mx4jTool.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/utils/Mx4jTool.java?rev=1141194r1=1141193r2=1141194view=diff
==
--- cassandra/trunk/src/java/org/apache/cassandra/utils/Mx4jTool.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/utils/Mx4jTool.java Wed Jun 
29 18:55:50 2011
@@ -80,7 +80,7 @@ public class Mx4jTool
 
 private static String getAddress()
 {
-return System.getProperty(mx4jaddress, 
FBUtilities.getLocalAddress().getHostAddress());
+return System.getProperty(mx4jaddress, 
FBUtilities.getBroadcastAddress().getHostAddress());
 }
 
 private static int getPort()

Modified: cassandra/trunk/src/java/org/apache/cassandra/utils/NodeId.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/utils/NodeId.java?rev=1141194r1=1141193r2=1141194view=diff
==
--- cassandra/trunk/src/java/org/apache/cassandra/utils/NodeId.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/utils/NodeId.java Wed Jun 29 
18:55:50 2011
@@ -102,7 +102,7 @@ public class NodeId implements Comparabl
 
 public static NodeId generate()
 {
-return new 
NodeId(ByteBuffer.wrap(UUIDGen.decompose(UUIDGen.makeType1UUIDFromHost(FBUtilities.getLocalAddress();
+return new 
NodeId(ByteBuffer.wrap(UUIDGen.decompose(UUIDGen.makeType1UUIDFromHost(FBUtilities.getBroadcastAddress();
 }
 
 /*

Modified: cassandra/trunk/test/unit/org/apache/cassandra/db/DefsTest.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/test/unit/org/apache/cassandra/db/DefsTest.java?rev=1141194r1=1141193r2=1141194view=diff
==
--- cassandra/trunk/test/unit/org/apache/cassandra/db/DefsTest.java (original)
+++ cassandra/trunk/test/unit/org/apache/cassandra/db/DefsTest.java Wed Jun 29 
18:55:50 2011
@@ -164,7 +164,7 @@ public class DefsTest extends CleanupHel
 public void saveAndRestore() throws IOException
 {
 // verify dump and reload.
-UUID first = 
UUIDGen.makeType1UUIDFromHost(FBUtilities.getLocalAddress());
+UUID first = 
UUIDGen.makeType1UUIDFromHost(FBUtilities.getBroadcastAddress());
 DefsTable.dumpToStorage(first);
 ListKSMetaData defs = new 

svn commit: r1146900 - in /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra: locator/ service/

2011-07-14 Thread brandonwilliams
Author: brandonwilliams
Date: Thu Jul 14 21:24:11 2011
New Revision: 1146900

URL: http://svn.apache.org/viewvc?rev=1146900view=rev
Log:
Allow RF to exceed the number of nodes (but disallow writes)
Patch by brandonwilliams, reviewed by Pavel Yaskevich for CASSANDRA-2129

Modified:

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/OldNetworkTopologyStrategy.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/SimpleStrategy.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/WriteResponseHandler.java

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java?rev=1146900r1=1146899r2=1146900view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
 Thu Jul 14 21:24:11 2011
@@ -87,9 +87,8 @@ public abstract class AbstractReplicatio
  * we return a List to avoid an extra allocation when sorting by proximity 
later
  * @param searchToken the token the natural endpoints are requested for
  * @return a copy of the natural endpoints for the given token
- * @throws IllegalStateException if the number of requested replicas is 
greater than the number of known endpoints
  */
-public ArrayListInetAddress getNaturalEndpoints(Token searchToken) 
throws IllegalStateException
+public ArrayListInetAddress getNaturalEndpoints(Token searchToken)
 {
 Token keyToken = 
TokenMetadata.firstToken(tokenMetadata.sortedTokens(), searchToken);
 ArrayListInetAddress endpoints = getCachedEndpoints(keyToken);
@@ -99,10 +98,6 @@ public abstract class AbstractReplicatio
 keyToken = 
TokenMetadata.firstToken(tokenMetadataClone.sortedTokens(), searchToken);
 endpoints = new 
ArrayListInetAddress(calculateNaturalEndpoints(searchToken, 
tokenMetadataClone));
 cacheEndpoint(keyToken, endpoints);
-// calculateNaturalEndpoints should have checked this already, 
this is a safety
-assert getReplicationFactor() = endpoints.size() : 
String.format(endpoints %s generated for RF of %s,
-  
Arrays.toString(endpoints.toArray()),
-  
getReplicationFactor());
 }
 
 return new ArrayListInetAddress(endpoints);
@@ -115,9 +110,8 @@ public abstract class AbstractReplicatio
  *
  * @param searchToken the token the natural endpoints are requested for
  * @return a copy of the natural endpoints for the given token
- * @throws IllegalStateException if the number of requested replicas is 
greater than the number of known endpoints
  */
-public abstract ListInetAddress calculateNaturalEndpoints(Token 
searchToken, TokenMetadata tokenMetadata) throws IllegalStateException;
+public abstract ListInetAddress calculateNaturalEndpoints(Token 
searchToken, TokenMetadata tokenMetadata);
 
 public IWriteResponseHandler 
getWriteResponseHandler(CollectionInetAddress writeEndpoints,
  MultimapInetAddress, 
InetAddress hintedEndpoints,

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java?rev=1146900r1=1146899r2=1146900view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java
 Thu Jul 14 21:24:11 2011
@@ -120,9 +120,6 @@ public class NetworkTopologyStrategy ext
 dcEndpoints.add(endpoint);
 }
 
-if (dcEndpoints.size()  dcReplicas)
-throw new IllegalStateException(String.format(datacenter (%s) 
has no more endpoints, (%s) replicas still needed,
-  dcName, 
dcReplicas - dcEndpoints.size()));
 if (logger.isDebugEnabled())
 logger.debug({} endpoints in datacenter {} for token

svn commit: r1146923 - /cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeCmd.java

2011-07-14 Thread brandonwilliams
Author: brandonwilliams
Date: Thu Jul 14 23:42:11 2011
New Revision: 1146923

URL: http://svn.apache.org/viewvc?rev=1146923view=rev
Log:
Do not allow extra params to nodetool commands to prevent confusion.
Patch by Jon Hermes, reviewed by brandonwilliams for CASSANDRA-2740

Modified:

cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeCmd.java

Modified: 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeCmd.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeCmd.java?rev=1146923r1=1146922r2=1146923view=diff
==
--- 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeCmd.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeCmd.java
 Thu Jul 14 23:42:11 2011
@@ -539,19 +539,19 @@ public class NodeCmd
 
 switch (command)
 {
-case RING: nodeCmd.printRing(System.out); break;
-case INFO: nodeCmd.printInfo(System.out); break;
-case CFSTATS : nodeCmd.printColumnFamilyStats(System.out); 
break;
-case DECOMMISSION: probe.decommission(); break;
-case LOADBALANCE : probe.loadBalance(); break;
-case CLEARSNAPSHOT   : probe.clearSnapshot(); break;
-case TPSTATS : nodeCmd.printThreadPoolStats(System.out); 
break;
-case VERSION : nodeCmd.printReleaseVersion(System.out); 
break;
-case COMPACTIONSTATS : nodeCmd.printCompactionStats(System.out); 
break;
-case DISABLEGOSSIP   : probe.stopGossiping(); break;
-case ENABLEGOSSIP: probe.startGossiping(); break;
-case DISABLETHRIFT   : probe.stopThriftServer(); break;
-case ENABLETHRIFT: probe.startThriftServer(); break;
+case RING: complainNonzeroArgs(arguments, command); 
nodeCmd.printRing(System.out); break;
+case INFO: complainNonzeroArgs(arguments, command); 
nodeCmd.printInfo(System.out); break;
+case CFSTATS : complainNonzeroArgs(arguments, command); 
nodeCmd.printColumnFamilyStats(System.out); break;
+case DECOMMISSION: complainNonzeroArgs(arguments, command); 
probe.decommission(); break;
+case LOADBALANCE : complainNonzeroArgs(arguments, command); 
probe.loadBalance(); break;
+case CLEARSNAPSHOT   : complainNonzeroArgs(arguments, command); 
probe.clearSnapshot(); break;
+case TPSTATS : complainNonzeroArgs(arguments, command); 
nodeCmd.printThreadPoolStats(System.out); break;
+case VERSION : complainNonzeroArgs(arguments, command); 
nodeCmd.printReleaseVersion(System.out); break;
+case COMPACTIONSTATS : complainNonzeroArgs(arguments, command); 
nodeCmd.printCompactionStats(System.out); break;
+case DISABLEGOSSIP   : complainNonzeroArgs(arguments, command); 
probe.stopGossiping(); break;
+case ENABLEGOSSIP: complainNonzeroArgs(arguments, command); 
probe.startGossiping(); break;
+case DISABLETHRIFT   : complainNonzeroArgs(arguments, command); 
probe.stopThriftServer(); break;
+case ENABLETHRIFT: complainNonzeroArgs(arguments, command); 
probe.startThriftServer(); break;
 
 case DRAIN :
 try { probe.drain(); }
@@ -647,6 +647,15 @@ public class NodeCmd
 System.exit(3);
 }
 
+private static void complainNonzeroArgs(String[] args, NodeCommand cmd)
+{
+if (args.length  0) {
+System.err.println(Too many arguments for command 
'+cmd.toString()+'.);
+printUsage();
+System.exit(1);
+}
+}
+
 private static void optionalKSandCFs(NodeCommand nc, String[] cmdArgs, 
NodeProbe probe) throws InterruptedException, IOException
 {
 // if there is one additional arg, it's the keyspace; more are 
columnfamilies




svn commit: r1147210 - /cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/CliClient.java

2011-07-15 Thread brandonwilliams
Author: brandonwilliams
Date: Fri Jul 15 16:07:59 2011
New Revision: 1147210

URL: http://svn.apache.org/viewvc?rev=1147210view=rev
Log:
Allow quoted class names in the cli.
Patch by Pavel Yaskevich, reviewed by brandonwilliams for CASSANDRA-2899

Modified:

cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/CliClient.java

Modified: 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/CliClient.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/CliClient.java?rev=1147210r1=1147209r2=1147210view=diff
==
--- 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/CliClient.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/CliClient.java
 Fri Jul 15 16:07:59 2011
@@ -934,7 +934,7 @@ public class CliClient extends CliUserHe
 
cfDef.setKey_cache_save_period_in_seconds(Integer.parseInt(mValue));
 break;
 case DEFAULT_VALIDATION_CLASS:
-cfDef.setDefault_validation_class(mValue);
+
cfDef.setDefault_validation_class(CliUtils.unescapeSQLString(mValue));
 break;
 case MIN_COMPACTION_THRESHOLD:
 cfDef.setMin_compaction_threshold(Integer.parseInt(mValue));




svn commit: r1147248 - in /cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service: StorageService.java StorageServiceMBean.java

2011-07-15 Thread brandonwilliams
Author: brandonwilliams
Date: Fri Jul 15 17:03:13 2011
New Revision: 1147248

URL: http://svn.apache.org/viewvc?rev=1147248view=rev
Log:
Expose data_dir through JMX.
Patch by Mike Bulman, reviewed by brandonwilliams for CASSANDRA-2770

Modified:

cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java

cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageServiceMBean.java

Modified: 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java?rev=1147248r1=1147247r2=1147248view=diff
==
--- 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java
 Fri Jul 15 17:03:13 2011
@@ -1225,6 +1225,26 @@ public class StorageService implements I
 return stringify(Gossiper.instance.getUnreachableMembers());
 }
 
+public String[] getAllDataFileLocations()
+{
+return DatabaseDescriptor.getAllDataFileLocations();
+}
+
+public String[] getAllDataFileLocationsForTable(String table)
+{
+return DatabaseDescriptor.getAllDataFileLocationsForTable(table);
+}
+
+public String getCommitLogLocation()
+{
+return DatabaseDescriptor.getCommitLogLocation();
+}
+
+public String getSavedCachesLocation()
+{
+return DatabaseDescriptor.getSavedCachesLocation();
+}
+
 private ListString stringify(IterableInetAddress endpoints)
 {
 ListString stringEndpoints = new ArrayListString();

Modified: 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageServiceMBean.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageServiceMBean.java?rev=1147248r1=1147247r2=1147248view=diff
==
--- 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageServiceMBean.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageServiceMBean.java
 Fri Jul 15 17:03:13 2011
@@ -78,6 +78,31 @@ public interface StorageServiceMBean
 public String getReleaseVersion();
 
 /**
+ * Get the list of all data file locations from conf
+ * @return String array of all locations
+ */
+public String[] getAllDataFileLocations();
+
+/**
+ * Get the list of data file locations for a given keyspace
+ * @param keyspace the keyspace to get locatiosn for.
+ * @return String array of all locations
+ */
+public String[] getAllDataFileLocationsForTable(String table);
+
+/**
+ * Get location of the commit log
+ * @return a string path
+ */
+public String getCommitLogLocation();
+
+/**
+ * Get location of the saved caches dir
+ * @return a string path
+ */
+public String getSavedCachesLocation();
+
+/**
  * Retrieve a map of range to end points that describe the ring topology
  * of a Cassandra cluster.
  *




svn commit: r1147259 - in /cassandra/branches/cassandra-0.8: src/java/org/apache/cassandra/cli/CliClient.java test/unit/org/apache/cassandra/cli/CliTest.java

2011-07-15 Thread brandonwilliams
Author: brandonwilliams
Date: Fri Jul 15 17:33:50 2011
New Revision: 1147259

URL: http://svn.apache.org/viewvc?rev=1147259view=rev
Log:
Proper function support and key validation for cli deletes.
Patch by Pavel Yaskevich, reviewed by brandonwilliams for CASSANDRA-2821

Modified:

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java

cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/cli/CliTest.java

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java?rev=1147259r1=1147258r2=1147259view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java
 Fri Jul 15 17:33:50 2011
@@ -376,13 +376,14 @@ public class CliClient
 
 Tree columnFamilySpec = statement.getChild(0);
 
-String key = CliCompiler.getKey(columnFamilySpec);
 String columnFamily = CliCompiler.getColumnFamily(columnFamilySpec, 
keyspacesMap.get(keySpace).cf_defs);
+CfDef cfDef = getCfDef(columnFamily);
+
+ByteBuffer key = getKeyAsBytes(columnFamily, 
columnFamilySpec.getChild(1));
 int columnSpecCnt = CliCompiler.numColumnSpecifiers(columnFamilySpec);
 
 byte[] superColumnName = null;
 byte[] columnName = null;
-CfDef cfDef = getCfDef(columnFamily);
 boolean isSuper = cfDef.column_type.equals(Super);
  
 if ((columnSpecCnt  0) || (columnSpecCnt  2))
@@ -390,20 +391,42 @@ public class CliClient
 sessionState.out.println(Invalid row, super column, or column 
specification.);
 return;
 }
-
+
+Tree columnTree = (columnSpecCnt = 1)
+   ? columnFamilySpec.getChild(2)
+   : null;
+
+Tree subColumnTree = (columnSpecCnt == 2)
+  ? columnFamilySpec.getChild(3)
+  : null;
+
 if (columnSpecCnt == 1)
 {
+assert columnTree != null;
+
+byte[] columnNameBytes = (columnTree.getType() == 
CliParser.FUNCTION_CALL)
+  ? convertValueByFunction(columnTree, 
null, null).array()
+  : 
columnNameAsByteArray(CliCompiler.getColumn(columnFamilySpec, 0), cfDef);
+
 // table.cf['key']['column']
 if (isSuper)
-superColumnName = 
columnNameAsByteArray(CliCompiler.getColumn(columnFamilySpec, 0), cfDef);
+superColumnName = columnNameBytes;
 else
-columnName = 
columnNameAsByteArray(CliCompiler.getColumn(columnFamilySpec, 0), cfDef);
+columnName = columnNameBytes;
 }
 else if (columnSpecCnt == 2)
 {
+assert columnTree != null;
+assert subColumnTree != null;
+
 // table.cf['key']['column']['column']
-superColumnName = 
columnNameAsByteArray(CliCompiler.getColumn(columnFamilySpec, 0), cfDef);
-columnName = 
subColumnNameAsByteArray(CliCompiler.getColumn(columnFamilySpec, 1), cfDef);
+superColumnName = (columnTree.getType() == CliParser.FUNCTION_CALL)
+  ? convertValueByFunction(columnTree, 
null, null).array()
+  : 
columnNameAsByteArray(CliCompiler.getColumn(columnFamilySpec, 0), cfDef);
+
+columnName = (subColumnTree.getType() == CliParser.FUNCTION_CALL)
+ ? 
convertValueByFunction(subColumnTree, null, null).array()
+ : 
subColumnNameAsByteArray(CliCompiler.getColumn(columnFamilySpec, 1), cfDef);
 }
 
 ColumnPath path = new ColumnPath(columnFamily);
@@ -415,12 +438,11 @@ public class CliClient
 
 if (isCounterCF(cfDef))
 {
-thriftClient.remove_counter(ByteBufferUtil.bytes(key), path, 
consistencyLevel);
+thriftClient.remove_counter(key, path, consistencyLevel);
 }
 else
 {
-thriftClient.remove(ByteBufferUtil.bytes(key), path,
-FBUtilities.timestampMicros(), consistencyLevel);
+thriftClient.remove(key, path, FBUtilities.timestampMicros(), 
consistencyLevel);
 }
 sessionState.out.println(String.format(%s removed., (columnSpecCnt 
== 0) ? row : column));
 }

Modified: 
cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/cli/CliTest.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/cli/CliTest.java?rev=1147259r1=1147258r2=1147259view=diff

svn commit: r1147261 - /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/CassandraServer.java

2011-07-15 Thread brandonwilliams
Author: brandonwilliams
Date: Fri Jul 15 17:42:11 2011
New Revision: 1147261

URL: http://svn.apache.org/viewvc?rev=1147261view=rev
Log:
cli validates CFMetaData on update.
Patch by jbellis, reviewed by Pavel Yaskevich for CASSANDRA-2809

Modified:

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/CassandraServer.java

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/CassandraServer.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/CassandraServer.java?rev=1147261r1=1147260r2=1147261view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/CassandraServer.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/CassandraServer.java
 Fri Jul 15 17:42:11 2011
@@ -960,6 +960,7 @@ public class CassandraServer implements 
 CFMetaData oldCfm = 
DatabaseDescriptor.getCFMetaData(CFMetaData.getId(cf_def.keyspace, 
cf_def.name));
 if (oldCfm == null)
 throw new InvalidRequestException(Could not find column family 
definition to modify.);
+ThriftValidation.validateCfDef(cf_def, oldCfm);
 validateSchemaAgreement();
 
 try




svn commit: r1147316 - in /cassandra/branches/cassandra-0.8: ./ contrib/ interface/thrift/gen-java/org/apache/cassandra/thrift/ src/java/org/apache/cassandra/cli/ src/java/org/apache/cassandra/config/

2011-07-15 Thread brandonwilliams
Author: brandonwilliams
Date: Fri Jul 15 20:54:32 2011
New Revision: 1147316

URL: http://svn.apache.org/viewvc?rev=1147316view=rev
Log:
Merge from 0.7

Modified:
cassandra/branches/cassandra-0.8/   (props changed)
cassandra/branches/cassandra-0.8/CHANGES.txt
cassandra/branches/cassandra-0.8/contrib/   (props changed)

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
   (props changed)

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
   (props changed)

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
   (props changed)

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
   (props changed)

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
   (props changed)

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/config/DatabaseDescriptor.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageServiceMBean.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java

Propchange: cassandra/branches/cassandra-0.8/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jul 15 20:54:32 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1131291
-/cassandra/branches/cassandra-0.7:1026516-1144407
+/cassandra/branches/cassandra-0.7:1026516-1147315
 /cassandra/branches/cassandra-0.7.0:1053690-1055654
 /cassandra/branches/cassandra-0.8:1090934-1125013,1125041
 /cassandra/branches/cassandra-0.8.0:1125021-1130369

Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1147316r1=1147315r2=1147316view=diff
==
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Fri Jul 15 20:54:32 2011
@@ -25,6 +25,7 @@
  * decrease HH page size (CASSANDRA-2832)
  * reset cli keyspace after dropping the current one (CASSANDRA-2763)
  * add KeyRange option to Hadoop inputformat (CASSANDRA-1125)
+ * support spaces in path to log4j configuration (CASSANDRA-2383)
 
 
 0.8.1

Propchange: cassandra/branches/cassandra-0.8/contrib/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jul 15 20:54:32 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/contrib:922689-1052356,1052358-1053452,1053454,1053456-1068009
-/cassandra/branches/cassandra-0.7/contrib:1026516-1144407
+/cassandra/branches/cassandra-0.7/contrib:1026516-1147315
 /cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
 /cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125041
 /cassandra/branches/cassandra-0.8.0/contrib:1125021-1130369

Propchange: 
cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jul 15 20:54:32 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1144407
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1147315
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1053690-1055654
 
/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090934-1125013,1125041
 
/cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1125021-1130369

Propchange: 
cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jul 15 20:54:32 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra

svn commit: r1147334 - in /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra: cli/CliClient.java tools/NodeCmd.java

2011-07-15 Thread brandonwilliams
Author: brandonwilliams
Date: Fri Jul 15 22:12:22 2011
New Revision: 1147334

URL: http://svn.apache.org/viewvc?rev=1147334view=rev
Log:
Fix broken merge

Modified:

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java?rev=1147334r1=1147333r2=1147334view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java
 Fri Jul 15 22:12:22 2011
@@ -408,12 +408,6 @@ public class CliClient
   ? convertValueByFunction(columnTree, 
null, null).array()
   : 
columnNameAsByteArray(CliCompiler.getColumn(columnFamilySpec, 0), cfDef);
 
-// table.cf['key']['column']
-assert columnTree != null;
-
-byte[] columnNameBytes = (columnTree.getType() == 
CliParser.FUNCTION_CALL)
-  ? convertValueByFunction(columnTree, 
null, null).array()
-  : 
columnNameAsByteArray(CliCompiler.getColumn(columnFamilySpec, 0), cfDef);
 
 if (isSuper)
 superColumnName = columnNameBytes;

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java?rev=1147334r1=1147333r2=1147334view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java
 Fri Jul 15 22:12:22 2011
@@ -603,19 +603,17 @@ public class NodeCmd
 
 switch (command)
 {
-case RING: complainNonzeroArgs(arguments, command); 
nodeCmd.printRing(System.out); break;
-case INFO: complainNonzeroArgs(arguments, command); 
nodeCmd.printInfo(System.out); break;
-case CFSTATS : complainNonzeroArgs(arguments, command); 
nodeCmd.printColumnFamilyStats(System.out); break;
-case DECOMMISSION: complainNonzeroArgs(arguments, command); 
probe.decommission(); break;
-case LOADBALANCE : complainNonzeroArgs(arguments, command); 
probe.loadBalance(); break;
-case CLEARSNAPSHOT   : complainNonzeroArgs(arguments, command); 
probe.clearSnapshot(); break;
-case TPSTATS : complainNonzeroArgs(arguments, command); 
nodeCmd.printThreadPoolStats(System.out); break;
-case VERSION : complainNonzeroArgs(arguments, command); 
nodeCmd.printReleaseVersion(System.out); break;
-case COMPACTIONSTATS : complainNonzeroArgs(arguments, command); 
nodeCmd.printCompactionStats(System.out); break;
-case DISABLEGOSSIP   : complainNonzeroArgs(arguments, command); 
probe.stopGossiping(); break;
-case ENABLEGOSSIP: complainNonzeroArgs(arguments, command); 
probe.startGossiping(); break;
-case DISABLETHRIFT   : complainNonzeroArgs(arguments, command); 
probe.stopThriftServer(); break;
-case ENABLETHRIFT: complainNonzeroArgs(arguments, command); 
probe.startThriftServer(); break;
+case RING: nodeCmd.printRing(System.out); break;
+case INFO: nodeCmd.printInfo(System.out); break;
+case CFSTATS : nodeCmd.printColumnFamilyStats(System.out); 
break;
+case DECOMMISSION: probe.decommission(); break;
+case TPSTATS : nodeCmd.printThreadPoolStats(System.out); 
break;
+case VERSION : nodeCmd.printReleaseVersion(System.out); 
break;
+case COMPACTIONSTATS : nodeCmd.printCompactionStats(System.out); 
break;
+case DISABLEGOSSIP   : probe.stopGossiping(); break;
+case ENABLEGOSSIP: probe.startGossiping(); break;
+case DISABLETHRIFT   : probe.stopThriftServer(); break;
+case ENABLETHRIFT: probe.startThriftServer(); break;
 case STATUSTHRIFT: 
nodeCmd.printIsThriftServerRunning(System.out); break;
 
 case DRAIN :
@@ -722,7 +720,7 @@ public class NodeCmd
 e.printStackTrace();
 System.exit(3);
 }
-
+
 private static void complainNonzeroArgs(String[] args, NodeCommand cmd)
 {
 if (args.length  0) {
@@ -732,6 +730,27 @@ public class NodeCmd
 }
 }
 
+private static void

svn commit: r1147336 - in /cassandra/branches/cassandra-0.8: src/java/org/apache/cassandra/cli/CliClient.java test/unit/org/apache/cassandra/cli/CliTest.java

2011-07-15 Thread brandonwilliams
Author: brandonwilliams
Date: Fri Jul 15 22:17:58 2011
New Revision: 1147336

URL: http://svn.apache.org/viewvc?rev=1147336view=rev
Log:
Proper support of key validation class and function calls for COUNT in
the cli.
Patch by Pavel Yaskevich, reviewed by brandonwilliams for CASSANDRA-2902

Modified:

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java

cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/cli/CliTest.java

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java?rev=1147336r1=1147335r2=1147336view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java
 Fri Jul 15 22:17:58 2011
@@ -349,7 +349,6 @@ public class CliClient
 
 Tree columnFamilySpec = statement.getChild(0);
 
-String key = CliCompiler.getKey(columnFamilySpec);
 String columnFamily = CliCompiler.getColumnFamily(columnFamilySpec, 
keyspacesMap.get(keySpace).cf_defs);
 int columnSpecCnt = CliCompiler.numColumnSpecifiers(columnFamilySpec);

@@ -357,14 +356,19 @@ public class CliClient

 if (columnSpecCnt != 0)
 {
-byte[] superColumn = 
columnNameAsByteArray(CliCompiler.getColumn(columnFamilySpec, 0), columnFamily);
+Tree columnTree = columnFamilySpec.getChild(2);
+
+byte[] superColumn = (columnTree.getType() == 
CliParser.FUNCTION_CALL)
+  ? convertValueByFunction(columnTree, null, 
null).array()
+  : 
columnNameAsByteArray(CliCompiler.getColumn(columnFamilySpec, 0), columnFamily);
+
 colParent = new 
ColumnParent(columnFamily).setSuper_column(superColumn);
 }
 
 SliceRange range = new SliceRange(ByteBufferUtil.EMPTY_BYTE_BUFFER, 
ByteBufferUtil.EMPTY_BYTE_BUFFER, false, Integer.MAX_VALUE);
 SlicePredicate predicate = new 
SlicePredicate().setColumn_names(null).setSlice_range(range);
 
-int count = thriftClient.get_count(ByteBufferUtil.bytes(key), 
colParent, predicate, consistencyLevel);
+int count = thriftClient.get_count(getKeyAsBytes(columnFamily, 
columnFamilySpec.getChild(1)), colParent, predicate, consistencyLevel);
 sessionState.out.printf(%d columns%n, count);
 }
 

Modified: 
cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/cli/CliTest.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/cli/CliTest.java?rev=1147336r1=1147335r2=1147336view=diff
==
--- 
cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/cli/CliTest.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/cli/CliTest.java
 Fri Jul 15 22:17:58 2011
@@ -134,6 +134,10 @@ public class CliTest extends CleanupHelp
 set sCf1['hello'][1][] = 938;,
 set sCf1['hello'][1][] = 938 with ttl = 30;,
 set sCf1['hello'][1][] = 938 with ttl = 560;,
+count sCf1[hello];,
+count sCf1[utf8('hello')];,
+count sCf1[utf8('hello')][integer(1)];,
+count sCF1[hello][1];,
 list sCf1;,
 del SCF1['hello'][1][];,
 assume sCf1 comparator as utf8;,




svn commit: r1148866 - /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java

2011-07-20 Thread brandonwilliams
Author: brandonwilliams
Date: Wed Jul 20 17:52:42 2011
New Revision: 1148866

URL: http://svn.apache.org/viewvc?rev=1148866view=rev
Log:
Don't sample the system table keys when choosing a bootstrap token.
Patch by brandonwilliams, reviewed by jbellis for CASSANDRA-2825

Modified:

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java?rev=1148866r1=1148865r2=1148866view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java
 Wed Jul 20 17:52:42 2011
@@ -1716,6 +1716,8 @@ public class StorageService implements I
 ListDecoratedKey keys = new ArrayListDecoratedKey();
 for (ColumnFamilyStore cfs : ColumnFamilyStore.all())
 {
+if (cfs.table.name.equals(Table.SYSTEM_TABLE))
+continue;
 for (DecoratedKey key : cfs.allKeySamples())
 {
 if (range.contains(key.token))
@@ -1724,9 +1726,19 @@ public class StorageService implements I
 }
 FBUtilities.sortSampledKeys(keys, range);
 
-Token token = keys.size()  3
-? partitioner.midpoint(range.left, range.right)
-: keys.get(keys.size() / 2).token;
+Token token;
+if (keys.size()  3)
+{
+token = partitioner.midpoint(range.left, range.right);
+logger_.debug(Used midpoint to assign token  + token);
+}
+else
+{
+token = keys.get(keys.size() / 2).token;
+logger_.debug(Used key sample of size  + keys.size() +  to 
assign token  + token);
+}
+if (tokenMetadata_.isMember(tokenMetadata_.getEndpoint(token)))
+throw new RuntimeException(Chose token  + token +  which is 
already in use by  + tokenMetadata_.getEndpoint(token) +  -- specify one 
manually with initial_token);
 // Hack to prevent giving nodes tokens with DELIMITER_STR in them 
(which is fine in a row key/token)
 if (token instanceof StringToken)
 {




svn commit: r1149341 - /cassandra/branches/cassandra-0.7/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java

2011-07-21 Thread brandonwilliams
Author: brandonwilliams
Date: Thu Jul 21 20:10:54 2011
New Revision: 1149341

URL: http://svn.apache.org/viewvc?rev=1149341view=rev
Log:
Use a UDF-specific context signature.
Patch by Jeremy Hanna, reviewed by brandonwilliams for CASSANDRA-2869

Modified:

cassandra/branches/cassandra-0.7/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java

Modified: 
cassandra/branches/cassandra-0.7/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java?rev=1149341r1=1149340r2=1149341view=diff
==
--- 
cassandra/branches/cassandra-0.7/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
 Thu Jul 21 20:10:54 2011
@@ -68,8 +68,6 @@ public class CassandraStorage extends Lo
 public final static String PIG_INITIAL_ADDRESS = PIG_INITIAL_ADDRESS;
 public final static String PIG_PARTITIONER = PIG_PARTITIONER;
 
-private static String UDFCONTEXT_SCHEMA_KEY_PREFIX = cassandra.schema;
-
 private final static ByteBuffer BOUND = ByteBufferUtil.EMPTY_BYTE_BUFFER;
 private static final Log logger = 
LogFactory.getLog(CassandraStorage.class);
 
@@ -78,6 +76,8 @@ public class CassandraStorage extends Lo
 private boolean slice_reverse = false;
 private String keyspace;
 private String column_family;
+private String loadSignature;
+private String storeSignature;
 
 private Configuration conf;
 private RecordReader reader;
@@ -112,7 +112,7 @@ public class CassandraStorage extends Lo
 if (!reader.nextKeyValue())
 return null;
 
-CfDef cfDef = getCfDef();
+CfDef cfDef = getCfDef(loadSignature);
 ByteBuffer key = (ByteBuffer)reader.getCurrentKey();
 SortedMapByteBuffer,IColumn cf = 
(SortedMapByteBuffer,IColumn)reader.getCurrentValue();
 assert key != null  cf != null;
@@ -165,11 +165,11 @@ public class CassandraStorage extends Lo
 return pair;
 }
 
-private CfDef getCfDef()
+private CfDef getCfDef(String signature)
 {
 UDFContext context = UDFContext.getUDFContext();
 Properties property = context.getUDFProperties(CassandraStorage.class);
-return cfdefFromString(property.getProperty(getSchemaContextKey()));
+return cfdefFromString(property.getProperty(signature));
 }
 
 private ListAbstractType getDefaultMarshallers(CfDef cfDef) throws 
IOException
@@ -289,7 +289,7 @@ public class CassandraStorage extends Lo
 }
 ConfigHelper.setInputColumnFamily(conf, keyspace, column_family);
 setConnectionInformation();
-initSchema();
+initSchema(loadSignature);
 }
 
 @Override
@@ -298,9 +298,16 @@ public class CassandraStorage extends Lo
 return location;
 }
 
+@Override
+public void setUDFContextSignature(String signature)
+{
+this.loadSignature = signature;
+}
+
 /* StoreFunc methods */
 public void setStoreFuncUDFContextSignature(String signature)
 {
+this.storeSignature = signature;
 }
 
 public String relToAbsPathForStoreLocation(String location, Path curDir) 
throws IOException
@@ -314,7 +321,7 @@ public class CassandraStorage extends Lo
 setLocationFromUri(location);
 ConfigHelper.setOutputColumnFamily(conf, keyspace, column_family);
 setConnectionInformation();
-initSchema();
+initSchema(storeSignature);
 }
 
 public OutputFormat getOutputFormat()
@@ -346,7 +353,7 @@ public class CassandraStorage extends Lo
 ByteBuffer key = objToBB(t.get(0));
 DefaultDataBag pairs = (DefaultDataBag) t.get(1);
 ArrayListMutation mutationList = new ArrayListMutation();
-CfDef cfDef = getCfDef();
+CfDef cfDef = getCfDef(storeSignature);
 ListAbstractType marshallers = getDefaultMarshallers(cfDef);
 MapByteBuffer,AbstractType validators = getValidatorMap(cfDef);
 try
@@ -404,7 +411,6 @@ public class CassandraStorage extends Lo
column.timestamp = System.currentTimeMillis() * 1000;
mutation.column_or_supercolumn = new 
ColumnOrSuperColumn();
mutation.column_or_supercolumn.column = column;
-   mutationList.add(mutation);
}
}
mutationList.add(mutation);
@@ -412,7 +418,7 @@ public class CassandraStorage extends Lo
 }
 catch (ClassCastException e)
 {
-throw new IOException(e +  Output must be (key, 
{(column,value)...}) for ColumnFamily or (key, 
{supercolumn:{(column,value

svn commit: r1150847 - in /cassandra/branches/cassandra-0.8: ./ src/java/org/apache/cassandra/gms/ src/java/org/apache/cassandra/net/ src/java/org/apache/cassandra/service/

2011-07-25 Thread brandonwilliams
Author: brandonwilliams
Date: Mon Jul 25 18:58:27 2011
New Revision: 1150847

URL: http://svn.apache.org/viewvc?rev=1150847view=rev
Log:
Gossip handles dead states, token removal actually works, gossip states
are held for aVeryLongTime.
Patch by brandonwilliams and Paul Cannon, reviewed by Paul Cannon for
CASSANDRA-2496.

Modified:
cassandra/branches/cassandra-0.8/CHANGES.txt
cassandra/branches/cassandra-0.8/NEWS.txt

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/ApplicationState.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/HeartBeatState.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/VersionedValue.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/MessagingService.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java

Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1150847r1=1150846r2=1150847view=diff
==
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Mon Jul 25 18:58:27 2011
@@ -1,6 +1,7 @@
 0.8.3
  * add ability to drop local reads/writes that are going to timeout
(CASSANDRA-2943)
+ * revamp token removal process, keep gossip states for 3 days (CASSANDRA-2946)
 
 
 0.8.2

Modified: cassandra/branches/cassandra-0.8/NEWS.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/NEWS.txt?rev=1150847r1=1150846r2=1150847view=diff
==
--- cassandra/branches/cassandra-0.8/NEWS.txt (original)
+++ cassandra/branches/cassandra-0.8/NEWS.txt Mon Jul 25 18:58:27 2011
@@ -1,3 +1,12 @@
+0.8.3
+=
+
+Upgrading
+-
+- Token removal has been revamped.  Removing tokens in a mixed cluster with
+  0.8.3 will not work, so the entire cluster will need to be running 0.8.3
+  first, except for the dead node.
+
 0.8.2
 =
 

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/ApplicationState.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/ApplicationState.java?rev=1150847r1=1150846r2=1150847view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/ApplicationState.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/ApplicationState.java
 Mon Jul 25 18:58:27 2011
@@ -29,6 +29,7 @@ public enum ApplicationState
 DC,
 RACK,
 RELEASE_VERSION,
+REMOVAL_COORDINATOR,
 // pad to allow adding new states to existing cluster
 X1,
 X2,

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java?rev=1150847r1=1150846r2=1150847view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java
 Mon Jul 25 18:58:27 2011
@@ -27,6 +27,7 @@ import java.util.*;
 import java.util.Map.Entry;
 import java.util.concurrent.*;
 
+import org.apache.cassandra.dht.Token;
 import org.apache.cassandra.db.SystemTable;
 import org.apache.cassandra.net.MessageProducer;
 import org.apache.cassandra.config.ConfigurationException;
@@ -58,6 +59,8 @@ public class Gossiper implements IFailur
 private static final RetryingScheduledThreadPoolExecutor executor = new 
RetryingScheduledThreadPoolExecutor(GossipTasks);
 
 static final ApplicationState[] STATES = ApplicationState.values();
+static final ListString DEAD_STATES = 
Arrays.asList(VersionedValue.REMOVING_TOKEN, VersionedValue.REMOVED_TOKEN, 
VersionedValue.STATUS_LEFT);
+
 private ScheduledFuture? scheduledGossipTask;
 public final static int intervalInMillis = 1000;
 public final static int QUARANTINE_DELAY = StorageService.RING_DELAY * 2;
@@ -264,17 +267,21 @@ public class Gossiper implements IFailur
 }
 
 /**
- * Removes the endpoint from unreachable endpoint set
+ * Removes the endpoint from gossip completely
  *
  * @param endpoint endpoint to be removed from the current membership.
 */
 private void evictFromMembership(InetAddress endpoint)
 {
 unreachableEndpoints.remove(endpoint);
+endpointStateMap.remove(endpoint);
+justRemovedEndpoints.put(endpoint, System.currentTimeMillis());
+if (logger.isDebugEnabled

svn commit: r1151587 - /cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/service/RemoveTest.java

2011-07-27 Thread brandonwilliams
Author: brandonwilliams
Date: Wed Jul 27 18:42:32 2011
New Revision: 1151587

URL: http://svn.apache.org/viewvc?rev=1151587view=rev
Log:
Remove obsolete tests for removetoken

Modified:

cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/service/RemoveTest.java

Modified: 
cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/service/RemoveTest.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/service/RemoveTest.java?rev=1151587r1=1151586r2=1151587view=diff
==
--- 
cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/service/RemoveTest.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/service/RemoveTest.java
 Wed Jul 27 18:42:32 2011
@@ -154,44 +154,6 @@ public class RemoveTest extends CleanupH
 assertTrue(tmd.getLeavingEndpoints().isEmpty());
 }
 
-@Test
-public void testStartRemoving()
-{
-IPartitioner partitioner = StorageService.getPartitioner();
-VersionedValue.VersionedValueFactory valueFactory = new 
VersionedValue.VersionedValueFactory(partitioner);
-
-NotificationSink nSink = new NotificationSink();
-ReplicationSink rSink = new ReplicationSink();
-SinkManager.add(nSink);
-SinkManager.add(rSink);
-
-assertEquals(0, tmd.getLeavingEndpoints().size());
-
-ss.onChange(hosts.get(1),
-ApplicationState.STATUS,
-valueFactory.removingNonlocal(endpointTokens.get(1), 
removaltoken));
-
-assertEquals(1, nSink.callCount);
-assertTrue(tmd.isLeaving(removalhost));
-assertEquals(1, tmd.getLeavingEndpoints().size());
-}
-
-@Test
-public void testFinishRemoving()
-{
-IPartitioner partitioner = StorageService.getPartitioner();
-VersionedValue.VersionedValueFactory valueFactory = new 
VersionedValue.VersionedValueFactory(partitioner);
-
-assertEquals(0, tmd.getLeavingEndpoints().size());
-
-ss.onChange(hosts.get(1),
-ApplicationState.STATUS,
-valueFactory.removedNonlocal(endpointTokens.get(1), 
removaltoken));
-
-assertFalse(Gossiper.instance.getLiveMembers().contains(removalhost));
-assertFalse(tmd.isMember(removalhost));
-}
-
 class ReplicationSink implements IMessageSink
 {
 public Message handleMessage(Message msg, String id, InetAddress to)
@@ -205,25 +167,4 @@ public class RemoveTest extends CleanupH
 }
 }
 
-class NotificationSink implements IMessageSink
-{
-public int callCount = 0;
-
-public Message handleMessage(Message msg, String id, InetAddress to)
-{
-if (msg.getVerb().equals(StorageService.Verb.REPLICATION_FINISHED))
-{
-callCount++;
-assertEquals(Stage.MISC, msg.getMessageType());
-// simulate a response from remote server
-Message response = msg.getReply(FBUtilities.getLocalAddress(), 
new byte[]{ }, msg.getVersion());
-MessagingService.instance().sendReply(response, id, 
FBUtilities.getLocalAddress());
-return null;
-}
-else
-{
-return msg;
-}
-}
-}
 }




svn commit: r1151659 - in /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra: gms/Gossiper.java service/StorageService.java

2011-07-27 Thread brandonwilliams
Author: brandonwilliams
Date: Wed Jul 27 22:47:02 2011
New Revision: 1151659

URL: http://svn.apache.org/viewvc?rev=1151659view=rev
Log:
Gossiper notifies of local state changes.
Patch by Sam Overton, reviewed by brandonwilliams for CASSANDRA-2948

Modified:

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java?rev=1151659r1=1151658r2=1151659view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java
 Wed Jul 27 22:47:02 2011
@@ -981,6 +981,7 @@ public class Gossiper implements IFailur
 EndpointState epState = 
endpointStateMap.get(FBUtilities.getLocalAddress());
 assert epState != null;
 epState.addApplicationState(state, value);
+doNotifications(FBUtilities.getLocalAddress(), state, value);
 }
 
 public void stop()

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java?rev=1151659r1=1151658r2=1151659view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java
 Wed Jul 27 22:47:02 2011
@@ -1913,7 +1913,7 @@ public class StorageService implements I
 
 // ring ranges and endpoints associated with them
 // this used to determine what nodes should we ping about range 
data
-MultimapRange, InetAddress rangeAddresses = 
strategy.getRangeAddresses(tokenMetaClone);
+MultimapRange, InetAddress rangeAddresses = 
strategy.getRangeAddresses(tokenMetadata_);
 
 // calculated parts of the ranges to request/stream from/to nodes 
in the ring
 PairSetRange, SetRange rangesPerTable = 
calculateStreamAndFetchRanges(currentRanges, updatedRanges);




svn commit: r1151990 - in /cassandra/trunk/src/java/org/apache/cassandra: gms/ApplicationState.java gms/VersionedValue.java locator/Ec2MultiRegionSnitch.java net/OutboundTcpConnection.java net/Outboun

2011-07-28 Thread brandonwilliams
Author: brandonwilliams
Date: Thu Jul 28 20:27:13 2011
New Revision: 1151990

URL: http://svn.apache.org/viewvc?rev=1151990view=rev
Log:
Ec2 snitch with support for multiple regions.
Patch by Vijay Parthasarathy, reviewed by brandonwilliams for
CASSANDRA-2452

Added:

cassandra/trunk/src/java/org/apache/cassandra/locator/Ec2MultiRegionSnitch.java 
  (with props)
Modified:
cassandra/trunk/src/java/org/apache/cassandra/gms/ApplicationState.java
cassandra/trunk/src/java/org/apache/cassandra/gms/VersionedValue.java
cassandra/trunk/src/java/org/apache/cassandra/net/OutboundTcpConnection.java

cassandra/trunk/src/java/org/apache/cassandra/net/OutboundTcpConnectionPool.java

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/gms/ApplicationState.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/gms/ApplicationState.java?rev=1151990r1=1151989r2=1151990view=diff
==
--- cassandra/trunk/src/java/org/apache/cassandra/gms/ApplicationState.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/gms/ApplicationState.java Thu 
Jul 28 20:27:13 2011
@@ -29,6 +29,7 @@ public enum ApplicationState
 DC,
 RACK,
 RELEASE_VERSION,
+INTERNAL_IP,
 // pad to allow adding new states to existing cluster
 X1,
 X2,

Modified: cassandra/trunk/src/java/org/apache/cassandra/gms/VersionedValue.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/gms/VersionedValue.java?rev=1151990r1=1151989r2=1151990view=diff
==
--- cassandra/trunk/src/java/org/apache/cassandra/gms/VersionedValue.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/gms/VersionedValue.java Thu 
Jul 28 20:27:13 2011
@@ -159,6 +159,11 @@ public class VersionedValue implements C
 {
 return new VersionedValue(FBUtilities.getReleaseVersionString());
 }
+
+public VersionedValue internalIP(String private_ip)
+{
+return new VersionedValue(private_ip);
+}
 }
 
 private static class VersionedValueSerializer implements 
ICompactSerializerVersionedValue

Added: 
cassandra/trunk/src/java/org/apache/cassandra/locator/Ec2MultiRegionSnitch.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/locator/Ec2MultiRegionSnitch.java?rev=1151990view=auto
==
--- 
cassandra/trunk/src/java/org/apache/cassandra/locator/Ec2MultiRegionSnitch.java 
(added)
+++ 
cassandra/trunk/src/java/org/apache/cassandra/locator/Ec2MultiRegionSnitch.java 
Thu Jul 28 20:27:13 2011
@@ -0,0 +1,103 @@
+package org.apache.cassandra.locator;
+
+import java.io.IOException;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+
+import org.apache.cassandra.config.ConfigurationException;
+import org.apache.cassandra.config.DatabaseDescriptor;
+import org.apache.cassandra.gms.ApplicationState;
+import org.apache.cassandra.gms.EndpointState;
+import org.apache.cassandra.gms.Gossiper;
+import org.apache.cassandra.gms.IEndpointStateChangeSubscriber;
+import org.apache.cassandra.gms.VersionedValue;
+import org.apache.cassandra.net.MessagingService;
+import org.apache.cassandra.service.StorageService;
+
+/**
+ * 1) Snitch will automatically set the public IP by querying the AWS API
+ * 
+ * 2) Snitch will set the private IP as a Gossip application state.
+ * 
+ * 3) Snitch implements IESCS and will reset the connection if it is within the
+ * same region to communicate via private IP.
+ * 
+ * Implements Ec2Snitch to inherit its functionality and extend it for
+ * Multi-Region.
+ * 
+ * Operational: All the nodes in this cluster needs to be able to (modify the
+ * Security group settings in AWS) communicate via Public IP's.
+ */
+public class Ec2MultiRegionSnitch extends Ec2Snitch implements 
IEndpointStateChangeSubscriber
+{
+private static final String PUBLIC_IP_QUERY_URL = 
http://169.254.169.254/latest/meta-data/public-ipv4;;
+private static final String PRIVATE_IP_QUERY_URL = 
http://169.254.169.254/latest/meta-data/local-ipv4;;
+private final InetAddress public_ip;
+private final String private_ip;
+
+public Ec2MultiRegionSnitch() throws IOException, ConfigurationException
+{
+super();
+public_ip = InetAddress.getByName(awsApiCall(PUBLIC_IP_QUERY_URL));
+logger.info(EC2Snitch using publicIP as identifier:  + public_ip);
+private_ip = awsApiCall(PRIVATE_IP_QUERY_URL);
+// use the Public IP to broadcast Address to other nodes.
+DatabaseDescriptor.setBroadcastAddress(public_ip);
+}
+
+@Override
+public void onJoin(InetAddress endpoint, EndpointState epState)
+{
+if (epState.getApplicationState(ApplicationState.INTERNAL_IP) != null

svn commit: r1152038 - /cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java

2011-07-28 Thread brandonwilliams
Author: brandonwilliams
Date: Thu Jul 28 23:42:47 2011
New Revision: 1152038

URL: http://svn.apache.org/viewvc?rev=1152038view=rev
Log:
DES shouldn't ignore nodes when the read repair chance is zero.
Patch by brandonwilliams reviewed by Paul Cannon for CASSANDRA-2662

Modified:

cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java

Modified: 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java?rev=1152038r1=1152037r2=1152038view=diff
==
--- 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java
 Thu Jul 28 23:42:47 2011
@@ -178,8 +178,20 @@ public class DynamicEndpointSnitch exten
 {
 Double scored1 = scores.get(a1);
 Double scored2 = scores.get(a2);
+
+if (scored1 == null)
+{
+scored1 = 0.0;
+receiveTiming(a1, 0.0);
+}
+
+if (scored2 == null)
+{
+scored2 = 0.0;
+receiveTiming(a2, 0.0);
+}
 
-if (scored1 == null || scored2 == null || scored1.equals(scored2))
+if (scored1.equals(scored2))
 return subsnitch.compareEndpoints(target, a1, a2);
 if (scored1  scored2)
 return -1;




svn commit: r1152233 [3/9] - in /cassandra/trunk: conf/ src/gen-java/ src/gen-java/org/ src/gen-java/org/apache/ src/gen-java/org/apache/cassandra/ src/gen-java/org/apache/cassandra/cli/ src/gen-java/

2011-07-29 Thread brandonwilliams
Propchange: cassandra/trunk/src/gen-java/org/apache/cassandra/cli/CliLexer.java
--
svn:eol-style = native




svn commit: r1152233 [5/9] - in /cassandra/trunk: conf/ src/gen-java/ src/gen-java/org/ src/gen-java/org/apache/ src/gen-java/org/apache/cassandra/ src/gen-java/org/apache/cassandra/cli/ src/gen-java/

2011-07-29 Thread brandonwilliams
Propchange: cassandra/trunk/src/gen-java/org/apache/cassandra/cli/CliParser.java
--
svn:eol-style = native

Added: cassandra/trunk/src/gen-java/org/apache/cassandra/cql/Cql.tokens
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/gen-java/org/apache/cassandra/cql/Cql.tokens?rev=1152233view=auto
==
--- cassandra/trunk/src/gen-java/org/apache/cassandra/cql/Cql.tokens (added)
+++ cassandra/trunk/src/gen-java/org/apache/cassandra/cql/Cql.tokens Fri Jul 29 
14:21:06 2011
@@ -0,0 +1,126 @@
+LETTER=75
+K_CREATE=32
+K_PRIMARY=37
+T__93=93
+T__94=94
+T__91=91
+K_USE=4
+T__92=92
+K_VALUES=23
+STRING_LITERAL=9
+T__90=90
+K_ON=41
+K_USING=11
+K_ADD=45
+K_KEY=38
+COMMENT=78
+K_TRUNCATE=47
+T__99=99
+T__98=98
+T__97=97
+T__96=96
+T__95=95
+D=61
+E=49
+F=53
+G=67
+K_COUNT=7
+T__80=80
+K_KEYSPACE=33
+K_TYPE=44
+T__81=81
+A=59
+B=70
+T__82=82
+T__83=83
+C=51
+L=50
+M=56
+N=60
+O=55
+H=58
+I=64
+J=72
+K_UPDATE=29
+K=62
+U=65
+T=52
+W=57
+V=69
+Q=68
+P=66
+S=48
+R=54
+T__85=85
+T__84=84
+T__87=87
+T__86=86
+K_TTL=25
+T__89=89
+Y=63
+X=71
+T__88=88
+Z=73
+K_INDEX=40
+K_REVERSED=17
+K_INSERT=21
+WS=77
+K_APPLY=28
+K_TIMESTAMP=24
+K_AND=19
+K_LEVEL=13
+K_BATCH=27
+UUID=46
+K_DELETE=31
+FLOAT=39
+K_SELECT=6
+K_LIMIT=15
+K_ALTER=43
+K_SET=30
+K_WHERE=14
+MULTILINE_COMMENT=79
+HEX=76
+K_INTO=22
+T__103=103
+T__104=104
+IDENT=5
+DIGIT=74
+K_FIRST=16
+K_BEGIN=26
+INTEGER=10
+RANGEOP=18
+K_CONSISTENCY=12
+K_WITH=34
+COMPIDENT=35
+T__102=102
+T__101=101
+T__100=100
+K_IN=20
+K_FROM=8
+K_COLUMNFAMILY=36
+K_DROP=42
+'counter'=94
+'='=103
+'text'=88
+'uuid'=93
+''=104
+'bytea'=86
+'\*'=83
+';'=84
+'='=85
+'+'=99
+')'=81
+'date'=96
+'float'=97
+'boolean'=95
+'ascii'=87
+'double'=98
+'varint'=91
+'='=102
+'varchar'=89
+'int'=90
+''=101
+'bigint'=92
+'('=80
+'-'=100
+','=82




svn commit: r1152233 [1/9] - in /cassandra/trunk: conf/ src/gen-java/ src/gen-java/org/ src/gen-java/org/apache/ src/gen-java/org/apache/cassandra/ src/gen-java/org/apache/cassandra/cli/ src/gen-java/

2011-07-29 Thread brandonwilliams
Author: brandonwilliams
Date: Fri Jul 29 14:21:06 2011
New Revision: 1152233

URL: http://svn.apache.org/viewvc?rev=1152233view=rev
Log:
Add asynchronous and half-sync/half-async thrift servers.
Patch by Vijay Parthasarathy, reviewed by brandonwilliams for
CASSANDRA-1405

Added:
cassandra/trunk/src/gen-java/
cassandra/trunk/src/gen-java/org/
cassandra/trunk/src/gen-java/org/apache/
cassandra/trunk/src/gen-java/org/apache/cassandra/
cassandra/trunk/src/gen-java/org/apache/cassandra/cli/
cassandra/trunk/src/gen-java/org/apache/cassandra/cli/Cli.tokens
cassandra/trunk/src/gen-java/org/apache/cassandra/cli/CliLexer.java   (with 
props)
cassandra/trunk/src/gen-java/org/apache/cassandra/cli/CliParser.java   
(with props)
cassandra/trunk/src/gen-java/org/apache/cassandra/cql/
cassandra/trunk/src/gen-java/org/apache/cassandra/cql/Cql.tokens
cassandra/trunk/src/gen-java/org/apache/cassandra/cql/CqlLexer.java   (with 
props)
cassandra/trunk/src/gen-java/org/apache/cassandra/cql/CqlParser.java   
(with props)

cassandra/trunk/src/java/org/apache/cassandra/service/SocketSessionManagementService.java
   (with props)
cassandra/trunk/src/java/org/apache/cassandra/thrift/CustomTHsHaServer.java 
  (with props)

cassandra/trunk/src/java/org/apache/cassandra/thrift/CustomTNonBlockingServer.java
   (with props)

cassandra/trunk/src/java/org/apache/cassandra/thrift/TCustomNonblockingServerSocket.java
   (with props)
Modified:
cassandra/trunk/conf/cassandra.yaml
cassandra/trunk/conf/log4j-server.properties

cassandra/trunk/src/java/org/apache/cassandra/concurrent/JMXEnabledThreadPoolExecutor.java
cassandra/trunk/src/java/org/apache/cassandra/config/Config.java
cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraDaemon.java
cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraServer.java

Modified: cassandra/trunk/conf/cassandra.yaml
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/conf/cassandra.yaml?rev=1152233r1=1152232r2=1152233view=diff
==
--- cassandra/trunk/conf/cassandra.yaml (original)
+++ cassandra/trunk/conf/cassandra.yaml Fri Jul 29 14:21:06 2011
@@ -203,16 +203,35 @@ rpc_port: 9160
 # enable or disable keepalive on rpc connections
 rpc_keepalive: true
 
-# Cassandra uses thread-per-client for client RPC.  This can
-# be expensive in memory used for thread stack for a large
-# enough number of clients.  (Hence, connection pooling is
-# very, very strongly recommended.)
-# 
+# Cassandra provides you with a variety of options for RPC Server
+# sync  - Creates one thread per connection but with a configurable number of
+#   threads.  This can be expensive in memory used for thread stack for
+#   a large enough number of clients.  (Hence, connection pooling is
+#   very, very strongly recommended.)
+#
+# async - Nonblocking server implementation with one thread to serve 
+#   rpc connections.  This is not recommended for high throughput use
+#   cases.
+#
+# hsha  - half sync and half async implementation with configurable number
+#   of worker threads (For managing connections).  IO Management is
+#   done by a set of threads currently equal to the number of
+#   processors in the system. The number of threads in the threadpool
+#   is configured via rpc_min_threads and rpc_max_threads.  (Connection
+#   pooling is strongly recommended in this case too.) 
+
+rpc_server_type: sync
+
 # Uncomment rpc_min|max|thread to set request pool size.
-# You would primarily set max as a safeguard against misbehaved
-# clients; if you do hit the max, Cassandra will block until
-# one disconnects before accepting more.  The defaults are
-# min of 16 and max unlimited.
+# You would primarily set max for the sync server to safeguard against
+# misbehaved clients; if you do hit the max, Cassandra will block until one
+# disconnects before accepting more.  The defaults are min of 16 and max
+# unlimited.
+# 
+# For the Hsha server, you would set the max so that a fair amount of resources
+# are provided to the other working threads on the server.
+#
+# This configuration is not used for the async server.
 #
 # rpc_min_threads: 16
 # rpc_max_threads: 2048

Modified: cassandra/trunk/conf/log4j-server.properties
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/conf/log4j-server.properties?rev=1152233r1=1152232r2=1152233view=diff
==
--- cassandra/trunk/conf/log4j-server.properties (original)
+++ cassandra/trunk/conf/log4j-server.properties Fri Jul 29 14:21:06 2011
@@ -39,3 +39,6 @@ log4j.appender.R.File=/var/log/cassandra
 #log4j.logger.org.apache.cassandra.db=DEBUG
 #log4j.logger.org.apache.cassandra.service.StorageProxy

svn commit: r1152233 [7/9] - in /cassandra/trunk: conf/ src/gen-java/ src/gen-java/org/ src/gen-java/org/apache/ src/gen-java/org/apache/cassandra/ src/gen-java/org/apache/cassandra/cli/ src/gen-java/

2011-07-29 Thread brandonwilliams
Propchange: cassandra/trunk/src/gen-java/org/apache/cassandra/cql/CqlLexer.java
--
svn:eol-style = native




svn commit: r1152233 [9/9] - in /cassandra/trunk: conf/ src/gen-java/ src/gen-java/org/ src/gen-java/org/apache/ src/gen-java/org/apache/cassandra/ src/gen-java/org/apache/cassandra/cli/ src/gen-java/

2011-07-29 Thread brandonwilliams
Propchange: cassandra/trunk/src/gen-java/org/apache/cassandra/cql/CqlParser.java
--
svn:eol-style = native

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/concurrent/JMXEnabledThreadPoolExecutor.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/concurrent/JMXEnabledThreadPoolExecutor.java?rev=1152233r1=1152232r2=1152233view=diff
==
--- 
cassandra/trunk/src/java/org/apache/cassandra/concurrent/JMXEnabledThreadPoolExecutor.java
 (original)
+++ 
cassandra/trunk/src/java/org/apache/cassandra/concurrent/JMXEnabledThreadPoolExecutor.java
 Fri Jul 29 14:21:06 2011
@@ -56,13 +56,24 @@ public class JMXEnabledThreadPoolExecuto
 }
 
 public JMXEnabledThreadPoolExecutor(int corePoolSize,
+long keepAliveTime,
+TimeUnit unit,
+BlockingQueueRunnable workQueue,
+NamedThreadFactory threadFactory,
+String jmxPath)
+{
+this(corePoolSize, corePoolSize, keepAliveTime, unit, workQueue, 
threadFactory, jmxPath);
+}
+
+public JMXEnabledThreadPoolExecutor(int corePoolSize,
+int maxPoolSize,
 long keepAliveTime,
 TimeUnit unit,
 BlockingQueueRunnable workQueue,
 NamedThreadFactory threadFactory,
 String jmxPath)
 {
-super(corePoolSize, keepAliveTime, unit, workQueue, threadFactory);
+super(corePoolSize, maxPoolSize, keepAliveTime, unit, workQueue, 
threadFactory);
 super.prestartAllCoreThreads();
 
 MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();

Modified: cassandra/trunk/src/java/org/apache/cassandra/config/Config.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/config/Config.java?rev=1152233r1=1152232r2=1152233view=diff
==
--- cassandra/trunk/src/java/org/apache/cassandra/config/Config.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/config/Config.java Fri Jul 29 
14:21:06 2011
@@ -67,6 +67,7 @@ public class Config
 
 public String rpc_address;
 public Integer rpc_port = 9160;
+public String rpc_server_type = sync;
 public Boolean rpc_keepalive = true;
 public Integer rpc_min_threads = 16;
 public Integer rpc_max_threads = Integer.MAX_VALUE;

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java?rev=1152233r1=1152232r2=1152233view=diff
==
--- 
cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java 
(original)
+++ 
cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java 
Fri Jul 29 14:21:06 2011
@@ -48,6 +48,7 @@ import org.apache.cassandra.io.util.Mmap
 import org.apache.cassandra.locator.*;
 import org.apache.cassandra.scheduler.IRequestScheduler;
 import org.apache.cassandra.scheduler.NoScheduler;
+import org.apache.cassandra.thrift.CassandraDaemon;
 import org.apache.cassandra.utils.FBUtilities;
 import org.apache.cassandra.utils.Pair;
 import org.yaml.snakeyaml.Loader;
@@ -369,6 +370,9 @@ public class DatabaseDescriptor
 if (conf.compaction_throughput_mb_per_sec == null)
 conf.compaction_throughput_mb_per_sec = 16;
 
+if 
(!CassandraDaemon.rpc_server_types.contains(conf.rpc_server_type.toLowerCase()))
+throw new ConfigurationException(Unknown rpc_server_type:  + 
conf.rpc_server_type);
+
 /* data file and commit log directories. they get created later, 
when they're needed. */
 if (conf.commitlog_directory != null  conf.data_file_directories 
!= null  conf.saved_caches_directory != null)
 {
@@ -899,6 +903,11 @@ public class DatabaseDescriptor
 {
 return rpcAddress;
 }
+
+public static String getRpcServerType()
+{
+return conf.rpc_server_type;
+}
 
 public static boolean getRpcKeepAlive()
 {

Added: 
cassandra/trunk/src/java/org/apache/cassandra/service/SocketSessionManagementService.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/service/SocketSessionManagementService.java?rev=1152233view=auto
==
--- 
cassandra/trunk/src/java/org/apache/cassandra/service/SocketSessionManagementService.java
 (added)
+++ 

svn commit: r1152234 - in /cassandra/trunk/src/gen-java/org/apache/cassandra: cli/Cli.tokens cli/CliLexer.java cli/CliParser.java cql/Cql.tokens cql/CqlLexer.java cql/CqlParser.java

2011-07-29 Thread brandonwilliams
Author: brandonwilliams
Date: Fri Jul 29 14:22:40 2011
New Revision: 1152234

URL: http://svn.apache.org/viewvc?rev=1152234view=rev
Log:
Remove accidentally committed gen-java crap

Removed:
cassandra/trunk/src/gen-java/org/apache/cassandra/cli/Cli.tokens
cassandra/trunk/src/gen-java/org/apache/cassandra/cli/CliLexer.java
cassandra/trunk/src/gen-java/org/apache/cassandra/cli/CliParser.java
cassandra/trunk/src/gen-java/org/apache/cassandra/cql/Cql.tokens
cassandra/trunk/src/gen-java/org/apache/cassandra/cql/CqlLexer.java
cassandra/trunk/src/gen-java/org/apache/cassandra/cql/CqlParser.java



svn commit: r1152238 - in /cassandra/branches/cassandra-0.8: conf/ src/java/org/apache/cassandra/concurrent/ src/java/org/apache/cassandra/config/ src/java/org/apache/cassandra/service/ src/java/org/a

2011-07-29 Thread brandonwilliams
Author: brandonwilliams
Date: Fri Jul 29 14:29:49 2011
New Revision: 1152238

URL: http://svn.apache.org/viewvc?rev=1152238view=rev
Log:
Add asynchronous and half-sync/half-async thrift servers.
Patch by Vijay Parthasarathy, reviewed by brandonwilliams for
CASSANDRA-1405

Added:

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/SocketSessionManagementService.java
   (with props)

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/CustomTHsHaServer.java
   (with props)

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/CustomTNonBlockingServer.java
   (with props)

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/TCustomNonblockingServerSocket.java
   (with props)
Modified:
cassandra/branches/cassandra-0.8/conf/cassandra.yaml
cassandra/branches/cassandra-0.8/conf/log4j-server.properties

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/concurrent/JMXEnabledThreadPoolExecutor.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/config/Config.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/config/DatabaseDescriptor.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/CassandraDaemon.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/CassandraServer.java

Modified: cassandra/branches/cassandra-0.8/conf/cassandra.yaml
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/conf/cassandra.yaml?rev=1152238r1=1152237r2=1152238view=diff
==
--- cassandra/branches/cassandra-0.8/conf/cassandra.yaml (original)
+++ cassandra/branches/cassandra-0.8/conf/cassandra.yaml Fri Jul 29 14:29:49 
2011
@@ -196,16 +196,35 @@ rpc_port: 9160
 # enable or disable keepalive on rpc connections
 rpc_keepalive: true
 
-# Cassandra uses thread-per-client for client RPC.  This can
-# be expensive in memory used for thread stack for a large
-# enough number of clients.  (Hence, connection pooling is
-# very, very strongly recommended.)
-# 
+# Cassandra provides you with a variety of options for RPC Server
+# sync  - Creates one thread per connection but with a configurable number of
+#   threads.  This can be expensive in memory used for thread stack for
+#   a large enough number of clients.  (Hence, connection pooling is
+#   very, very strongly recommended.)
+#
+# async - Nonblocking server implementation with one thread to serve 
+#   rpc connections.  This is not recommended for high throughput use
+#   cases.
+#
+# hsha  - half sync and half async implementation with configurable number
+#   of worker threads (For managing connections).  IO Management is
+#   done by a set of threads currently equal to the number of
+#   processors in the system. The number of threads in the threadpool
+#   is configured via rpc_min_threads and rpc_max_threads.  (Connection
+#   pooling is strongly recommended in this case too.) 
+
+rpc_server_type: sync
+
 # Uncomment rpc_min|max|thread to set request pool size.
-# You would primarily set max as a safeguard against misbehaved
-# clients; if you do hit the max, Cassandra will block until
-# one disconnects before accepting more.  The defaults are
-# min of 16 and max unlimited.
+# You would primarily set max for the sync server to safeguard against
+# misbehaved clients; if you do hit the max, Cassandra will block until one
+# disconnects before accepting more.  The defaults are min of 16 and max
+# unlimited.
+# 
+# For the Hsha server, you would set the max so that a fair amount of resources
+# are provided to the other working threads on the server.
+#
+# This configuration is not used for the async server.
 #
 # rpc_min_threads: 16
 # rpc_max_threads: 2048

Modified: cassandra/branches/cassandra-0.8/conf/log4j-server.properties
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/conf/log4j-server.properties?rev=1152238r1=1152237r2=1152238view=diff
==
--- cassandra/branches/cassandra-0.8/conf/log4j-server.properties (original)
+++ cassandra/branches/cassandra-0.8/conf/log4j-server.properties Fri Jul 29 
14:29:49 2011
@@ -39,3 +39,6 @@ log4j.appender.R.File=/var/log/cassandra
 #log4j.logger.org.apache.cassandra.db=DEBUG
 #log4j.logger.org.apache.cassandra.service.StorageProxy=DEBUG
 
+# Adding this to avoid thrift logging disconnect errors.
+log4j.logger.org.apache.thrift.server.TNonblockingServer=ERROR
+

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/concurrent/JMXEnabledThreadPoolExecutor.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/concurrent/JMXEnabledThreadPoolExecutor.java?rev=1152238r1=1152237r2=1152238view=diff

svn commit: r1152876 - /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java

2011-08-01 Thread brandonwilliams
Author: brandonwilliams
Date: Mon Aug  1 17:54:50 2011
New Revision: 1152876

URL: http://svn.apache.org/viewvc?rev=1152876view=rev
Log:
Don't sample the system table keys when choosing a bootstrap token.
Patch by brandonwilliams, reviewed by jbellis for CASSANDRA-2825

Modified:

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java?rev=1152876r1=1152875r2=1152876view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java
 Mon Aug  1 17:54:50 2011
@@ -1759,6 +1759,8 @@ public class StorageService implements I
 ListDecoratedKey keys = new ArrayListDecoratedKey();
 for (ColumnFamilyStore cfs : ColumnFamilyStore.all())
 {
+if (cfs.table.name.equals(Table.SYSTEM_TABLE))
+continue;
 for (DecoratedKey key : cfs.allKeySamples())
 {
 if (range.contains(key.token))
@@ -1767,9 +1769,19 @@ public class StorageService implements I
 }
 FBUtilities.sortSampledKeys(keys, range);
 
-Token token = keys.size()  3
-? partitioner.midpoint(range.left, range.right)
-: keys.get(keys.size() / 2).token;
+Token token;
+if (keys.size()  3)
+{
+token = partitioner.midpoint(range.left, range.right);
+logger_.debug(Used midpoint to assign token  + token);
+}
+else
+{
+token = keys.get(keys.size() / 2).token;
+logger_.debug(Used key sample of size  + keys.size() +  to 
assign token  + token);
+}
+if (tokenMetadata_.getEndpoint(token) != null  
tokenMetadata_.isMember(tokenMetadata_.getEndpoint(token)))
+throw new RuntimeException(Chose token  + token +  which is 
already in use by  + tokenMetadata_.getEndpoint(token) +  -- specify one 
manually with initial_token);
 // Hack to prevent giving nodes tokens with DELIMITER_STR in them 
(which is fine in a row key/token)
 if (token instanceof StringToken)
 {




svn commit: r1152967 - /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java

2011-08-01 Thread brandonwilliams
Author: brandonwilliams
Date: Mon Aug  1 23:19:22 2011
New Revision: 1152967

URL: http://svn.apache.org/viewvc?rev=1152967view=rev
Log:
Fix ordering of memtable thresholds in the cli, again.

Modified:

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java?rev=1152967r1=1152966r2=1152967view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java
 Mon Aug  1 23:19:22 2011
@@ -1715,7 +1715,7 @@ public class CliClient
 sessionState.out.printf(  Columns sorted by: %s%s%n, 
cf_def.comparator_type, cf_def.column_type.equals(Super) ? / + 
cf_def.subcomparator_type : );
 sessionState.out.printf(  Row cache size / save period in 
seconds: %s/%s%n, cf_def.row_cache_size, 
cf_def.row_cache_save_period_in_seconds);
 sessionState.out.printf(  Key cache size / save period in 
seconds: %s/%s%n, cf_def.key_cache_size, 
cf_def.key_cache_save_period_in_seconds);
-sessionState.out.printf(  Memtable thresholds: %s/%s/%s 
(millions of ops/MB/minutes)%n,
+sessionState.out.printf(  Memtable thresholds: %s/%s/%s 
(millions of ops/minutes/MB)%n,
 cf_def.memtable_operations_in_millions, 
cf_def.memtable_flush_after_mins, cf_def.memtable_throughput_in_mb);
 sessionState.out.printf(  GC grace seconds: %s%n, 
cf_def.gc_grace_seconds);
 sessionState.out.printf(  Compaction min/max thresholds: 
%s/%s%n, cf_def.min_compaction_threshold, cf_def.max_compaction_threshold);




svn commit: r1153678 - in /cassandra/trunk: src/java/org/apache/cassandra/net/ test/unit/org/apache/cassandra/db/ test/unit/org/apache/cassandra/net/ test/unit/org/apache/cassandra/service/ test/unit/

2011-08-03 Thread brandonwilliams
Author: brandonwilliams
Date: Wed Aug  3 21:40:34 2011
New Revision: 1153678

URL: http://svn.apache.org/viewvc?rev=1153678view=rev
Log:
Reduce copies on read/write paths.
Patch by jbellis reviewed by brandonwilliams for CASSANDRA-1788

Added:
cassandra/trunk/test/unit/org/apache/cassandra/net/
cassandra/trunk/test/unit/org/apache/cassandra/net/MessageSerializer.java   
(with props)
Modified:

cassandra/trunk/src/java/org/apache/cassandra/net/CompactEndpointSerializationHelper.java
cassandra/trunk/src/java/org/apache/cassandra/net/Header.java
cassandra/trunk/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
cassandra/trunk/src/java/org/apache/cassandra/net/Message.java
cassandra/trunk/src/java/org/apache/cassandra/net/MessagingService.java
cassandra/trunk/src/java/org/apache/cassandra/net/OutboundTcpConnection.java

cassandra/trunk/src/java/org/apache/cassandra/net/OutboundTcpConnectionPool.java
cassandra/trunk/test/unit/org/apache/cassandra/db/SerializationsTest.java

cassandra/trunk/test/unit/org/apache/cassandra/service/SerializationsTest.java

cassandra/trunk/test/unit/org/apache/cassandra/streaming/SerializationsTest.java

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/net/CompactEndpointSerializationHelper.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/net/CompactEndpointSerializationHelper.java?rev=1153678r1=1153677r2=1153678view=diff
==
--- 
cassandra/trunk/src/java/org/apache/cassandra/net/CompactEndpointSerializationHelper.java
 (original)
+++ 
cassandra/trunk/src/java/org/apache/cassandra/net/CompactEndpointSerializationHelper.java
 Wed Aug  3 21:40:34 2011
@@ -21,6 +21,8 @@ package org.apache.cassandra.net;
 import java.io.DataInputStream;
 import java.io.DataOutputStream;
 import java.io.IOException;
+import java.net.Inet4Address;
+import java.net.Inet6Address;
 import java.net.InetAddress;
 
 public class CompactEndpointSerializationHelper
@@ -38,4 +40,12 @@ public class CompactEndpointSerializatio
 dis.readFully(bytes, 0, bytes.length);
 return InetAddress.getByAddress(bytes);
 }
+
+public static int serializedSize(InetAddress from)
+{
+if (from instanceof Inet4Address)
+return 1 + 4;
+assert from instanceof Inet6Address;
+return 1 + 16;
+}
 }

Modified: cassandra/trunk/src/java/org/apache/cassandra/net/Header.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/net/Header.java?rev=1153678r1=1153677r2=1153678view=diff
==
--- cassandra/trunk/src/java/org/apache/cassandra/net/Header.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/net/Header.java Wed Aug  3 
21:40:34 2011
@@ -29,6 +29,7 @@ import java.util.concurrent.atomic.Atomi
 
 import org.apache.cassandra.io.ICompactSerializer;
 import org.apache.cassandra.service.StorageService;
+import org.apache.cassandra.utils.FBUtilities;
 
 public class Header
 {
@@ -88,6 +89,21 @@ public class Header
 {
 details_.remove(key);
 }
+
+public int serializedSize()
+{
+int size = 0;
+size += CompactEndpointSerializationHelper.serializedSize(getFrom());
+size += 4;
+size += 4;
+for (String key : details_.keySet())
+{
+size += 2 + FBUtilities.encodedUTF8Length(key);
+byte[] value = details_.get(key);
+size += 4 + value.length;
+}
+return size;
+}
 }
 
 class HeaderSerializer implements ICompactSerializerHeader
@@ -96,13 +112,8 @@ class HeaderSerializer implements ICompa
 {   
 CompactEndpointSerializationHelper.serialize(t.getFrom(), dos);
 dos.writeInt(t.getVerb().ordinal());
-
-/* Serialize the message header */
-int size = t.details_.size();
-dos.writeInt(size);
-SetString keys = t.details_.keySet();
-
-for( String key : keys )
+dos.writeInt(t.details_.size());
+for (String key : t.details_.keySet())
 {
 dos.writeUTF(key);
 byte[] value = t.details_.get(key);
@@ -115,8 +126,6 @@ class HeaderSerializer implements ICompa
 {
 InetAddress from = CompactEndpointSerializationHelper.deserialize(dis);
 int verbOrdinal = dis.readInt();
-
-/* Deserializing the message header */
 int size = dis.readInt();
 MapString, byte[] details = new HashtableString, byte[](size);
 for ( int i = 0; i  size; ++i )
@@ -127,7 +136,6 @@ class HeaderSerializer implements ICompa
 dis.readFully(bytes);
 details.put(key, bytes);
 }
-
 return new Header(from, StorageService.VERBS[verbOrdinal], details);
 }
 }

Modified: 
cassandra/trunk/src/java/org

svn commit: r1153683 - in /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra: gms/ApplicationState.java gms/VersionedValue.java service/StorageService.java thrift/CassandraServer.java

2011-08-03 Thread brandonwilliams
Author: brandonwilliams
Date: Wed Aug  3 21:44:53 2011
New Revision: 1153683

URL: http://svn.apache.org/viewvc?rev=1153683view=rev
Log:
describe_ring returns the interface thrift is bound to instead of the
one the storage proto is bound to.
Patch by brandonwilliams, reviewed by jbellis for CASSANDRA-1777

Modified:

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/ApplicationState.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/VersionedValue.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/CassandraServer.java

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/ApplicationState.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/ApplicationState.java?rev=1153683r1=1153682r2=1153683view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/ApplicationState.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/ApplicationState.java
 Wed Aug  3 21:44:53 2011
@@ -30,6 +30,7 @@ public enum ApplicationState
 RACK,
 RELEASE_VERSION,
 REMOVAL_COORDINATOR,
+RPC_ADDRESS,
 // pad to allow adding new states to existing cluster
 X1,
 X2,

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/VersionedValue.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/VersionedValue.java?rev=1153683r1=1153682r2=1153683view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/VersionedValue.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/VersionedValue.java
 Wed Aug  3 21:44:53 2011
@@ -21,6 +21,7 @@ package org.apache.cassandra.gms;
 import java.io.DataInputStream;
 import java.io.DataOutputStream;
 import java.io.IOException;
+import java.net.InetAddress;
 import java.util.UUID;
 
 import org.apache.cassandra.dht.IPartitioner;
@@ -157,6 +158,11 @@ public class VersionedValue implements C
 return new VersionedValue(rackId);
 }
 
+public VersionedValue rpcaddress(InetAddress endpoint)
+{
+return new VersionedValue(endpoint.toString());
+}
+
 public VersionedValue releaseVersion()
 {
 return new VersionedValue(FBUtilities.getReleaseVersionString());

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java?rev=1153683r1=1153682r2=1153683view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java
 Wed Aug  3 21:44:53 2011
@@ -451,6 +451,12 @@ public class StorageService implements I
 Gossiper.instance.register(migrationManager);
 Gossiper.instance.start(SystemTable.incrementAndGetGeneration()); // 
needed for node-ring gathering.
 
+// add rpc listening info
+if (DatabaseDescriptor.getRpcAddress() == null)
+
Gossiper.instance.addLocalApplicationState(ApplicationState.RPC_ADDRESS, 
valueFactory.rpcaddress(FBUtilities.getLocalAddress()));
+else
+
Gossiper.instance.addLocalApplicationState(ApplicationState.RPC_ADDRESS, 
valueFactory.rpcaddress(DatabaseDescriptor.getRpcAddress()));
+
 MessagingService.instance().listen(FBUtilities.getLocalAddress());
 StorageLoadBalancer.instance.startBroadcasting();
 MigrationManager.passiveAnnounce(DatabaseDescriptor.getDefsVersion());
@@ -595,6 +601,35 @@ public class StorageService implements I
 return map;
 }
 
+/**
+ * for a keyspace, return the ranges and corresponding RPC addresses for a 
given keyspace.
+ * @param keyspace
+ * @return
+ */
+public MapRange, ListString getRangeToRpcaddressMap(String keyspace)
+{
+// some people just want to get a visual representation of things. 
Allow null and set it to the first
+// non-system table.
+if (keyspace == null)
+keyspace = DatabaseDescriptor.getNonSystemTables().get(0);
+
+/* All the ranges for the tokens */
+MapRange, ListString map = new HashMapRange, ListString();
+for (Map.EntryRange,ListInetAddress entry : 
getRangeToAddressMap(keyspace).entrySet())
+{
+ListString rpcaddrs = new ArrayListString

svn commit: r1153686 - in /cassandra/trunk: ./ contrib/ interface/thrift/gen-java/org/apache/cassandra/thrift/ src/java/org/apache/cassandra/gms/ src/java/org/apache/cassandra/service/ src/java/org/ap

2011-08-03 Thread brandonwilliams
Author: brandonwilliams
Date: Wed Aug  3 22:06:14 2011
New Revision: 1153686

URL: http://svn.apache.org/viewvc?rev=1153686view=rev
Log:
Merge from 0.8

Modified:
cassandra/trunk/   (props changed)
cassandra/trunk/contrib/   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
   (props changed)
cassandra/trunk/src/java/org/apache/cassandra/gms/ApplicationState.java
cassandra/trunk/src/java/org/apache/cassandra/gms/VersionedValue.java
cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java

cassandra/trunk/src/java/org/apache/cassandra/service/StorageServiceMBean.java
cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraServer.java

Propchange: cassandra/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Aug  3 22:06:14 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1131291
 /cassandra/branches/cassandra-0.7:1026516-1151306
 /cassandra/branches/cassandra-0.7.0:1053690-1055654
-/cassandra/branches/cassandra-0.8:1090934-1125013,1125019-1153202
+/cassandra/branches/cassandra-0.8:1090934-1125013,1125019-1153202,1153683
 /cassandra/branches/cassandra-0.8.0:1125021-1130369
 /cassandra/branches/cassandra-0.8.1:1101014-1125018
 /cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689

Propchange: cassandra/trunk/contrib/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Aug  3 22:06:14 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/contrib:922689-1052356,1052358-1053452,1053454,1053456-1068009
 /cassandra/branches/cassandra-0.7/contrib:1026516-1151306
 /cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
-/cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125019-1153202
+/cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125019-1153202,1153683
 /cassandra/branches/cassandra-0.8.0/contrib:1125021-1130369
 /cassandra/branches/cassandra-0.8.1/contrib:1101014-1125018
 /cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Aug  3 22:06:14 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
 
/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1151306
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090934-1125013,1125019-1153202
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090934-1125013,1125019-1153202,1153683
 
/cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1125021-1130369
 
/cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1101014-1125018
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1051699-1053689

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Aug  3 22:06:14 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
 
/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1151306
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1090934-1125013,1125019-1153202
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1090934-1125013,1125019-1153202,1153683
 
/cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra

svn commit: r1153688 - in /cassandra/branches/cassandra-0.8/test: distributed/org/apache/cassandra/ resources/functions/

2011-08-03 Thread brandonwilliams
Author: brandonwilliams
Date: Wed Aug  3 22:10:32 2011
New Revision: 1153688

URL: http://svn.apache.org/viewvc?rev=1153688view=rev
Log:
Update distributed tests to work with whirr 0.4
Patch by Michael Allen, reviewed by brandonwilliams for CASSANDRA-2523

Added:
cassandra/branches/cassandra-0.8/test/resources/functions/

cassandra/branches/cassandra-0.8/test/resources/functions/configure_cassandra.sh
   (with props)

cassandra/branches/cassandra-0.8/test/resources/functions/install_cassandra.sh  
 (with props)

cassandra/branches/cassandra-0.8/test/resources/functions/nodetool_cassandra.sh 
  (with props)

cassandra/branches/cassandra-0.8/test/resources/functions/start_cassandra.sh   
(with props)
cassandra/branches/cassandra-0.8/test/resources/functions/stop_cassandra.sh 
  (with props)
cassandra/branches/cassandra-0.8/test/resources/functions/wipe_cassandra.sh 
  (with props)
Modified:

cassandra/branches/cassandra-0.8/test/distributed/org/apache/cassandra/CassandraServiceController.java

cassandra/branches/cassandra-0.8/test/distributed/org/apache/cassandra/MutationTest.java

cassandra/branches/cassandra-0.8/test/distributed/org/apache/cassandra/TestBase.java

Modified: 
cassandra/branches/cassandra-0.8/test/distributed/org/apache/cassandra/CassandraServiceController.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/test/distributed/org/apache/cassandra/CassandraServiceController.java?rev=1153688r1=1153687r2=1153688view=diff
==
--- 
cassandra/branches/cassandra-0.8/test/distributed/org/apache/cassandra/CassandraServiceController.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/test/distributed/org/apache/cassandra/CassandraServiceController.java
 Wed Aug  3 22:10:32 2011
@@ -39,21 +39,21 @@ import org.apache.thrift.transport.TTran
 import org.apache.whirr.service.*;
 import org.apache.whirr.service.Cluster.Instance;
 import org.apache.whirr.service.cassandra.CassandraClusterActionHandler;
-import org.apache.whirr.service.jclouds.RunUrlStatement;
+import org.apache.whirr.service.jclouds.StatementBuilder;
 
 import org.jclouds.blobstore.domain.BlobMetadata;
 import org.jclouds.compute.ComputeService;
 import org.jclouds.compute.domain.ExecResponse;
 import org.jclouds.compute.domain.NodeMetadata;
 import org.jclouds.compute.options.RunScriptOptions;
+import org.jclouds.compute.RunScriptOnNodesException;
 import org.jclouds.domain.Credentials;
 import org.jclouds.scriptbuilder.domain.OsFamily;
+import org.jclouds.scriptbuilder.domain.Statements;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import static org.jclouds.io.Payloads.newStringPayload;
-
 public class CassandraServiceController
 {
 private static final Logger LOG =
@@ -76,7 +76,6 @@ public class CassandraServiceController
 private Service service;
 private Cluster cluster;
 private ComputeService  computeService;
-private Credentials credentials;
 private CompositeConfiguration config;
 private BlobMetadatatarball;
 private ListInetAddress   hosts;
@@ -113,12 +112,12 @@ public class CassandraServiceController
 try
 {
 Cassandra.Client client = createClient(addr);
-
 client.describe_cluster_name();
 break;
 }
 catch (TException e)
 {
+LOG.debug(e.toString());
 try
 {
 Thread.sleep(1000);
@@ -168,14 +167,13 @@ public class CassandraServiceController
 for (Instance instance : cluster.getInstances())
 {
 hosts.add(instance.getPublicAddress());
-credentials = instance.getLoginCredentials();
 }
 
-waitForClusterInitialization();
-
 ShutdownHook shutdownHook = new ShutdownHook(this);
 Runtime.getRuntime().addShutdownHook(shutdownHook);
 
+waitForClusterInitialization();
+
 running = true;
 }
 
@@ -231,7 +229,7 @@ public class CassandraServiceController
  */
 public void nodetool(String args, InetAddress... hosts)
 {
-callOnHosts(String.format(apache/cassandra/nodetool %s, args), 
hosts);
+callOnHosts(Arrays.asList(hosts), nodetool_cassandra, args);
 }
 
 /**
@@ -239,25 +237,31 @@ public class CassandraServiceController
  */
 public void wipeHosts(InetAddress... hosts)
 {
-callOnHosts(apache/cassandra/wipe-state, hosts);
+callOnHosts(Arrays.asList(hosts), wipe_cassandra);
 }
 
 public Failure failHosts(ListInetAddress hosts)
 {
-return new Failure(hosts.toArray(new 
InetAddress[hosts.size()])).trigger();
+return new Failure(hosts).trigger();
 }
 
 public Failure failHosts(InetAddress... hosts)
 {
-return new Failure(hosts).trigger

svn commit: r1154006 - /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java

2011-08-04 Thread brandonwilliams
Author: brandonwilliams
Date: Thu Aug  4 20:50:25 2011
New Revision: 1154006

URL: http://svn.apache.org/viewvc?rev=1154006view=rev
Log:
Avoid possible race in gossip to unreachable endpoints

Modified:

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java?rev=1154006r1=1154005r2=1154006view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java
 Thu Aug  4 20:50:25 2011
@@ -443,6 +443,8 @@ public class Gossiper implements IFailur
 private boolean sendGossip(MessageProducer prod, SetInetAddress epSet)
 {
 int size = epSet.size();
+if (size  1)
+return false;
 /* Generate a random number from 0 - size */
 ListInetAddress liveEndpoints = new ArrayListInetAddress(epSet);
 int index = (size == 1) ? 0 : random.nextInt(size);




svn commit: r1155100 - in /cassandra/branches/cassandra-0.8: src/java/org/apache/cassandra/cli/ src/resources/org/apache/cassandra/cli/ test/unit/org/apache/cassandra/cli/

2011-08-08 Thread brandonwilliams
Author: brandonwilliams
Date: Mon Aug  8 21:08:04 2011
New Revision: 1155100

URL: http://svn.apache.org/viewvc?rev=1155100view=rev
Log:
Add 'show creates' commands to the cli to export schema.
Patch by Aaron Morton, reviewed by xedin for CASSANDRA-2221

Modified:
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/Cli.g

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliCompleter.java

cassandra/branches/cassandra-0.8/src/resources/org/apache/cassandra/cli/CliHelp.yaml

cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/cli/CliTest.java

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/Cli.g
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/Cli.g?rev=1155100r1=1155099r2=1155100view=diff
==
--- cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/Cli.g 
(original)
+++ cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/Cli.g 
Mon Aug  8 21:08:04 2011
@@ -44,6 +44,7 @@ tokens {
 NODE_SHOW_CLUSTER_NAME;
 NODE_SHOW_VERSION;
 NODE_SHOW_KEYSPACES;
+NODE_SHOW_SCHEMA;
 NODE_THRIFT_GET;
 NODE_THRIFT_GET_WITH_CONDITIONS;
 NODE_THRIFT_SET;
@@ -191,6 +192,8 @@ helpStatement
 - ^(NODE_HELP NODE_SHOW_CLUSTER_NAME)
 | HELP SHOW KEYSPACES 
 - ^(NODE_HELP NODE_SHOW_KEYSPACES)
+| HELP SHOW SCHEMA
+- ^(NODE_HELP NODE_SHOW_SCHEMA)
 | HELP SHOW API_VERSION
 - ^(NODE_HELP NODE_SHOW_VERSION)
 | HELP CREATE KEYSPACE 
@@ -284,6 +287,7 @@ showStatement
 : showClusterName
 | showVersion
 | showKeyspaces
+| showSchema
 ;
 
 listStatement
@@ -356,6 +360,11 @@ showKeyspaces
 - ^(NODE_SHOW_KEYSPACES)
 ;
 
+showSchema
+: SHOW SCHEMA (keyspace)?
+- ^(NODE_SHOW_SCHEMA (keyspace)?)
+;
+
 describeTable
 : DESCRIBE KEYSPACE (keyspace)?
 - ^(NODE_DESCRIBE_TABLE (keyspace)?)
@@ -573,6 +582,7 @@ TTL: 'TTL';
 CONSISTENCYLEVEL:   'CONSISTENCYLEVEL';
 INDEX:   'INDEX';
 ON:  'ON';
+SCHEMA:  'SCHEMA';
 
 IP_ADDRESS 
 : IntegerPositiveLiteral '.' IntegerPositiveLiteral '.' 
IntegerPositiveLiteral '.' IntegerPositiveLiteral

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java?rev=1155100r1=1155099r2=1155100view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java
 Mon Aug  8 21:08:04 2011
@@ -26,6 +26,9 @@ import java.nio.ByteBuffer;
 import java.nio.charset.CharacterCodingException;
 import java.util.*;
 
+import com.google.common.base.Predicate;
+import com.google.common.collect.Collections2;
+import org.apache.commons.lang.StringUtils;
 import com.google.common.base.Charsets;
 import com.google.common.base.Joiner;
 
@@ -71,7 +74,7 @@ public class CliClient
 COUNTERCOLUMN (CounterColumnType.instance);
 
 private AbstractType validator;
-
+
 Function(AbstractType validator)
 {
 this.validator = validator;  
@@ -136,6 +139,8 @@ public class CliClient
 }
 
 private static final String DEFAULT_PLACEMENT_STRATEGY = 
org.apache.cassandra.locator.NetworkTopologyStrategy;
+private final String NEWLINE = System.getProperty(line.separator);
+private final String TAB =   ;
 
 private Cassandra.Client thriftClient = null;
 private CliSessionState sessionState  = null;
@@ -241,6 +246,9 @@ public class CliClient
 case CliParser.NODE_SHOW_KEYSPACES:
 executeShowKeySpaces();
 break;
+case CliParser.NODE_SHOW_SCHEMA:
+executeShowSchema(tree);
+break;
 case CliParser.NODE_DESCRIBE_TABLE:
 executeDescribeKeySpace(tree);
 break;
@@ -1246,7 +1254,7 @@ public class CliClient
 cfDef.setReplicate_on_write(Boolean.parseBoolean(mValue));
 break;
 case ROW_CACHE_PROVIDER:
-cfDef.setRow_cache_provider(mValue);
+
cfDef.setRow_cache_provider(CliUtils.unescapeSQLString(mValue));
 break;
 case KEY_VALIDATION_CLASS:
 
cfDef.setKey_validation_class(CliUtils.unescapeSQLString(mValue));
@@ -1560,6 +1568,187 @@ public class CliClient
 }
 }
 
+// SHOW SCHEMA
+private void executeShowSchema(Tree statement) throws TException

svn commit: r1155147 - /cassandra/drivers/py/cql/marshal.py

2011-08-08 Thread brandonwilliams
Author: brandonwilliams
Date: Mon Aug  8 23:18:29 2011
New Revision: 1155147

URL: http://svn.apache.org/viewvc?rev=1155147view=rev
Log:
Allow escaping of colons in the python cql driver.
Patch by brandonwilliams, reviewed by Blake Visin for CASSANDRA-2898

Modified:
cassandra/drivers/py/cql/marshal.py

Modified: cassandra/drivers/py/cql/marshal.py
URL: 
http://svn.apache.org/viewvc/cassandra/drivers/py/cql/marshal.py?rev=1155147r1=1155146r2=1155147view=diff
==
--- cassandra/drivers/py/cql/marshal.py (original)
+++ cassandra/drivers/py/cql/marshal.py Mon Aug  8 23:18:29 2011
@@ -29,7 +29,7 @@ if hasattr(struct, 'Struct'): # new in P
 else:
 _have_struct = False
 
-_param_re = re.compile(r(?!strategy_options)(:[a-zA-Z_][a-zA-Z0-9_]*), re.M)
+_param_re = 
re.compile(r(?!strategy_options)(?!\\)(:[a-zA-Z_][a-zA-Z0-9_]*), re.M)
 
 BYTES_TYPE = org.apache.cassandra.db.marshal.BytesType
 ASCII_TYPE = org.apache.cassandra.db.marshal.AsciiType
@@ -48,7 +48,7 @@ def prepare(query, params):
 new, count = re.subn(_param_re, lambda m: marshal(params[m.group(1)[1:]]), 
query)
 if len(params)  count:
 raise cql.ProgrammingError(More keywords were provided than 
parameters)
-return new
+return new.replace(\:, :)
 
 def marshal(term):
 if isinstance(term, unicode):




svn commit: r1155157 - /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java

2011-08-08 Thread brandonwilliams
Author: brandonwilliams
Date: Mon Aug  8 23:41:44 2011
New Revision: 1155157

URL: http://svn.apache.org/viewvc?rev=1155157view=rev
Log:
Fix stringification for local address in getRangeToRpcaddressMap

Modified:

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java?rev=1155157r1=1155156r2=1155157view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java
 Mon Aug  8 23:41:44 2011
@@ -618,7 +618,7 @@ public class StorageService implements I
 for (InetAddress endpoint: entry.getValue())
 {
 if (endpoint.equals(FBUtilities.getLocalAddress()))
-
rpcaddrs.add(DatabaseDescriptor.getRpcAddress().toString());
+
rpcaddrs.add(DatabaseDescriptor.getRpcAddress().getHostAddress());
 else
 
rpcaddrs.add(Gossiper.instance.getEndpointStateForEndpoint(endpoint).getApplicationState(ApplicationState.RPC_ADDRESS).value);
 }




svn commit: r1156254 - in /cassandra/trunk/src/java/org/apache/cassandra: gms/Gossiper.java net/MessagingService.java net/OutboundTcpConnection.java service/StorageProxy.java service/StorageService.ja

2011-08-10 Thread brandonwilliams
Author: brandonwilliams
Date: Wed Aug 10 16:28:35 2011
New Revision: 1156254

URL: http://svn.apache.org/viewvc?rev=1156254view=rev
Log:
Use broadcastAddress instead of localAddress.
Patch by Vijay, reviewed by brandonwilliams for CASSANDRA-3000

Modified:
cassandra/trunk/src/java/org/apache/cassandra/gms/Gossiper.java
cassandra/trunk/src/java/org/apache/cassandra/net/MessagingService.java
cassandra/trunk/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
cassandra/trunk/src/java/org/apache/cassandra/service/StorageProxy.java
cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java

Modified: cassandra/trunk/src/java/org/apache/cassandra/gms/Gossiper.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/gms/Gossiper.java?rev=1156254r1=1156253r2=1156254view=diff
==
--- cassandra/trunk/src/java/org/apache/cassandra/gms/Gossiper.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/gms/Gossiper.java Wed Aug 10 
16:28:35 2011
@@ -983,7 +983,7 @@ public class Gossiper implements IFailur
 EndpointState epState = 
endpointStateMap.get(FBUtilities.getBroadcastAddress());
 assert epState != null;
 epState.addApplicationState(state, value);
-doNotifications(FBUtilities.getLocalAddress(), state, value);
+doNotifications(FBUtilities.getBroadcastAddress(), state, value);
 }
 
 public void stop()

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/net/MessagingService.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/net/MessagingService.java?rev=1156254r1=1156253r2=1156254view=diff
==
--- cassandra/trunk/src/java/org/apache/cassandra/net/MessagingService.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/net/MessagingService.java Wed 
Aug 10 16:28:35 2011
@@ -442,7 +442,7 @@ public final class MessagingService impl
 public void receive(Message message, String id)
 {
 if (logger_.isTraceEnabled())
-logger_.trace(FBUtilities.getLocalAddress() +  received  + 
message.getVerb()
+logger_.trace(FBUtilities.getBroadcastAddress() +  received  + 
message.getVerb()
   +  from  + id + @ + message.getFrom());
 
 message = SinkManager.processServerMessage(message, id);

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/net/OutboundTcpConnection.java?rev=1156254r1=1156253r2=1156254view=diff
==
--- 
cassandra/trunk/src/java/org/apache/cassandra/net/OutboundTcpConnection.java 
(original)
+++ 
cassandra/trunk/src/java/org/apache/cassandra/net/OutboundTcpConnection.java 
Wed Aug 10 16:28:35 2011
@@ -45,7 +45,7 @@ public class OutboundTcpConnection exten
 {
 private static final Logger logger = 
LoggerFactory.getLogger(OutboundTcpConnection.class);
 
-private static final Message CLOSE_SENTINEL = new 
Message(FBUtilities.getLocalAddress(),
+private static final Message CLOSE_SENTINEL = new 
Message(FBUtilities.getBroadcastAddress(),
   
StorageService.Verb.INTERNAL_RESPONSE,
   
ArrayUtils.EMPTY_BYTE_ARRAY,
   
MessagingService.version_);

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/service/StorageProxy.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/service/StorageProxy.java?rev=1156254r1=1156253r2=1156254view=diff
==
--- cassandra/trunk/src/java/org/apache/cassandra/service/StorageProxy.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/service/StorageProxy.java Wed 
Aug 10 16:28:35 2011
@@ -446,7 +446,7 @@ public class StorageProxy implements Sto
 responseHandler.response(null);
 
 // then send to replicas, if any
-hintedEndpoints.removeAll(FBUtilities.getLocalAddress());
+hintedEndpoints.removeAll(FBUtilities.getBroadcastAddress());
 if (cm.shouldReplicateOnWrite()  !hintedEndpoints.isEmpty())
 {
 // We do the replication on another stage because it 
involves a read (see CM.makeReplicationMutation)

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java?rev=1156254r1=1156253r2

svn commit: r1158940 - /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/VersionedValue.java

2011-08-17 Thread brandonwilliams
Author: brandonwilliams
Date: Wed Aug 17 22:17:51 2011
New Revision: 1158940

URL: http://svn.apache.org/viewvc?rev=1158940view=rev
Log:
Fix stringification of rpc address in gossip.

Modified:

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/VersionedValue.java

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/VersionedValue.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/VersionedValue.java?rev=1158940r1=1158939r2=1158940view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/VersionedValue.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/VersionedValue.java
 Wed Aug 17 22:17:51 2011
@@ -160,7 +160,7 @@ public class VersionedValue implements C
 
 public VersionedValue rpcaddress(InetAddress endpoint)
 {
-return new VersionedValue(endpoint.toString());
+return new VersionedValue(endpoint.getHostAddress());
 }
 
 public VersionedValue releaseVersion()




svn commit: r1160311 - /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java

2011-08-22 Thread brandonwilliams
Author: brandonwilliams
Date: Mon Aug 22 15:42:56 2011
New Revision: 1160311

URL: http://svn.apache.org/viewvc?rev=1160311view=rev
Log:
Handle snapshot arguments correctly.
Patch by Nate McCall, reviewed by brandonwilliams for CASSANDRA-3038

Modified:

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java?rev=1160311r1=1160310r2=1160311view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java
 Mon Aug 22 15:42:56 2011
@@ -739,11 +739,19 @@ public class NodeCmd
 
 private static void handleSnapshots(NodeCommand nc, String tag, String[] 
cmdArgs, NodeProbe probe) throws InterruptedException, IOException
 {
-int length = cmdArgs.length  1 ? cmdArgs.length - 1 : 0;
-String[] keyspaces = new String[length];
-for (int i = 0; i  keyspaces.length; i++)
-keyspaces[i] = cmdArgs[i + 1];
-
+String[] keyspaces = Arrays.copyOfRange(cmdArgs, 0, cmdArgs.length);
+System.out.print(Requested snapshot for: );
+if ( keyspaces.length  0 ) 
+{
+  for (int i = 0; i  keyspaces.length; i++) 
+  System.out.print(keyspaces[i] +  );
+} 
+else 
+{
+System.out.print(all keyspaces);
+}
+System.out.println();
+
 switch (nc)
 {
 case SNAPSHOT :




svn commit: r1160825 - /cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java

2011-08-23 Thread brandonwilliams
Author: brandonwilliams
Date: Tue Aug 23 18:00:34 2011
New Revision: 1160825

URL: http://svn.apache.org/viewvc?rev=1160825view=rev
Log:
Remove gossip state when a new IP takes over a token.
Patch by brandonwilliams, reviewed by jbellis for CASSANDRA-3071

Modified:

cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java

Modified: 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java?rev=1160825r1=1160824r2=1160825view=diff
==
--- 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java
 Tue Aug 23 18:00:34 2011
@@ -745,6 +745,7 @@ public class StorageService implements I
 logger_.info(String.format(Nodes %s and %s have the same token 
%s.  %s is the new owner,
endpoint, currentOwner, token, 
endpoint));
 tokenMetadata_.updateNormalToken(token, endpoint);
+Gossiper.instance.removeEndpoint(currentOwner);
 if (!isClientMode)
 SystemTable.updateToken(endpoint, token);
 }




svn commit: r1160827 - in /cassandra/branches/cassandra-0.8: ./ contrib/ interface/thrift/gen-java/org/apache/cassandra/thrift/ src/java/org/apache/cassandra/service/

2011-08-23 Thread brandonwilliams
Author: brandonwilliams
Date: Tue Aug 23 18:08:51 2011
New Revision: 1160827

URL: http://svn.apache.org/viewvc?rev=1160827view=rev
Log:
Merge from 0.7

Modified:
cassandra/branches/cassandra-0.8/   (props changed)
cassandra/branches/cassandra-0.8/contrib/   (props changed)

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
   (props changed)

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
   (props changed)

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
   (props changed)

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
   (props changed)

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
   (props changed)

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java

Propchange: cassandra/branches/cassandra-0.8/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug 23 18:08:51 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1131291
-/cassandra/branches/cassandra-0.7:1026516-1160444
+/cassandra/branches/cassandra-0.7:1026516-1160444,1160825
 /cassandra/branches/cassandra-0.7.0:1053690-1055654
 /cassandra/branches/cassandra-0.8:1090934-1125013,1125041
 /cassandra/branches/cassandra-0.8.0:1125021-1130369

Propchange: cassandra/branches/cassandra-0.8/contrib/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug 23 18:08:51 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/contrib:922689-1052356,1052358-1053452,1053454,1053456-1068009
-/cassandra/branches/cassandra-0.7/contrib:1026516-1160444
+/cassandra/branches/cassandra-0.7/contrib:1026516-1160444,1160825
 /cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
 /cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125041
 /cassandra/branches/cassandra-0.8.0/contrib:1125021-1130369

Propchange: 
cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug 23 18:08:51 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1160444
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1160444,1160825
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1053690-1055654
 
/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090934-1125013,1125041
 
/cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1125021-1130369

Propchange: 
cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug 23 18:08:51 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1160444
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1160444,1160825
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1053690-1055654
 
/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1090934-1125013,1125041
 
/cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1125021-1130369

Propchange: 
cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug 23 18:08:51 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1026516-1160444
+/cassandra/branches/cassandra-0.7

svn commit: r1160828 - in /cassandra/trunk: ./ contrib/ interface/thrift/gen-java/org/apache/cassandra/thrift/ src/java/org/apache/cassandra/service/

2011-08-23 Thread brandonwilliams
Author: brandonwilliams
Date: Tue Aug 23 18:10:28 2011
New Revision: 1160828

URL: http://svn.apache.org/viewvc?rev=1160828view=rev
Log:
Merge from 0.8

Modified:
cassandra/trunk/   (props changed)
cassandra/trunk/contrib/   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
   (props changed)
cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java

Propchange: cassandra/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug 23 18:10:28 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1131291
-/cassandra/branches/cassandra-0.7:1026516-1160444
+/cassandra/branches/cassandra-0.7:1026516-1160444,1160825
 /cassandra/branches/cassandra-0.7.0:1053690-1055654
-/cassandra/branches/cassandra-0.8:1090934-1125013,1125019-1160459
+/cassandra/branches/cassandra-0.8:1090934-1125013,1125019-1160459,1160827
 /cassandra/branches/cassandra-0.8.0:1125021-1130369
 /cassandra/branches/cassandra-0.8.1:1101014-1125018
 /cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689

Propchange: cassandra/trunk/contrib/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug 23 18:10:28 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/contrib:922689-1052356,1052358-1053452,1053454,1053456-1068009
-/cassandra/branches/cassandra-0.7/contrib:1026516-1160444
+/cassandra/branches/cassandra-0.7/contrib:1026516-1160444,1160825
 /cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
-/cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125019-1160459
+/cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125019-1160459,1160827
 /cassandra/branches/cassandra-0.8.0/contrib:1125021-1130369
 /cassandra/branches/cassandra-0.8.1/contrib:1101014-1125018
 /cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug 23 18:10:28 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1160444
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1160444,1160825
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090934-1125013,1125019-1160459
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090934-1125013,1125019-1160459,1160827
 
/cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1125021-1130369
 
/cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1101014-1125018
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1051699-1053689

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug 23 18:10:28 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1160444
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1160444,1160825
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1090934-1125013,1125019-1160459
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1090934-1125013,1125019-1160459,1160827
 
/cassandra

svn commit: r1160855 - in /cassandra/branches: cassandra-0.7/CHANGES.txt cassandra-0.8/CHANGES.txt

2011-08-23 Thread brandonwilliams
Author: brandonwilliams
Date: Tue Aug 23 19:10:22 2011
New Revision: 1160855

URL: http://svn.apache.org/viewvc?rev=1160855view=rev
Log:
Update CHANGES

Modified:
cassandra/branches/cassandra-0.7/CHANGES.txt
cassandra/branches/cassandra-0.8/CHANGES.txt

Modified: cassandra/branches/cassandra-0.7/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/CHANGES.txt?rev=1160855r1=1160854r2=1160855view=diff
==
--- cassandra/branches/cassandra-0.7/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.7/CHANGES.txt Tue Aug 23 19:10:22 2011
@@ -7,6 +7,7 @@
 has not (CASSANDRA-2388)
  * avoid retaining references to dropped CFS objects in 
CompactionManager.estimatedCompactions (CASSANDRA-2708)
+ * remove gossip state when a new IP takes over a token (CASSANDRA-3071)
 
 
 0.7.8

Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1160855r1=1160854r2=1160855view=diff
==
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Tue Aug 23 19:10:22 2011
@@ -29,6 +29,7 @@
CompactionManager.estimatedCompactions (CASSANDRA-2708)
  * expose rpc timeouts per host in MessagingServiceMBean (CASSANDRA-2941)
  * avoid including cwd in classpath for deb and rpm packages (CASSANDRA-2881)
+ * remove gossip state when a new IP takes over a token (CASSANDRA-3071)
 
 
 0.8.4




svn commit: r1160879 - in /cassandra/branches/cassandra-0.7: CHANGES.txt src/java/org/apache/cassandra/service/GCInspector.java

2011-08-23 Thread brandonwilliams
Author: brandonwilliams
Date: Tue Aug 23 20:05:38 2011
New Revision: 1160879

URL: http://svn.apache.org/viewvc?rev=1160879view=rev
Log:
work around native memory leak in com.sun.management.GarbageCollectorMXBean
patch by brandonwilliams and jbellis for CASSANDRA-2868

Modified:
cassandra/branches/cassandra-0.7/CHANGES.txt

cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/GCInspector.java

Modified: cassandra/branches/cassandra-0.7/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/CHANGES.txt?rev=1160879r1=1160878r2=1160879view=diff
==
--- cassandra/branches/cassandra-0.7/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.7/CHANGES.txt Tue Aug 23 20:05:38 2011
@@ -8,6 +8,8 @@
  * avoid retaining references to dropped CFS objects in 
CompactionManager.estimatedCompactions (CASSANDRA-2708)
  * remove gossip state when a new IP takes over a token (CASSANDRA-3071)
+ * work around native memory leak in com.sun.management.GarbageCollectorMXBean
+(CASSANDRA-2868)
 
 
 0.7.8

Modified: 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/GCInspector.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/GCInspector.java?rev=1160879r1=1160878r2=1160879view=diff
==
--- 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/GCInspector.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/GCInspector.java
 Tue Aug 23 20:05:38 2011
@@ -20,11 +20,13 @@ package org.apache.cassandra.service;
  * 
  */
 
+import java.lang.management.GarbageCollectorMXBean;
 import java.lang.management.ManagementFactory;
+import java.lang.management.MemoryMXBean;
 import java.lang.management.MemoryUsage;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
 import java.util.concurrent.TimeUnit;
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
@@ -45,32 +47,22 @@ public class GCInspector
 public static final GCInspector instance = new GCInspector();
 
 private HashMapString, Long gctimes = new HashMapString, Long();
+private HashMapString, Long gccounts = new HashMapString, Long();
+
+ListGarbageCollectorMXBean beans = new 
ArrayListGarbageCollectorMXBean();
+MemoryMXBean membean = ManagementFactory.getMemoryMXBean();
 
-ListObject beans = new ArrayListObject(); // these are instances of 
com.sun.management.GarbageCollectorMXBean
 private volatile boolean cacheSizesReduced;
 
 public GCInspector()
 {
-// we only want this class to do its thing on sun jdks, or when the 
sun classes are present.
-Class gcBeanClass = null;
-try
-{
-gcBeanClass = 
Class.forName(com.sun.management.GarbageCollectorMXBean);
-Class.forName(com.sun.management.GcInfo);
-}
-catch (ClassNotFoundException ex)
-{
-// this happens when using a non-sun jdk.
-logger.warn(Cannot load sun GC monitoring classes. GCInspector is 
disabled.);
-}
-
 MBeanServer server = ManagementFactory.getPlatformMBeanServer();
 try
 {
 ObjectName gcName = new 
ObjectName(ManagementFactory.GARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPE + ,*);
 for (ObjectName name : server.queryNames(gcName, null))
 {
-Object gc = ManagementFactory.newPlatformMXBeanProxy(server, 
name.getCanonicalName(), gcBeanClass);
+GarbageCollectorMXBean gc = 
ManagementFactory.newPlatformMXBeanProxy(server, name.getCanonicalName(), 
GarbageCollectorMXBean.class);
 beans.add(gc);
 }
 }
@@ -97,43 +89,42 @@ public class GCInspector
 
 private void logGCResults()
 {
-for (Object gc : beans)
+for (GarbageCollectorMXBean gc : beans)
 {
-SunGcWrapper gcw = new SunGcWrapper(gc);
-if (gcw.isLastGcInfoNull())
+Long previousTotal = gctimes.get(gc.getName());
+Long total = gc.getCollectionTime();
+if (previousTotal == null)
+previousTotal = 0L;
+if (previousTotal.equals(total))
 continue;
-
-Long previous = gctimes.get(gcw.getName());
-if (previous != null  previous.longValue() == 
gcw.getCollectionTime().longValue())
-continue;
-gctimes.put(gcw.getName(), gcw.getCollectionTime());
-
-long previousMemoryUsed = 0;
-long memoryUsed = 0;
-long memoryMax = 0;
-for (Map.EntryString, MemoryUsage entry

svn commit: r1161167 - /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/GCInspector.java

2011-08-24 Thread brandonwilliams
Author: brandonwilliams
Date: Wed Aug 24 15:46:05 2011
New Revision: 1161167

URL: http://svn.apache.org/viewvc?rev=1161167view=rev
Log:
Remove assertion causing test failures because GarbageCollectorMXBean sucks

Modified:

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/GCInspector.java

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/GCInspector.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/GCInspector.java?rev=1161167r1=1161166r2=1161167view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/GCInspector.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/GCInspector.java
 Wed Aug 24 15:46:05 2011
@@ -106,7 +106,6 @@ public class GCInspector
 if (previousCount == null)
 previousCount = 0L;
 gccounts.put(gc.getName(), count);
-assert count  previousCount;
 
 MemoryUsage mu = membean.getHeapMemoryUsage();
 long memoryUsed = mu.getUsed();




svn commit: r1163772 - in /cassandra/trunk/src/java/org/apache/cassandra/service: StorageService.java StorageServiceMBean.java

2011-08-31 Thread brandonwilliams
Author: brandonwilliams
Date: Wed Aug 31 19:57:17 2011
New Revision: 1163772

URL: http://svn.apache.org/viewvc?rev=1163772view=rev
Log:
Restore getRangeToEndpointMap.
Patch by Nick Bailey, reviewed by brandonwilliams for CASSANDRA-3106

Modified:
cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java

cassandra/trunk/src/java/org/apache/cassandra/service/StorageServiceMBean.java

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java?rev=1163772r1=1163771r2=1163772view=diff
==
--- cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java 
Wed Aug 31 19:57:17 2011
@@ -161,7 +161,7 @@ public class StorageService implements I
 
 private IPartitioner partitioner = DatabaseDescriptor.getPartitioner();
 public VersionedValue.VersionedValueFactory valueFactory = new 
VersionedValue.VersionedValueFactory(partitioner);
-
+
 public static final StorageService instance = new StorageService();
 
 public static IPartitioner getPartitioner()
@@ -249,7 +249,7 @@ public class StorageService implements I
 
MessagingService.instance().registerVerbHandlers(Verb.GOSSIP_DIGEST_SYN, new 
GossipDigestSynVerbHandler());
 
MessagingService.instance().registerVerbHandlers(Verb.GOSSIP_DIGEST_ACK, new 
GossipDigestAckVerbHandler());
 
MessagingService.instance().registerVerbHandlers(Verb.GOSSIP_DIGEST_ACK2, new 
GossipDigestAck2VerbHandler());
-
+
 
MessagingService.instance().registerVerbHandlers(Verb.DEFINITIONS_UPDATE, new 
DefinitionsUpdateVerbHandler());
 MessagingService.instance().registerVerbHandlers(Verb.TRUNCATE, new 
TruncateVerbHandler());
 MessagingService.instance().registerVerbHandlers(Verb.SCHEMA_CHECK, 
new SchemaCheckVerbHandler());
@@ -325,10 +325,10 @@ public class StorageService implements I
 try { Thread.sleep(1000L); } catch (InterruptedException e) {}
 StageManager.shutdownNow();
 }
-
-public boolean isInitialized() 
-{ 
-return initialized; 
+
+public boolean isInitialized()
+{
+return initialized;
 }
 
 public synchronized void initClient() throws IOException, 
ConfigurationException
@@ -351,7 +351,7 @@ public class StorageService implements I
 Gossiper.instance.register(this);
 Gossiper.instance.start((int)(System.currentTimeMillis() / 1000)); // 
needed for node-ring gathering.
 MessagingService.instance().listen(FBUtilities.getLocalAddress());
-
+
 // sleep a while to allow gossip to warm up (the other nodes need to 
know about this one before they can reply).
 try
 {
@@ -597,6 +597,27 @@ public class StorageService implements I
 }
 
 /**
+ * for a keyspace, return the ranges and corresponding listen addresses.
+ * @param keyspace
+ * @return
+ */
+public MapRange, ListString getRangeToEndpointMap(String keyspace)
+{
+// some people just want to get a visual representation of things. 
Allow null and set it to the first
+// non-system table.
+if (keyspace == null)
+keyspace = Schema.instance.getNonSystemTables().get(0);
+
+/* All the ranges for the tokens */
+MapRange, ListString map = new HashMapRange, ListString();
+for (Map.EntryRange,ListInetAddress entry : 
getRangeToAddressMap(keyspace).entrySet())
+{
+map.put(entry.getKey(), stringify(entry.getValue()));
+}
+return map;
+}
+
+/**
  * for a keyspace, return the ranges and corresponding RPC addresses for a 
given keyspace.
  * @param keyspace
  * @return
@@ -686,7 +707,7 @@ public class StorageService implements I
  * the token associated with an endpoint, and knowing its operation mode. 
Nodes can start in either bootstrap or
  * normal mode, and from bootstrap mode can change mode to normal. A node 
in bootstrap mode needs to have
  * pendingranges set in TokenMetadata; a node in normal mode should 
instead be part of the token ring.
- * 
+ *
  * Normal progression of ApplicationState.STATUS values for a node should 
be like this:
  * STATUS_BOOTSTRAPPING,token
  *   if bootstrapping. stays this way until all files are received.
@@ -1091,7 +1112,7 @@ public class StorageService implements I
  * @param ranges the ranges to find sources for
  * @return multimap of addresses to ranges the address is responsible for
  */
-private MultimapInetAddress, Range getNewSourceRanges(String table, 
SetRange ranges) 
+private MultimapInetAddress, Range getNewSourceRanges(String table, 
SetRange ranges)
 {
 InetAddress

svn commit: r1164216 - /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/utils/BloomFilter.java

2011-09-01 Thread brandonwilliams
Author: brandonwilliams
Date: Thu Sep  1 19:13:58 2011
New Revision: 1164216

URL: http://svn.apache.org/viewvc?rev=1164216view=rev
Log:
Add trace check before logging

Modified:

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/utils/BloomFilter.java

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/utils/BloomFilter.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/utils/BloomFilter.java?rev=1164216r1=1164215r2=1164216view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/utils/BloomFilter.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/utils/BloomFilter.java
 Thu Sep  1 19:13:58 2011
@@ -70,7 +70,8 @@ public class BloomFilter extends Filter
   numElements, bucketsPerElement, 
targetBucketsPerElem));
 }
 BloomCalculations.BloomSpecification spec = 
BloomCalculations.computeBloomSpec(bucketsPerElement);
-logger.trace(Creating bloom filter for {} elements and spec {}, 
numElements, spec);
+if (logger.isTraceEnabled())
+logger.trace(Creating bloom filter for {} elements and spec {}, 
numElements, spec);
 return new BloomFilter(spec.K, bucketsFor(numElements, 
spec.bucketsPerElement));
 }
 




svn commit: r1164237 - /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java

2011-09-01 Thread brandonwilliams
Author: brandonwilliams
Date: Thu Sep  1 19:51:48 2011
New Revision: 1164237

URL: http://svn.apache.org/viewvc?rev=1164237view=rev
Log:
Weaken inflexible inserts for future additions

Modified:

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java?rev=1164237r1=1164236r2=1164237view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java
 Thu Sep  1 19:51:48 2011
@@ -771,7 +771,7 @@ public class StorageService implements I
  */
 private void handleStateBootstrap(InetAddress endpoint, String[] pieces)
 {
-assert pieces.length == 2;
+assert pieces.length = 2;
 Token token = getPartitioner().getTokenFactory().fromString(pieces[1]);
 
 if (logger_.isDebugEnabled())
@@ -858,7 +858,7 @@ public class StorageService implements I
  */
 private void handleStateLeaving(InetAddress endpoint, String[] pieces)
 {
-assert pieces.length == 2;
+assert pieces.length = 2;
 String moveValue = pieces[1];
 Token token = getPartitioner().getTokenFactory().fromString(moveValue);
 
@@ -893,7 +893,7 @@ public class StorageService implements I
  */
 private void handleStateLeft(InetAddress endpoint, String[] pieces)
 {
-assert pieces.length == 2;
+assert pieces.length = 2;
 Token token = getPartitioner().getTokenFactory().fromString(pieces[1]);
 
 if (logger_.isDebugEnabled())
@@ -910,7 +910,7 @@ public class StorageService implements I
  */
 private void handleStateMoving(InetAddress endpoint, String[] pieces)
 {
-assert pieces.length == 2;
+assert pieces.length = 2;
 Token token = getPartitioner().getTokenFactory().fromString(pieces[1]);
 
 if (logger_.isDebugEnabled())




svn commit: r1166809 - /cassandra/branches/cassandra-0.8/contrib/pig/bin/pig_cassandra

2011-09-08 Thread brandonwilliams
Author: brandonwilliams
Date: Thu Sep  8 17:11:26 2011
New Revision: 1166809

URL: http://svn.apache.org/viewvc?rev=1166809view=rev
Log:
Fix interpolation of PIG_OPTS.
Patch by Eldon Stegall, reviewed by brandonwilliams for CASSANDRA-3160

Modified:
cassandra/branches/cassandra-0.8/contrib/pig/bin/pig_cassandra

Modified: cassandra/branches/cassandra-0.8/contrib/pig/bin/pig_cassandra
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/contrib/pig/bin/pig_cassandra?rev=1166809r1=1166808r2=1166809view=diff
==
--- cassandra/branches/cassandra-0.8/contrib/pig/bin/pig_cassandra (original)
+++ cassandra/branches/cassandra-0.8/contrib/pig/bin/pig_cassandra Thu Sep  8 
17:11:26 2011
@@ -46,5 +46,5 @@ fi
 CLASSPATH=$CLASSPATH:$PIG_JAR
 
 export PIG_CLASSPATH=$PIG_CLASSPATH:$CLASSPATH
-export PIG_OPTS=$PIG_OPTS -Dudf.import.list=org.apache.cassandra.hadoop.pig
+export PIG_OPTS=$PIG_OPTS -Dudf.import.list=org.apache.cassandra.hadoop.pig
 cat $cwd/../build/bootstrap.pig - | $PIG_HOME/bin/pig $*




svn commit: r1166816 - in /cassandra/trunk: ./ contrib/ contrib/pig/bin/ interface/thrift/gen-java/org/apache/cassandra/thrift/

2011-09-08 Thread brandonwilliams
Author: brandonwilliams
Date: Thu Sep  8 17:26:53 2011
New Revision: 1166816

URL: http://svn.apache.org/viewvc?rev=1166816view=rev
Log:
Merge 3160 from 0.8

Modified:
cassandra/trunk/   (props changed)
cassandra/trunk/contrib/   (props changed)
cassandra/trunk/contrib/pig/bin/pig_cassandra

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
   (props changed)

Propchange: cassandra/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Sep  8 17:26:53 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1131291
 /cassandra/branches/cassandra-0.7:1026516-1163782
 /cassandra/branches/cassandra-0.7.0:1053690-1055654
-/cassandra/branches/cassandra-0.8:1090934-1125013,1125019-1166782
+/cassandra/branches/cassandra-0.8:1090934-1125013,1125019-1166782,1166809
 /cassandra/branches/cassandra-0.8.0:1125021-1130369
 /cassandra/branches/cassandra-0.8.1:1101014-1125018
 /cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689

Propchange: cassandra/trunk/contrib/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Sep  8 17:26:53 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/contrib:922689-1052356,1052358-1053452,1053454,1053456-1068009
 /cassandra/branches/cassandra-0.7/contrib:1026516-1163782
 /cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
-/cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125019-1166782
+/cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125019-1166782,1166809
 /cassandra/branches/cassandra-0.8.0/contrib:1125021-1130369
 /cassandra/branches/cassandra-0.8.1/contrib:1101014-1125018
 /cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689

Modified: cassandra/trunk/contrib/pig/bin/pig_cassandra
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/contrib/pig/bin/pig_cassandra?rev=1166816r1=1166815r2=1166816view=diff
==
--- cassandra/trunk/contrib/pig/bin/pig_cassandra (original)
+++ cassandra/trunk/contrib/pig/bin/pig_cassandra Thu Sep  8 17:26:53 2011
@@ -46,5 +46,5 @@ fi
 CLASSPATH=$CLASSPATH:$PIG_JAR
 
 export PIG_CLASSPATH=$PIG_CLASSPATH:$CLASSPATH
-export PIG_OPTS=$PIG_OPTS -Dudf.import.list=org.apache.cassandra.hadoop.pig
+export PIG_OPTS=$PIG_OPTS -Dudf.import.list=org.apache.cassandra.hadoop.pig
 cat $cwd/../build/bootstrap.pig - | $PIG_HOME/bin/pig $*

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Sep  8 17:26:53 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
 
/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1163782
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090934-1125013,1125019-1166782
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090934-1125013,1125019-1166782,1166809
 
/cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1125021-1130369
 
/cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1101014-1125018
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1051699-1053689

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Sep  8 17:26:53 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
 
/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1163782
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java

svn commit: r1169823 - in /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra: gms/Gossiper.java net/IncomingTcpConnection.java net/OutboundTcpConnection.java

2011-09-12 Thread brandonwilliams
Author: brandonwilliams
Date: Mon Sep 12 16:42:36 2011
New Revision: 1169823

URL: http://svn.apache.org/viewvc?rev=1169823view=rev
Log:
Make IncomingTcpConnection responsible for version handling.
Patch by Marcus Erikkson, reviewed by Peter Schuller and brandonwilliams
for CASSANDRA-3166

Modified:

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/IncomingTcpConnection.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/OutboundTcpConnection.java

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java?rev=1169823r1=1169822r2=1169823view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java
 Mon Sep 12 16:42:36 2011
@@ -194,11 +194,13 @@ public class Gossiper implements IFailur
 
 public void setVersion(InetAddress address, int version)
 {
+logger.debug(Setting version {} for {}, version, address);
 versions.put(address, version);
 }
 
 public void resetVersion(InetAddress endpoint)
 {
+logger.debug(Reseting version for {}, endpoint);
 versions.remove(endpoint);
 }
 

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/IncomingTcpConnection.java?rev=1169823r1=1169822r2=1169823view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
 Mon Sep 12 16:42:36 2011
@@ -158,6 +158,8 @@ public class IncomingTcpConnection exten
 
 private void close()
 {
+// reset version here, since we set when starting an incoming socket
+Gossiper.instance.resetVersion(socket.getInetAddress());
 try
 {
 socket.close();

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/OutboundTcpConnection.java?rev=1169823r1=1169822r2=1169823view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
 Mon Sep 12 16:42:36 2011
@@ -139,9 +139,6 @@ public class OutboundTcpConnection exten
 output = null;
 socket = null;
 }
-
-// when we see the node again, try to connect at the most recent 
protocol we know about
-Gossiper.instance.resetVersion(endpoint);
 }
 
 private ByteBuffer take()




svn commit: r1169827 - in /cassandra/branches/cassandra-1.0.0: ./ contrib/ interface/thrift/gen-java/org/apache/cassandra/thrift/ src/java/org/apache/cassandra/gms/ src/java/org/apache/cassandra/net/

2011-09-12 Thread brandonwilliams
Author: brandonwilliams
Date: Mon Sep 12 16:48:49 2011
New Revision: 1169827

URL: http://svn.apache.org/viewvc?rev=1169827view=rev
Log:
Merge #3166

Modified:
cassandra/branches/cassandra-1.0.0/   (props changed)
cassandra/branches/cassandra-1.0.0/contrib/   (props changed)

cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
   (props changed)

cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
   (props changed)

cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
   (props changed)

cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
   (props changed)

cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
   (props changed)

cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/gms/Gossiper.java

cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/net/IncomingTcpConnection.java

cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/net/OutboundTcpConnection.java

Propchange: cassandra/branches/cassandra-1.0.0/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Sep 12 16:48:49 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1131291
 /cassandra/branches/cassandra-0.7:1026516-1163782
 /cassandra/branches/cassandra-0.7.0:1053690-1055654
-/cassandra/branches/cassandra-0.8:1090934-1125013,1125019-1166782,1166809
+/cassandra/branches/cassandra-0.8:1090934-1125013,1125019-1166782,1166809,1169823
 /cassandra/branches/cassandra-0.8.0:1125021-1130369
 /cassandra/branches/cassandra-0.8.1:1101014-1125018
 /cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689

Propchange: cassandra/branches/cassandra-1.0.0/contrib/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Sep 12 16:48:49 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/contrib:922689-1052356,1052358-1053452,1053454,1053456-1068009
 /cassandra/branches/cassandra-0.7/contrib:1026516-1163782
 /cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
-/cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125019-1166782,1166809
+/cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125019-1166782,1166809,1169823
 /cassandra/branches/cassandra-0.8.0/contrib:1125021-1130369
 /cassandra/branches/cassandra-0.8.1/contrib:1101014-1125018
 /cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689

Propchange: 
cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Sep 12 16:48:49 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
 
/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1163782
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090934-1125013,1125019-1166782,1166809
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090934-1125013,1125019-1166782,1166809,1169823
 
/cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1125021-1130369
 
/cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1101014-1125018
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1051699-1053689

Propchange: 
cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Sep 12 16:48:49 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
 
/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1163782
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1090934-1125013,1125019-1166782,1166809
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java

svn commit: r1170284 [1/3] - in /cassandra/branches/cassandra-0.8: ./ interface/ interface/thrift/gen-java/org/apache/cassandra/thrift/ src/java/org/apache/cassandra/service/ src/java/org/apache/cassa

2011-09-13 Thread brandonwilliams
Author: brandonwilliams
Date: Tue Sep 13 18:22:45 2011
New Revision: 1170284

URL: http://svn.apache.org/viewvc?rev=1170284view=rev
Log:
Return both listen_address and rpc_address through describe_ring.
Patch by Nick Bailey, reviewed by brandonwilliams for CASSANDRA-3187

Modified:
cassandra/branches/cassandra-0.8/NEWS.txt
cassandra/branches/cassandra-0.8/interface/cassandra.thrift

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/AuthenticationException.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/AuthenticationRequest.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/AuthorizationException.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/ColumnDef.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/ColumnOrSuperColumn.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/ColumnParent.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/ColumnPath.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/CounterColumn.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/CounterSuperColumn.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/CqlResult.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/CqlRow.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Deletion.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/IndexClause.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/IndexExpression.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/KeyCount.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/KeyRange.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/KeySlice.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/KsDef.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Mutation.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/SchemaDisagreementException.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/SlicePredicate.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/SliceRange.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/TimedOutException.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/TokenRange.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/UnavailableException.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/CassandraServer.java

Modified: cassandra/branches/cassandra-0.8/NEWS.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/NEWS.txt?rev=1170284r1=1170283r2=1170284view=diff
==
--- cassandra/branches/cassandra-0.8/NEWS.txt (original)
+++ cassandra/branches/cassandra-0.8/NEWS.txt Tue Sep 13 18:22:45 2011
@@ -1,3 +1,10 @@
+0.8.6
+=
+
+Features
+
+- describe_ring now returns both the listen_address and rpc_address
+
 0.8.5
 =
 

Modified: cassandra/branches/cassandra-0.8/interface/cassandra.thrift
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/interface/cassandra.thrift?rev=1170284r1=1170283r2=1170284view=diff
==
--- cassandra/branches/cassandra-0.8/interface/cassandra.thrift (original)
+++ cassandra/branches/cassandra-0.8/interface/cassandra.thrift Tue Sep 13 
18:22:45 2011

svn commit: r1172024 - /cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeCmd.java

2011-09-17 Thread brandonwilliams
Author: brandonwilliams
Date: Sat Sep 17 17:40:01 2011
New Revision: 1172024

URL: http://svn.apache.org/viewvc?rev=1172024view=rev
Log:
Fix cfhistograms read/write latency transposition.
Patch by brandonwilliams, reviewed by jbellis for CASSANDRA-3222

Modified:

cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeCmd.java

Modified: 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeCmd.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeCmd.java?rev=1172024r1=1172023r2=1172024view=diff
==
--- 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeCmd.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeCmd.java
 Sat Sep 17 17:40:01 2011
@@ -470,8 +470,8 @@ public class NodeCmd
 output.println(String.format(%-10d%10s%18s%18s%18s%18s,
  offsets[i],
  (i  sprh.length ? sprh[i] : ),
- (i  rwlh.length ? rrlh[i] : ),
- (i  rrlh.length ? rwlh[i] : ),
+ (i  rwlh.length ? rwlh[i] : ),
+ (i  rrlh.length ? rrlh[i] : ),
  (i  ersh.length ? ersh[i] : ),
  (i  ecch.length ? ecch[i] : )));
 }




svn commit: r1172026 - in /cassandra/branches/cassandra-0.8: ./ contrib/ interface/thrift/gen-java/org/apache/cassandra/thrift/ src/java/org/apache/cassandra/db/ src/java/org/apache/cassandra/tools/

2011-09-17 Thread brandonwilliams
Author: brandonwilliams
Date: Sat Sep 17 17:42:32 2011
New Revision: 1172026

URL: http://svn.apache.org/viewvc?rev=1172026view=rev
Log:
Merge 3222 from 0.7

Modified:
cassandra/branches/cassandra-0.8/   (props changed)
cassandra/branches/cassandra-0.8/contrib/   (props changed)

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
   (props changed)

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
   (props changed)

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
   (props changed)

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
   (props changed)

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
   (props changed)

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/ColumnFamilyStore.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java

Propchange: cassandra/branches/cassandra-0.8/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Sep 17 17:42:32 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1131291
-/cassandra/branches/cassandra-0.7:1026516-1170333
+/cassandra/branches/cassandra-0.7:1026516-1170333,1172024
 /cassandra/branches/cassandra-0.7.0:1053690-1055654
 /cassandra/branches/cassandra-0.8:1090934-1125013,1125041
 /cassandra/branches/cassandra-0.8.0:1125021-1130369

Propchange: cassandra/branches/cassandra-0.8/contrib/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Sep 17 17:42:32 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/contrib:922689-1052356,1052358-1053452,1053454,1053456-1068009
-/cassandra/branches/cassandra-0.7/contrib:1026516-1170333
+/cassandra/branches/cassandra-0.7/contrib:1026516-1170333,1172024
 /cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
 /cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125041
 /cassandra/branches/cassandra-0.8.0/contrib:1125021-1130369

Propchange: 
cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Sep 17 17:42:32 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1170333
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1170333,1172024
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1053690-1055654
 
/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090934-1125013,1125041
 
/cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1125021-1130369

Propchange: 
cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Sep 17 17:42:32 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1170333
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1170333,1172024
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1053690-1055654
 
/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1090934-1125013,1125041
 
/cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1125021-1130369

Propchange: 
cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Sep 17 17:42:32 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache

svn commit: r1172027 - in /cassandra/branches/cassandra-1.0.0: ./ contrib/ interface/thrift/gen-java/org/apache/cassandra/thrift/ src/java/org/apache/cassandra/db/ src/java/org/apache/cassandra/tools/

2011-09-17 Thread brandonwilliams
Author: brandonwilliams
Date: Sat Sep 17 17:43:57 2011
New Revision: 1172027

URL: http://svn.apache.org/viewvc?rev=1172027view=rev
Log:
Merge 3222 from 0.8

Modified:
cassandra/branches/cassandra-1.0.0/   (props changed)
cassandra/branches/cassandra-1.0.0/contrib/   (props changed)

cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
   (props changed)

cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
   (props changed)

cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
   (props changed)

cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
   (props changed)

cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
   (props changed)

cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/db/ColumnFamilyStore.java

cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/tools/NodeCmd.java

Propchange: cassandra/branches/cassandra-1.0.0/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Sep 17 17:43:57 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1131291
-/cassandra/branches/cassandra-0.7:1026516-1170333
+/cassandra/branches/cassandra-0.7:1026516-1170333,1172024
 /cassandra/branches/cassandra-0.7.0:1053690-1055654
-/cassandra/branches/cassandra-0.8:1090934-1125013,1125019-1171737
+/cassandra/branches/cassandra-0.8:1090934-1125013,1125019-1171737,1172026
 /cassandra/branches/cassandra-0.8.0:1125021-1130369
 /cassandra/branches/cassandra-0.8.1:1101014-1125018
 /cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689

Propchange: cassandra/branches/cassandra-1.0.0/contrib/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Sep 17 17:43:57 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/contrib:922689-1052356,1052358-1053452,1053454,1053456-1068009
-/cassandra/branches/cassandra-0.7/contrib:1026516-1170333
+/cassandra/branches/cassandra-0.7/contrib:1026516-1170333,1172024
 /cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
-/cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125019-1171737
+/cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125019-1171737,1172026
 /cassandra/branches/cassandra-0.8.0/contrib:1125021-1130369
 /cassandra/branches/cassandra-0.8.1/contrib:1101014-1125018
 /cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689

Propchange: 
cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Sep 17 17:43:57 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1170333
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1170333,1172024
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090934-1125013,1125019-1171737
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090934-1125013,1125019-1171737,1172026
 
/cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1125021-1130369
 
/cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1101014-1125018
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1051699-1053689

Propchange: 
cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Sep 17 17:43:57 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1170333
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1170333,1172024
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift

svn commit: r1172030 - in /cassandra/trunk: ./ contrib/ interface/thrift/gen-java/org/apache/cassandra/thrift/ src/java/org/apache/cassandra/db/ src/java/org/apache/cassandra/tools/

2011-09-17 Thread brandonwilliams
Author: brandonwilliams
Date: Sat Sep 17 17:45:07 2011
New Revision: 1172030

URL: http://svn.apache.org/viewvc?rev=1172030view=rev
Log:
Merge 3222 from 1.0.0

Modified:
cassandra/trunk/   (props changed)
cassandra/trunk/contrib/   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
   (props changed)
cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
cassandra/trunk/src/java/org/apache/cassandra/tools/NodeCmd.java

Propchange: cassandra/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Sep 17 17:45:07 2011
@@ -1,11 +1,11 @@
 
/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1131291
-/cassandra/branches/cassandra-0.7:1026516-1170333
+/cassandra/branches/cassandra-0.7:1026516-1170333,1172024
 /cassandra/branches/cassandra-0.7.0:1053690-1055654
-/cassandra/branches/cassandra-0.8:1090934-1125013,1125019-1171096
+/cassandra/branches/cassandra-0.8:1090934-1125013,1125019-1171096,1172026
 /cassandra/branches/cassandra-0.8.0:1125021-1130369
 /cassandra/branches/cassandra-0.8.1:1101014-1125018
 /cassandra/branches/cassandra-1.0:1167085-1171099
-/cassandra/branches/cassandra-1.0.0:1167104-1167229,1167232-1171098
+/cassandra/branches/cassandra-1.0.0:1167104-1167229,1167232-1171098,1172027
 /cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689
 /cassandra/tags/cassandra-0.8.0-rc1:1102511-1125020
 /incubator/cassandra/branches/cassandra-0.3:774578-796573

Propchange: cassandra/trunk/contrib/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Sep 17 17:45:07 2011
@@ -1,11 +1,11 @@
 
/cassandra/branches/cassandra-0.6/contrib:922689-1052356,1052358-1053452,1053454,1053456-1068009
-/cassandra/branches/cassandra-0.7/contrib:1026516-1170333
+/cassandra/branches/cassandra-0.7/contrib:1026516-1170333,1172024
 /cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
-/cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125019-1171096
+/cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125019-1171096,1172026
 /cassandra/branches/cassandra-0.8.0/contrib:1125021-1130369
 /cassandra/branches/cassandra-0.8.1/contrib:1101014-1125018
 /cassandra/branches/cassandra-1.0/contrib:1167085-1171099
-/cassandra/branches/cassandra-1.0.0/contrib:1167104-1167229,1167232-1171098
+/cassandra/branches/cassandra-1.0.0/contrib:1167104-1167229,1167232-1171098,1172027
 /cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689
 /cassandra/tags/cassandra-0.8.0-rc1/contrib:1102511-1125020
 /incubator/cassandra/branches/cassandra-0.3/contrib:774578-796573

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Sep 17 17:45:07 2011
@@ -1,11 +1,11 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1170333
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1170333,1172024
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090934-1125013,1125019-1171096
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090934-1125013,1125019-1171096,1172026
 
/cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1125021-1130369
 
/cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1101014-1125018
 
/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1167085-1171099
-/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1167104-1167229,1167232-1171098
+/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1167104-1167229,1167232-1171098,1172027
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift

svn commit: r1175027 - in /cassandra/branches/cassandra-0.8: CHANGES.txt debian/cassandra.conf debian/init redhat/cassandra.conf

2011-09-23 Thread brandonwilliams
Author: brandonwilliams
Date: Fri Sep 23 21:23:37 2011
New Revision: 1175027

URL: http://svn.apache.org/viewvc?rev=1175027view=rev
Log:
Increase FD limit to 100k in packaging.
Patch by Paul Cannon, reviewed by brandonwilliams for CASSANDRA-3206

Modified:
cassandra/branches/cassandra-0.8/CHANGES.txt
cassandra/branches/cassandra-0.8/debian/cassandra.conf
cassandra/branches/cassandra-0.8/debian/init
cassandra/branches/cassandra-0.8/redhat/cassandra.conf

Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1175027r1=1175026r2=1175027view=diff
==
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Fri Sep 23 21:23:37 2011
@@ -4,6 +4,7 @@
  * Log message when a full repair operation completes (CASSANDRA-3207)
  * Don't allow any cache loading exceptions to halt startup (CASSANDRA-3218)
  * Fix sstableloader --ignores option (CASSANDRA-3247)
+ * File descriptor limit increased in packaging (CASSANDRA-3206)
 
 
 0.8.6

Modified: cassandra/branches/cassandra-0.8/debian/cassandra.conf
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/debian/cassandra.conf?rev=1175027r1=1175026r2=1175027view=diff
==
--- cassandra/branches/cassandra-0.8/debian/cassandra.conf (original)
+++ cassandra/branches/cassandra-0.8/debian/cassandra.conf Fri Sep 23 21:23:37 
2011
@@ -1,2 +1,3 @@
 # Provided by the cassandra package
 cassandra  -  memlock  unlimited
+cassandra  -  nofile   10

Modified: cassandra/branches/cassandra-0.8/debian/init
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/debian/init?rev=1175027r1=1175026r2=1175027view=diff
==
--- cassandra/branches/cassandra-0.8/debian/init (original)
+++ cassandra/branches/cassandra-0.8/debian/init Fri Sep 23 21:23:37 2011
@@ -22,6 +22,7 @@ CONFDIR=/etc/cassandra
 JSVC=/usr/bin/jsvc
 WAIT_FOR_START=10
 CASSANDRA_HOME=/usr/share/cassandra
+FD_LIMIT=10
 
 # The first existing directory is used for JAVA_HOME if needed.
 JVM_SEARCH_DIRS=/usr/lib/jvm/java-6-openjdk /usr/lib/jvm/java-6-sun
@@ -127,6 +128,7 @@ do_start()
 is_running  return 1
 
 ulimit -l unlimited
+ulimit -n $FD_LIMIT
 
 cassandra_home=`getent passwd cassandra | awk -F ':' '{ print $6; }'`
 cd /# jsvc doesn't chdir() for us

Modified: cassandra/branches/cassandra-0.8/redhat/cassandra.conf
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/redhat/cassandra.conf?rev=1175027r1=1175026r2=1175027view=diff
==
--- cassandra/branches/cassandra-0.8/redhat/cassandra.conf (original)
+++ cassandra/branches/cassandra-0.8/redhat/cassandra.conf Fri Sep 23 21:23:37 
2011
@@ -1 +1,2 @@
 cassandra   -   memlock unlimited
+cassandra   -   nofile  10




svn commit: r1177083 - /cassandra/branches/cassandra-0.8/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java

2011-09-28 Thread brandonwilliams
Author: brandonwilliams
Date: Wed Sep 28 22:01:01 2011
New Revision: 1177083

URL: http://svn.apache.org/viewvc?rev=1177083view=rev
Log:
Pig storage handler implements LoadMetadata interface.
Patch by brandonwilliams, reviewed by Jeremy Hanna for CASSANDRA-2777

Modified:

cassandra/branches/cassandra-0.8/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java

Modified: 
cassandra/branches/cassandra-0.8/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java?rev=1177083r1=1177082r2=1177083view=diff
==
--- 
cassandra/branches/cassandra-0.8/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
 Wed Sep 28 22:01:01 2011
@@ -31,7 +31,7 @@ import org.apache.commons.logging.LogFac
 import org.apache.cassandra.db.Column;
 import org.apache.cassandra.db.IColumn;
 import org.apache.cassandra.db.SuperColumn;
-import org.apache.cassandra.db.marshal.AbstractType;
+import org.apache.cassandra.db.marshal.*;
 import org.apache.cassandra.hadoop.*;
 import org.apache.cassandra.thrift.Mutation;
 import org.apache.cassandra.thrift.Deletion;
@@ -46,6 +46,7 @@ import org.apache.pig.*;
 import org.apache.pig.backend.executionengine.ExecException;
 import org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit;
 import org.apache.pig.data.*;
+import org.apache.pig.ResourceSchema.ResourceFieldSchema;
 import org.apache.pig.impl.logicalLayer.FrontendException;
 import org.apache.pig.impl.util.UDFContext;
 import org.apache.thrift.TDeserializer;
@@ -61,7 +62,7 @@ import org.apache.thrift.transport.TTran
  *
  * A row from a standard CF will be returned as nested tuples: (key, ((name1, 
val1), (name2, val2))).
  */
-public class CassandraStorage extends LoadFunc implements StoreFuncInterface
+public class CassandraStorage extends LoadFunc implements StoreFuncInterface, 
LoadMetadata
 {
 // system environment variables that can be set to configure connection 
info:
 // alternatively, Hadoop JobConf variables can be set using keys from 
ConfigHelper
@@ -293,6 +294,103 @@ public class CassandraStorage extends Lo
 initSchema(loadSignature);
 }
 
+public ResourceSchema getSchema(String location, Job job) throws 
IOException
+{
+setLocation(location, job);
+CfDef cfDef = getCfDef(loadSignature);
+
+if (cfDef.column_type.equals(Super))
+return null;
+// top-level schema, no type
+ResourceSchema schema = new ResourceSchema();
+
+// add key
+ResourceFieldSchema keyFieldSchema = new ResourceFieldSchema();
+keyFieldSchema.setName(key);
+keyFieldSchema.setType(DataType.CHARARRAY); //TODO: get key type
+
+// will become the bag of tuples
+ResourceFieldSchema bagFieldSchema = new ResourceFieldSchema();
+bagFieldSchema.setName(columns);
+bagFieldSchema.setType(DataType.BAG);
+ResourceSchema bagSchema = new ResourceSchema();
+
+
+ListAbstractType marshallers = getDefaultMarshallers(cfDef);
+MapByteBuffer,AbstractType validators = getValidatorMap(cfDef);
+ListResourceFieldSchema tupleFields = new 
ArrayListResourceFieldSchema();
+
+// default comparator/validator
+ResourceSchema innerTupleSchema = new ResourceSchema();
+ResourceFieldSchema tupleField = new ResourceFieldSchema();
+tupleField.setType(DataType.TUPLE);
+tupleField.setSchema(innerTupleSchema);
+
+ResourceFieldSchema colSchema = new ResourceFieldSchema();
+colSchema.setName(name);
+colSchema.setType(getPigType(marshallers.get(0)));
+tupleFields.add(colSchema);
+
+ResourceFieldSchema valSchema = new ResourceFieldSchema();
+AbstractType validator = marshallers.get(1);
+valSchema.setName(value);
+valSchema.setType(getPigType(validator));
+tupleFields.add(valSchema);
+
+// defined validators/indexes
+for (ColumnDef cdef : cfDef.column_metadata)
+{
+colSchema = new ResourceFieldSchema();
+colSchema.setName(new String(cdef.getName()));
+colSchema.setType(getPigType(marshallers.get(0)));
+tupleFields.add(colSchema);
+
+valSchema = new ResourceFieldSchema();
+validator = validators.get(cdef.getName());
+if (validator == null)
+validator = marshallers.get(1);
+valSchema.setName(value);
+valSchema.setType(getPigType(validator));
+tupleFields.add(valSchema);
+}
+innerTupleSchema.setFields(tupleFields.toArray(new

svn commit: r1177084 - /cassandra/branches/cassandra-0.8/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java

2011-09-28 Thread brandonwilliams
Author: brandonwilliams
Date: Wed Sep 28 22:01:08 2011
New Revision: 1177084

URL: http://svn.apache.org/viewvc?rev=1177084view=rev
Log:
Fix handling of integer types in pig.
Patch by brandonwilliams, reviewed by Jeremy Hanna for CASSANDRA-2810

Modified:

cassandra/branches/cassandra-0.8/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java

Modified: 
cassandra/branches/cassandra-0.8/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java?rev=1177084r1=1177083r2=1177084view=diff
==
--- 
cassandra/branches/cassandra-0.8/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
 Wed Sep 28 22:01:08 2011
@@ -17,11 +17,13 @@
 package org.apache.cassandra.hadoop.pig;
 
 import java.io.IOException;
+import java.math.BigInteger;
 import java.nio.ByteBuffer;
 import java.util.*;
 
 import org.apache.cassandra.config.ConfigurationException;
 import org.apache.cassandra.db.marshal.BytesType;
+import org.apache.cassandra.db.marshal.IntegerType;
 import org.apache.cassandra.db.marshal.TypeParser;
 import org.apache.cassandra.thrift.*;
 import org.apache.cassandra.utils.FBUtilities;
@@ -143,18 +145,14 @@ public class CassandraStorage extends Lo
 ListAbstractType marshallers = getDefaultMarshallers(cfDef);
 MapByteBuffer,AbstractType validators = getValidatorMap(cfDef);
 
+setTupleValue(pair, 0, marshallers.get(0).compose(name));
 if (col instanceof Column)
 {
 // standard
-pair.set(0, marshallers.get(0).compose(name));
 if (validators.get(name) == null)
-// Have to special case BytesType because compose returns a 
ByteBuffer
-if (marshallers.get(1) instanceof BytesType)
-pair.set(1, new 
DataByteArray(ByteBufferUtil.getArray(col.value(;
-else
-pair.set(1, marshallers.get(1).compose(col.value()));
+setTupleValue(pair, 1, 
marshallers.get(1).compose(col.value()));
 else
-pair.set(1, validators.get(name).compose(col.value()));
+setTupleValue(pair, 1, 
validators.get(name).compose(col.value()));
 return pair;
 }
 
@@ -167,6 +165,16 @@ public class CassandraStorage extends Lo
 return pair;
 }
 
+private void setTupleValue(Tuple pair, int position, Object value) throws 
ExecException
+{
+   if (value instanceof BigInteger)
+   pair.set(position, ((BigInteger) value).intValue());
+   else if (value instanceof ByteBuffer)
+   pair.set(position, new 
DataByteArray(ByteBufferUtil.getArray((ByteBuffer) value)));
+   else
+   pair.set(position, value);
+}
+
 private CfDef getCfDef(String signature)
 {
 UDFContext context = UDFContext.getUDFContext();
@@ -453,8 +461,6 @@ public class CassandraStorage extends Lo
 DefaultDataBag pairs = (DefaultDataBag) t.get(1);
 ArrayListMutation mutationList = new ArrayListMutation();
 CfDef cfDef = getCfDef(storeSignature);
-ListAbstractType marshallers = getDefaultMarshallers(cfDef);
-MapByteBuffer,AbstractType validators = getValidatorMap(cfDef);
 try
 {
 for (Tuple pair : pairs)
@@ -498,15 +504,8 @@ public class CassandraStorage extends Lo
else
{
org.apache.cassandra.thrift.Column column = new 
org.apache.cassandra.thrift.Column();
-   column.name = 
marshallers.get(0).decompose((pair.get(0)));
-   if (validators.get(column.name) == null)
-   // Have to special case BytesType to convert 
DataByteArray into ByteBuffer
-   if (marshallers.get(1) instanceof BytesType)
-   column.value = objToBB(pair.get(1));
-   else
-   column.value = 
marshallers.get(1).decompose(pair.get(1));
-   else
-   column.value = 
validators.get(column.name).decompose(pair.get(1));
+   column.name = objToBB(pair.get(0));
+   column.value = objToBB(pair.get(1));
column.setTimestamp(System.currentTimeMillis() * 1000);
mutation.column_or_supercolumn = new 
ColumnOrSuperColumn();
mutation.column_or_supercolumn.column = column;
@@ -626,3 +625,4 @@ public class CassandraStorage extends Lo
 return cfDef;
 }
 }
+




svn commit: r1177810 - /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/SystemTable.java

2011-09-30 Thread brandonwilliams
Author: brandonwilliams
Date: Fri Sep 30 20:14:03 2011
New Revision: 1177810

URL: http://svn.apache.org/viewvc?rev=1177810view=rev
Log:
Flush system table after updating or removing tokens.
Patch by brandonwilliams, reviewed by Ben Coverston for CASSANDRA-3243

Modified:

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/SystemTable.java

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/SystemTable.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/SystemTable.java?rev=1177810r1=1177809r2=1177810view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/SystemTable.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/SystemTable.java
 Fri Sep 30 20:14:03 2011
@@ -113,6 +113,7 @@ public class SystemTable
 {
 throw new IOError(e);
 }
+forceBlockingFlush(STATUS_CF);
 }
 
 /**
@@ -131,6 +132,7 @@ public class SystemTable
 {
 throw new IOError(e);
 }
+forceBlockingFlush(STATUS_CF);
 }
 
 /**




svn commit: r1177847 - in /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra: gms/Gossiper.java service/StorageService.java

2011-09-30 Thread brandonwilliams
Author: brandonwilliams
Date: Fri Sep 30 21:44:10 2011
New Revision: 1177847

URL: http://svn.apache.org/viewvc?rev=1177847view=rev
Log:
Evict gossip state immediately when a token is taken over.
Patch by vijay, reviewed by brandonwilliams for CASSANDRA-3259

Modified:

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java?rev=1177847r1=1177846r2=1177847view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java
 Fri Sep 30 21:44:10 2011
@@ -302,6 +302,17 @@ public class Gossiper implements IFailur
 }
 
 /**
+ * Remove the Endpoint and evict immediately, to avoid gossiping about 
this node.
+ * This should only be called when a token is taken over by a new IP 
address.
+ * @param endpoint The endpoint that has been replaced
+ */
+public void replacedEndpoint(InetAddress endpoint)
+{
+removeEndpoint(endpoint);
+evictFromMembership(endpoint);
+}
+
+/**
  * The gossip digest is built based on randomization
  * rather than just looping through the collection of live endpoints.
  *

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java?rev=1177847r1=1177846r2=1177847view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java
 Fri Sep 30 21:44:10 2011
@@ -841,7 +841,7 @@ public class StorageService implements I
 logger_.info(String.format(Nodes %s and %s have the same token 
%s.  %s is the new owner,
endpoint, currentOwner, token, 
endpoint));
 tokenMetadata_.updateNormalToken(token, endpoint);
-Gossiper.instance.removeEndpoint(currentOwner);
+Gossiper.instance.replacedEndpoint(currentOwner);
 if (!isClientMode)
 SystemTable.updateToken(endpoint, token);
 }
@@ -849,6 +849,7 @@ public class StorageService implements I
 {
 logger_.info(String.format(Nodes %s and %s have the same token 
%s.  Ignoring %s,
endpoint, currentOwner, token, 
endpoint));
+Gossiper.instance.replacedEndpoint(endpoint);
 }
 
 if (tokenMetadata_.isMoving(endpoint)) // if endpoint was moving to a 
new token




svn commit: r1178486 - in /cassandra/branches/cassandra-1.0.0: ./ contrib/ interface/thrift/gen-java/org/apache/cassandra/thrift/ src/java/org/apache/cassandra/service/

2011-10-03 Thread brandonwilliams
Author: brandonwilliams
Date: Mon Oct  3 18:11:48 2011
New Revision: 1178486

URL: http://svn.apache.org/viewvc?rev=1178486view=rev
Log:
Merge 3259 from 0.8

Modified:
cassandra/branches/cassandra-1.0.0/   (props changed)
cassandra/branches/cassandra-1.0.0/contrib/   (props changed)

cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
   (props changed)

cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
   (props changed)

cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
   (props changed)

cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
   (props changed)

cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
   (props changed)

cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/service/StorageService.java

Propchange: cassandra/branches/cassandra-1.0.0/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Oct  3 18:11:48 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1131291
 /cassandra/branches/cassandra-0.7:1026516-1170333,1172024
 /cassandra/branches/cassandra-0.7.0:1053690-1055654
-/cassandra/branches/cassandra-0.8:1090934-1125013,1125019-1177149,1177781,1177810,1178297,1178325
+/cassandra/branches/cassandra-0.8:1090934-1125013,1125019-1177149,1177781,1177810,1177847,1178297,1178325
 /cassandra/branches/cassandra-0.8.0:1125021-1130369
 /cassandra/branches/cassandra-0.8.1:1101014-1125018
 /cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689

Propchange: cassandra/branches/cassandra-1.0.0/contrib/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Oct  3 18:11:48 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/contrib:922689-1052356,1052358-1053452,1053454,1053456-1068009
 /cassandra/branches/cassandra-0.7/contrib:1026516-1170333,1172024
 /cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
-/cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125019-1177149,1177781,1177810,1178297,1178325
+/cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125019-1177149,1177781,1177810,1177847,1178297,1178325
 /cassandra/branches/cassandra-0.8.0/contrib:1125021-1130369
 /cassandra/branches/cassandra-0.8.1/contrib:1101014-1125018
 /cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689

Propchange: 
cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Oct  3 18:11:48 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
 
/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1170333,1172024
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090934-1125013,1125019-1177149,1177781,1177810,1178297,1178325
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090934-1125013,1125019-1177149,1177781,1177810,1177847,1178297,1178325
 
/cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1125021-1130369
 
/cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1101014-1125018
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1051699-1053689

Propchange: 
cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Oct  3 18:11:48 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
 
/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1170333,1172024
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1090934-1125013,1125019-1177149,1177781,1177810,1178297,1178325
+/cassandra/branches/cassandra-0.8/interface

svn commit: r1178492 - /cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/gms/Gossiper.java

2011-10-03 Thread brandonwilliams
Author: brandonwilliams
Date: Mon Oct  3 18:20:24 2011
New Revision: 1178492

URL: http://svn.apache.org/viewvc?rev=1178492view=rev
Log:
Fix bad merge

Modified:

cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/gms/Gossiper.java

Modified: 
cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/gms/Gossiper.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/gms/Gossiper.java?rev=1178492r1=1178491r2=1178492view=diff
==
--- 
cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/gms/Gossiper.java
 (original)
+++ 
cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/gms/Gossiper.java
 Mon Oct  3 18:20:24 2011
@@ -321,6 +321,17 @@ public class Gossiper implements IFailur
 }
 
 /**
+ * Remove the Endpoint and evict immediately, to avoid gossiping about 
this node.
+ * This should only be called when a token is taken over by a new IP 
address.
+ * @param endpoint The endpoint that has been replaced
+ */
+public void replacedEndpoint(InetAddress endpoint)
+{
+removeEndpoint(endpoint);
+evictFromMembership(endpoint);
+}
+
+/**
  * The gossip digest is built based on randomization
  * rather than just looping through the collection of live endpoints.
  *




svn commit: r1178516 - in /cassandra/branches: cassandra-0.8/CHANGES.txt cassandra-1.0.0/CHANGES.txt

2011-10-03 Thread brandonwilliams
Author: brandonwilliams
Date: Mon Oct  3 18:46:20 2011
New Revision: 1178516

URL: http://svn.apache.org/viewvc?rev=1178516view=rev
Log:
Update changes for 3259

Modified:
cassandra/branches/cassandra-0.8/CHANGES.txt
cassandra/branches/cassandra-1.0.0/CHANGES.txt

Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1178516r1=1178515r2=1178516view=diff
==
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Mon Oct  3 18:46:20 2011
@@ -14,6 +14,7 @@
generates, as intended (CASSANDRA-3262)
  * fix Scrub compaction finishing (CASSANDRA-3255)
  * Fix tool .bat files when CASSANDRA_HOME contains spaces (CASSANDRA-3258)
+ * Evict gossip state immediately when a token is taken over by a new IP 
(CASSANDRA-3259)
 
 
 0.8.6

Modified: cassandra/branches/cassandra-1.0.0/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/CHANGES.txt?rev=1178516r1=1178515r2=1178516view=diff
==
--- cassandra/branches/cassandra-1.0.0/CHANGES.txt (original)
+++ cassandra/branches/cassandra-1.0.0/CHANGES.txt Mon Oct  3 18:46:20 2011
@@ -3,7 +3,7 @@
  * Force flush of status table when removing/updating token (CASSANDRA-3243)
  * fix bug preventing obsolete commitlog segments from being removed
(CASSANDRA-3269)
-
+ * Evict gossip state immediately when a token is taken over by a new IP 
(CASSANDRA-3259)
 
 1.0.0-rc2
  * Log a meaningful warning when a node receives a message for a repair session




svn commit: r1178563 - in /cassandra/branches: cassandra-0.8/ cassandra-0.8/src/java/org/apache/cassandra/gms/ cassandra-1.0.0/ cassandra-1.0.0/src/java/org/apache/cassandra/gms/

2011-10-03 Thread brandonwilliams
Author: brandonwilliams
Date: Mon Oct  3 20:36:35 2011
New Revision: 1178563

URL: http://svn.apache.org/viewvc?rev=1178563view=rev
Log:
Fix bug where the FailureDetector can take a very long time to mark a
host down.
Patch by brandonwilliams, reviewed by Paul Cannon for CASSANDRA-3273

Modified:
cassandra/branches/cassandra-0.8/CHANGES.txt

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/FailureDetector.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/IFailureDetector.java
cassandra/branches/cassandra-1.0.0/CHANGES.txt

cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/gms/FailureDetector.java

cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/gms/Gossiper.java

cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/gms/IFailureDetector.java

Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1178563r1=1178562r2=1178563view=diff
==
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Mon Oct  3 20:36:35 2011
@@ -18,6 +18,8 @@
  * (Hadoop) allow wrapping ranges in queries (CASSANDRA-3137)
  * (Hadoop) check all interfaces for a match with split location
before falling back to random replica (CASSANDRA-3211)
+ * Fix bug where the failure detector can take too long to mark a host 
+   down (CASSANDRA-3273)
 
 
 0.8.6

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/FailureDetector.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/FailureDetector.java?rev=1178563r1=1178562r2=1178563view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/FailureDetector.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/FailureDetector.java
 Mon Oct  3 20:36:35 2011
@@ -121,7 +121,14 @@ public class FailureDetector implements 
 logger_.error(unknown endpoint  + ep);
 return epState != null  epState.isAlive();
 }
-
+
+public void clear(InetAddress ep)
+{
+ArrivalWindow heartbeatWindow = arrivalSamples_.get(ep);
+if (heartbeatWindow != null)
+heartbeatWindow.clear();
+}
+
 public void report(InetAddress ep)
 {
 if (logger_.isTraceEnabled())
@@ -149,7 +156,9 @@ public class FailureDetector implements 
 logger_.trace(PHI for  + ep +  :  + phi);
 
 if ( phi  phiConvictThreshold_ )
-{ 
+{
+logger_.trace(notifying listeners that {} is down, ep);
+logger_.trace(intervals: {} mean: {}, hbWnd, hbWnd.mean());
 for ( IFailureDetectionEventListener listener : fdEvntListeners_ )
 {
 listener.convict(ep, phi);
@@ -206,6 +215,11 @@ class ArrivalWindow
 // change.
 private final double PHI_FACTOR = 1.0 / Math.log(10.0);
 
+// in the event of a long partition, never record an interval longer than 
the rpc timeout,
+// since if a host is regularly experiencing connectivity problems lasting 
this long we'd
+// rather mark it down quickly instead of adapting
+private final double MAX_INTERVAL_IN_MS = 
DatabaseDescriptor.getRpcTimeout();
+
 ArrivalWindow(int size)
 {
 arrivalIntervals_ = new BoundedStatsDeque(size);
@@ -216,14 +230,17 @@ class ArrivalWindow
 double interArrivalTime;
 if ( tLast_  0L )
 {
-interArrivalTime = (value - tLast_);
+interArrivalTime = (value - tLast_);
 }
 else
 {
 interArrivalTime = Gossiper.intervalInMillis / 2;
 }
-tLast_ = value;
-arrivalIntervals_.add(interArrivalTime);
+if (interArrivalTime = MAX_INTERVAL_IN_MS)
+arrivalIntervals_.add(interArrivalTime);
+else
+logger_.debug(Ignoring interval time of {}, interArrivalTime);
+tLast_ = value;
 }
 
 synchronized double sum()

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java?rev=1178563r1=1178562r2=1178563view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java
 Mon Oct  3 20:36:35 2011
@@ -665,6 +665,13 @@ public

svn commit: r1178571 - in /cassandra/branches: cassandra-0.8/test/unit/org/apache/cassandra/dht/BootStrapperTest.java cassandra-1.0.0/test/unit/org/apache/cassandra/dht/BootStrapperTest.java

2011-10-03 Thread brandonwilliams
Author: brandonwilliams
Date: Mon Oct  3 20:49:32 2011
New Revision: 1178571

URL: http://svn.apache.org/viewvc?rev=1178571view=rev
Log:
Fix BootStrapperTest

Modified:

cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/dht/BootStrapperTest.java

cassandra/branches/cassandra-1.0.0/test/unit/org/apache/cassandra/dht/BootStrapperTest.java

Modified: 
cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/dht/BootStrapperTest.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/dht/BootStrapperTest.java?rev=1178571r1=1178570r2=1178571view=diff
==
--- 
cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/dht/BootStrapperTest.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/dht/BootStrapperTest.java
 Mon Oct  3 20:49:32 2011
@@ -187,6 +187,7 @@ public class BootStrapperTest extends Cl
 public void 
registerFailureDetectionEventListener(IFailureDetectionEventListener listener) 
{ throw new UnsupportedOperationException(); }
 public void 
unregisterFailureDetectionEventListener(IFailureDetectionEventListener 
listener) { throw new UnsupportedOperationException(); }
 public void remove(InetAddress ep) { throw new 
UnsupportedOperationException(); }
+public void clear(InetAddress ep) { throw new 
UnsupportedOperationException(); }
 };
 MultimapInetAddress, Range temp = BootStrapper.getWorkMap(res, 
mockFailureDetector);
 // there isn't any point in testing the size of these collections for 
any specific size.  When a random partitioner

Modified: 
cassandra/branches/cassandra-1.0.0/test/unit/org/apache/cassandra/dht/BootStrapperTest.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/test/unit/org/apache/cassandra/dht/BootStrapperTest.java?rev=1178571r1=1178570r2=1178571view=diff
==
--- 
cassandra/branches/cassandra-1.0.0/test/unit/org/apache/cassandra/dht/BootStrapperTest.java
 (original)
+++ 
cassandra/branches/cassandra-1.0.0/test/unit/org/apache/cassandra/dht/BootStrapperTest.java
 Mon Oct  3 20:49:32 2011
@@ -187,6 +187,7 @@ public class BootStrapperTest extends Cl
 public void 
registerFailureDetectionEventListener(IFailureDetectionEventListener listener) 
{ throw new UnsupportedOperationException(); }
 public void 
unregisterFailureDetectionEventListener(IFailureDetectionEventListener 
listener) { throw new UnsupportedOperationException(); }
 public void remove(InetAddress ep) { throw new 
UnsupportedOperationException(); }
+public void clear(InetAddress ep) { throw new 
UnsupportedOperationException(); }
 };
 MultimapInetAddress, Range temp = BootStrapper.getWorkMap(res, 
mockFailureDetector);
 // there isn't any point in testing the size of these collections for 
any specific size.  When a random partitioner




svn commit: r1178833 - in /cassandra/branches/cassandra-1.0.0: CHANGES.txt conf/cassandra-env.sh

2011-10-04 Thread brandonwilliams
Author: brandonwilliams
Date: Tue Oct  4 15:34:24 2011
New Revision: 1178833

URL: http://svn.apache.org/viewvc?rev=1178833view=rev
Log:
Change default heap thresholds to max(min(1/2 ram, 1G), min(1/4 ram,
8GB)).
Patch by satishbabu, reviewed by brandonwilliams for CASSANDRA-3295

Modified:
cassandra/branches/cassandra-1.0.0/CHANGES.txt
cassandra/branches/cassandra-1.0.0/conf/cassandra-env.sh

Modified: cassandra/branches/cassandra-1.0.0/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/CHANGES.txt?rev=1178833r1=1178832r2=1178833view=diff
==
--- cassandra/branches/cassandra-1.0.0/CHANGES.txt (original)
+++ cassandra/branches/cassandra-1.0.0/CHANGES.txt Tue Oct  4 15:34:24 2011
@@ -11,6 +11,8 @@
  * (Hadoop) check all interfaces for a match with split location
before falling back to random replica (CASSANDRA-3211)
  * Fix stress COUNTER_GET option (CASSANDRA-3301)
+ * Change default heap thresholds to max(min(1/2 ram, 1G), min(1/4 ram, 8GB))
+   (CASSANDRA-3295)
 
 
 1.0.0-rc2

Modified: cassandra/branches/cassandra-1.0.0/conf/cassandra-env.sh
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/conf/cassandra-env.sh?rev=1178833r1=1178832r2=1178833view=diff
==
--- cassandra/branches/cassandra-1.0.0/conf/cassandra-env.sh (original)
+++ cassandra/branches/cassandra-1.0.0/conf/cassandra-env.sh Tue Oct  4 
15:34:24 2011
@@ -40,7 +40,28 @@ calculate_heap_sizes()
 system_cpu_cores=2
 ;;
 esac
-max_heap_size_in_mb=`expr $system_memory_in_mb / 2`
+
+# set max heap size based on the following
+# max(min(1/2 ram, 1024MB), min(1/4 ram, 8GB))
+# calculate 1/2 ram and cap to 1024MB
+# calculate 1/4 ram and cap to 8192MB
+# pick the max
+half_system_memory_in_mb=`expr $system_memory_in_mb / 2`
+quarter_system_memory_in_mb=`expr $half_system_memory_in_mb / 2`
+if [ $half_system_memory_in_mb -gt 1024 ]
+then
+half_system_memory_in_mb=1024
+fi
+if [ $quarter_system_memory_in_mb -gt 8192 ]
+then
+quarter_system_memory_in_mb=8192
+fi
+if [ $half_system_memory_in_mb -gt $quarter_system_memory_in_mb ]
+then
+max_heap_size_in_mb=$half_system_memory_in_mb
+else
+max_heap_size_in_mb=$quarter_system_memory_in_mb
+fi
 MAX_HEAP_SIZE=${max_heap_size_in_mb}M
 
 # Young gen: min(max_sensible_per_modern_cpu_core * num_cores, 1/4 * heap 
size)




svn commit: r1178957 - in /cassandra/branches: cassandra-0.8/CHANGES.txt cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java cassandra-1.0.0/CHANGES.txt cassandra-1.0.0/src/java/org/apache/

2011-10-04 Thread brandonwilliams
Author: brandonwilliams
Date: Tue Oct  4 21:20:41 2011
New Revision: 1178957

URL: http://svn.apache.org/viewvc?rev=1178957view=rev
Log:
Nodetool closes JMX connections to avoid leaking timer threads.
Patch by vijay, reviewed by brandonwilliams for CASSANDRA-3309

Modified:
cassandra/branches/cassandra-0.8/CHANGES.txt

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java
cassandra/branches/cassandra-1.0.0/CHANGES.txt

cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/tools/NodeCmd.java

Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1178957r1=1178956r2=1178957view=diff
==
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Tue Oct  4 21:20:41 2011
@@ -21,6 +21,7 @@
  * Fix bug where the failure detector can take too long to mark a host 
down (CASSANDRA-3273)
  * Fix stress COUNTER_GET option (CASSANDRA-3301)
+ * Nodetool no longer leaks threads and closes JMX connections (CASSANDRA-3309)
 
 
 0.8.6

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java?rev=1178957r1=1178956r2=1178957view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java
 Tue Oct  4 21:20:41 2011
@@ -585,132 +585,145 @@ public class NodeCmd
 {
 err(ioe, Error connection to remote JMX agent!);
 }
-
-NodeCommand command = null;
-
 try
 {
-command = cmd.getCommand();
-}
-catch (IllegalArgumentException e)
-{
-badUse(e.getMessage());
-}
-
+NodeCommand command = null;
 
-NodeCmd nodeCmd = new NodeCmd(probe);
-
-// Execute the requested command.
-String[] arguments = cmd.getCommandArguments();
+try
+{
+command = cmd.getCommand();
+}
+catch (IllegalArgumentException e)
+{
+badUse(e.getMessage());
+}
 
-switch (command)
-{
-case RING: nodeCmd.printRing(System.out); break;
-case INFO: nodeCmd.printInfo(System.out); break;
-case CFSTATS : nodeCmd.printColumnFamilyStats(System.out); 
break;
-case DECOMMISSION: probe.decommission(); break;
-case TPSTATS : nodeCmd.printThreadPoolStats(System.out); 
break;
-case VERSION : nodeCmd.printReleaseVersion(System.out); 
break;
-case COMPACTIONSTATS : nodeCmd.printCompactionStats(System.out); 
break;
-case DISABLEGOSSIP   : probe.stopGossiping(); break;
-case ENABLEGOSSIP: probe.startGossiping(); break;
-case DISABLETHRIFT   : probe.stopThriftServer(); break;
-case ENABLETHRIFT: probe.startThriftServer(); break;
-case STATUSTHRIFT: 
nodeCmd.printIsThriftServerRunning(System.out); break;
 
-case DRAIN :
-try { probe.drain(); }
-catch (ExecutionException ee) { err(ee, Error occured during 
flushing); }
-break;
+NodeCmd nodeCmd = new NodeCmd(probe);
 
-case NETSTATS :
-if (arguments.length  0) { 
nodeCmd.printNetworkStats(InetAddress.getByName(arguments[0]), System.out); }
-else  { nodeCmd.printNetworkStats(null, 
System.out); }
-break;
+// Execute the requested command.
+String[] arguments = cmd.getCommandArguments();
 
-case SNAPSHOT :
-case CLEARSNAPSHOT :
-String tag = cmd.getOptionValue(TAG_OPT.left);
-handleSnapshots(command, tag, arguments, probe);
-break;
+switch (command)
+{
+case RING: nodeCmd.printRing(System.out); break;
+case INFO: nodeCmd.printInfo(System.out); break;
+case CFSTATS : 
nodeCmd.printColumnFamilyStats(System.out); break;
+case DECOMMISSION: probe.decommission(); break;
+case TPSTATS : 
nodeCmd.printThreadPoolStats(System.out); break;
+case VERSION : 
nodeCmd.printReleaseVersion(System.out); break;
+case COMPACTIONSTATS : 
nodeCmd.printCompactionStats(System.out); break;
+case DISABLEGOSSIP   : probe.stopGossiping(); break

svn commit: r1179384 - in /cassandra/branches/cassandra-1.0.0: ./ contrib/ interface/thrift/gen-java/org/apache/cassandra/thrift/

2011-10-05 Thread brandonwilliams
Author: brandonwilliams
Date: Wed Oct  5 19:00:05 2011
New Revision: 1179384

URL: http://svn.apache.org/viewvc?rev=1179384view=rev
Log:
Merge 3309

Modified:
cassandra/branches/cassandra-1.0.0/   (props changed)
cassandra/branches/cassandra-1.0.0/contrib/   (props changed)

cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
   (props changed)

cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
   (props changed)

cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
   (props changed)

cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
   (props changed)

cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
   (props changed)

Propchange: cassandra/branches/cassandra-1.0.0/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Oct  5 19:00:05 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1131291
 /cassandra/branches/cassandra-0.7:1026516-1170333,1172024
 /cassandra/branches/cassandra-0.7.0:1053690-1055654
-/cassandra/branches/cassandra-0.8:1090934-1125013,1125019-1178554,1178785,1179359,1179364
+/cassandra/branches/cassandra-0.8:1090934-1125013,1125019-1178554,1178785,1178957,1179359,1179364
 /cassandra/branches/cassandra-0.8.0:1125021-1130369
 /cassandra/branches/cassandra-0.8.1:1101014-1125018
 /cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689

Propchange: cassandra/branches/cassandra-1.0.0/contrib/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Oct  5 19:00:05 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/contrib:922689-1052356,1052358-1053452,1053454,1053456-1068009
 /cassandra/branches/cassandra-0.7/contrib:1026516-1170333,1172024
 /cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
-/cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125019-1178554,1178785,1179359,1179364
+/cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125019-1178554,1178785,1178957,1179359,1179364
 /cassandra/branches/cassandra-0.8.0/contrib:1125021-1130369
 /cassandra/branches/cassandra-0.8.1/contrib:1101014-1125018
 /cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689

Propchange: 
cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Oct  5 19:00:05 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
 
/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1170333,1172024
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090934-1125013,1125019-1178554,1178785,1179359,1179364
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090934-1125013,1125019-1178554,1178785,1178957,1179359,1179364
 
/cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1125021-1130369
 
/cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1101014-1125018
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1051699-1053689

Propchange: 
cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Oct  5 19:00:05 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
 
/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1170333,1172024
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1090934-1125013,1125019-1178554,1178785,1179359,1179364
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1090934-1125013,1125019-1178554,1178785,1178957,1179359,1179364
 
/cassandra/branches/cassandra-0.8.0

svn commit: r1180277 - in /cassandra/branches/cassandra-1.0.0: conf/cassandra.yaml src/java/org/apache/cassandra/config/DatabaseDescriptor.java

2011-10-07 Thread brandonwilliams
Author: brandonwilliams
Date: Fri Oct  7 23:21:26 2011
New Revision: 1180277

URL: http://svn.apache.org/viewvc?rev=1180277view=rev
Log:
Bump hsha threads to cores * 4

Modified:
cassandra/branches/cassandra-1.0.0/conf/cassandra.yaml

cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/config/DatabaseDescriptor.java

Modified: cassandra/branches/cassandra-1.0.0/conf/cassandra.yaml
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/conf/cassandra.yaml?rev=1180277r1=1180276r2=1180277view=diff
==
--- cassandra/branches/cassandra-1.0.0/conf/cassandra.yaml (original)
+++ cassandra/branches/cassandra-1.0.0/conf/cassandra.yaml Fri Oct  7 23:21:26 
2011
@@ -219,7 +219,8 @@ rpc_server_type: sync
 # disconnects before accepting more.  The defaults for sync are min of 16 and 
max
 # unlimited.
 # 
-# For the Hsha server, the min and max both default to the number of CPU cores.
+# For the Hsha server, the min and max both default to quadruple the number of
+# CPU cores.
 #
 # This configuration is ignored by the async server.
 #

Modified: 
cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/config/DatabaseDescriptor.java?rev=1180277r1=1180276r2=1180277view=diff
==
--- 
cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
 (original)
+++ 
cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
 Fri Oct  7 23:21:26 2011
@@ -367,7 +367,7 @@ public class DatabaseDescriptor
 throw new ConfigurationException(Unknown rpc_server_type:  + 
conf.rpc_server_type);
 if (conf.rpc_min_threads == null)
 conf.rpc_min_threads = 
conf.rpc_server_type.toLowerCase().equals(hsha)
- ? 
Runtime.getRuntime().availableProcessors()
+ ? 
Runtime.getRuntime().availableProcessors() * 4
  : 16;
 if (conf.rpc_max_threads == null)
 conf.rpc_max_threads = 
conf.rpc_server_type.toLowerCase().equals(hsha)




svn commit: r1181816 - /cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/config/DatabaseDescriptor.java

2011-10-11 Thread brandonwilliams
Author: brandonwilliams
Date: Tue Oct 11 14:51:08 2011
New Revision: 1181816

URL: http://svn.apache.org/viewvc?rev=1181816view=rev
Log:
Fix hsha pool size

Modified:

cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/config/DatabaseDescriptor.java

Modified: 
cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/config/DatabaseDescriptor.java?rev=1181816r1=1181815r2=1181816view=diff
==
--- 
cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
 (original)
+++ 
cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
 Tue Oct 11 14:51:08 2011
@@ -371,7 +371,7 @@ public class DatabaseDescriptor
  : 16;
 if (conf.rpc_max_threads == null)
 conf.rpc_max_threads = 
conf.rpc_server_type.toLowerCase().equals(hsha)
- ? 
Runtime.getRuntime().availableProcessors()
+ ? 
Runtime.getRuntime().availableProcessors() * 4
  : Integer.MAX_VALUE;
 
 /* data file and commit log directories. they get created later, 
when they're needed. */




svn commit: r1182456 - /cassandra/branches/cassandra-0.8/contrib/pig/bin/pig_cassandra

2011-10-12 Thread brandonwilliams
Author: brandonwilliams
Date: Wed Oct 12 16:12:44 2011
New Revision: 1182456

URL: http://svn.apache.org/viewvc?rev=1182456view=rev
Log:
Fix pig script to only pick up a single pig jar.
Patch by Brian Oneill, reviewed by brandonwilliams for CASSANDRA-3320

Modified:
cassandra/branches/cassandra-0.8/contrib/pig/bin/pig_cassandra

Modified: cassandra/branches/cassandra-0.8/contrib/pig/bin/pig_cassandra
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/contrib/pig/bin/pig_cassandra?rev=1182456r1=1182455r2=1182456view=diff
==
--- cassandra/branches/cassandra-0.8/contrib/pig/bin/pig_cassandra (original)
+++ cassandra/branches/cassandra-0.8/contrib/pig/bin/pig_cassandra Wed Oct 12 
16:12:44 2011
@@ -38,11 +38,15 @@ if [ x$PIG_HOME = x ]; then
 fi
 
 # pig jar.
-PIG_JAR=$PIG_HOME/pig*.jar
+for jar in $PIG_HOME/*.jar; do
+   PIG_JAR=$jar
+done
+echo Using $PIG_JAR.
 if [ ! -e $PIG_JAR ]; then
 echo Unable to locate Pig jar 2
 exit 1
 fi
+
 CLASSPATH=$CLASSPATH:$PIG_JAR
 
 export PIG_CLASSPATH=$PIG_CLASSPATH:$CLASSPATH




svn commit: r1182457 - in /cassandra/branches/cassandra-1.0: src/java/org/apache/cassandra/gms/ src/java/org/apache/cassandra/service/ test/unit/org/apache/cassandra/service/

2011-10-12 Thread brandonwilliams
Author: brandonwilliams
Date: Wed Oct 12 16:17:02 2011
New Revision: 1182457

URL: http://svn.apache.org/viewvc?rev=1182457view=rev
Log:
Expire dead gossip states based on time.
Patch by Jérémy Sevellec, reviewed by Paul Cannon and brandonwilliams
for CASSANDRA-2961

Modified:

cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/gms/Gossiper.java

cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/gms/VersionedValue.java

cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/service/StorageService.java

cassandra/branches/cassandra-1.0/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java

Modified: 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/gms/Gossiper.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/gms/Gossiper.java?rev=1182457r1=1182456r2=1182457view=diff
==
--- 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/gms/Gossiper.java
 (original)
+++ 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/gms/Gossiper.java
 Wed Oct 12 16:17:02 2011
@@ -75,7 +75,7 @@ public class Gossiper implements IFailur
 private static Logger logger = LoggerFactory.getLogger(Gossiper.class);
 public static final Gossiper instance = new Gossiper();
 
-private long aVeryLongTime;
+public static final long aVeryLongTime = 259200 * 1000; // 3 days
 private long FatClientTimeout;
 private Random random = new Random();
 private ComparatorInetAddress inetcomparator = new 
ComparatorInetAddress()
@@ -107,6 +107,8 @@ public class Gossiper implements IFailur
  * gossip gets propagated to all nodes */
 private MapInetAddress, Long justRemovedEndpoints = new 
ConcurrentHashMapInetAddress, Long();
 
+private MapInetAddress, Long expireTimeEndpointMap = new 
ConcurrentHashMapInetAddress, Long();
+
 // protocol versions of the other nodes in the cluster
 private final ConcurrentMapInetAddress, Integer versions = new 
NonBlockingHashMapInetAddress, Integer();
 
@@ -174,8 +176,6 @@ public class Gossiper implements IFailur
 
 private Gossiper()
 {
-// 3 days
-aVeryLongTime = 259200 * 1000;
 // half of QUARATINE_DELAY, to ensure justRemovedEndpoints has enough 
leeway to prevent re-gossip
 FatClientTimeout = (long)(QUARANTINE_DELAY / 2);
 /* register with the Failure Detector for receiving Failure detector 
events */
@@ -296,6 +296,7 @@ public class Gossiper implements IFailur
 {
 unreachableEndpoints.remove(endpoint);
 endpointStateMap.remove(endpoint);
+expireTimeEndpointMap.remove(endpoint);
 justRemovedEndpoints.put(endpoint, System.currentTimeMillis());
 if (logger.isDebugEnabled())
 logger.debug(evicting  + endpoint +  from gossip);
@@ -417,7 +418,7 @@ public class Gossiper implements IFailur
 EndpointState epState = endpointStateMap.get(endpoint);
 epState.updateTimestamp(); // make sure we don't evict it too soon
 epState.getHeartBeatState().forceNewerGenerationUnsafe();
-epState.addApplicationState(ApplicationState.STATUS, 
StorageService.instance.valueFactory.removedNonlocal(token));
+epState.addApplicationState(ApplicationState.STATUS, 
StorageService.instance.valueFactory.removedNonlocal(token,computeExpireTime()));
 logger.info(Completing removal of  + endpoint);
 endpointStateMap.put(endpoint, epState);
 // ensure at least one gossip round occurs before returning
@@ -572,8 +573,14 @@ public class Gossiper implements IFailur
 evictFromMembership(endpoint); // can get rid of the state 
immediately
 }
 
-if ( !epState.isAlive()  (duration  aVeryLongTime)  
(!StorageService.instance.getTokenMetadata().isMember(endpoint)))
+long expireTime = getExpireTimeForEndpoint(endpoint);
+if (!epState.isAlive()  (now  expireTime)
+ 
(!StorageService.instance.getTokenMetadata().isMember(endpoint)))
 {
+if (logger.isDebugEnabled())
+{
+logger.debug(time is expiring for endpoint :  + 
endpoint +  ( + expireTime + ));
+}
 evictFromMembership(endpoint);
 }
 }
@@ -592,6 +599,17 @@ public class Gossiper implements IFailur
 }
 }
 }
+
+protected long getExpireTimeForEndpoint(InetAddress endpoint)
+{
+/* default expireTime is aVeryLongTime */
+long expireTime = computeExpireTime();
+if (expireTimeEndpointMap.containsKey(endpoint))
+{
+expireTime = expireTimeEndpointMap.get(endpoint);
+}
+return expireTime;
+}
 
 public EndpointState

svn commit: r1182458 - /cassandra/branches/cassandra-1.0/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java

2011-10-12 Thread brandonwilliams
Author: brandonwilliams
Date: Wed Oct 12 16:21:19 2011
New Revision: 1182458

URL: http://svn.apache.org/viewvc?rev=1182458view=rev
Log:
Fix pig build after FBU-Hex move.
Patch by Brian Oneill reviewed by brandonwilliams for CASSANDRA-3341

Modified:

cassandra/branches/cassandra-1.0/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java

Modified: 
cassandra/branches/cassandra-1.0/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java?rev=1182458r1=1182457r2=1182458view=diff
==
--- 
cassandra/branches/cassandra-1.0/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
 (original)
+++ 
cassandra/branches/cassandra-1.0/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
 Wed Oct 12 16:21:19 2011
@@ -26,7 +26,7 @@ import org.apache.cassandra.db.marshal.B
 import org.apache.cassandra.db.marshal.IntegerType;
 import org.apache.cassandra.db.marshal.TypeParser;
 import org.apache.cassandra.thrift.*;
-import org.apache.cassandra.utils.FBUtilities;
+import org.apache.cassandra.utils.Hex;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
@@ -601,7 +601,7 @@ public class CassandraStorage extends Lo
 TSerializer serializer = new TSerializer(new 
TBinaryProtocol.Factory());
 try
 {
-return FBUtilities.bytesToHex(serializer.serialize(cfDef));
+return Hex.bytesToHex(serializer.serialize(cfDef));
 }
 catch (TException e)
 {
@@ -616,7 +616,7 @@ public class CassandraStorage extends Lo
 CfDef cfDef = new CfDef();
 try
 {
-deserializer.deserialize(cfDef, FBUtilities.hexToBytes(st));
+deserializer.deserialize(cfDef, Hex.hexToBytes(st));
 }
 catch (TException e)
 {




svn commit: r1182463 - in /cassandra/branches/cassandra-0.8: CHANGES.txt src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java

2011-10-12 Thread brandonwilliams
Author: brandonwilliams
Date: Wed Oct 12 16:25:00 2011
New Revision: 1182463

URL: http://svn.apache.org/viewvc?rev=1182463view=rev
Log:
Skip empty rows when slicing the entire row.
Patch by Jeremy Hanna and brandonwilliams, reviewed by Jeremy Hanna for
CASSANDRA-2855

Modified:
cassandra/branches/cassandra-0.8/CHANGES.txt

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java

Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1182463r1=1182462r2=1182463view=diff
==
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Wed Oct 12 16:25:00 2011
@@ -4,6 +4,7 @@
  * (CQL) update grammar to require key clause in DELETE statement
(CASSANDRA-3349)
  * (CQL) allow numeric keyspace names in USE statement (CASSANDRA-3350)
+ * (Hadoop) skip empty rows when slicing the entire row (CASSANDRA-2855)
 
 
 0.8.7

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java?rev=1182463r1=1182462r2=1182463view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java
 Wed Oct 12 16:25:00 2011
@@ -98,7 +98,7 @@ public class ColumnFamilyRecordReader ex
 batchRowCount = ConfigHelper.getRangeBatchSize(conf);
 cfName = ConfigHelper.getInputColumnFamily(conf);
 consistencyLevel = 
ConsistencyLevel.valueOf(ConfigHelper.getReadConsistencyLevel(conf));
-
+
 
 keyspace = ConfigHelper.getInputKeyspace(conf);
 
@@ -257,14 +257,24 @@ public class ColumnFamilyRecordReader ex
 rows = null;
 return;
 }
-   
-// reset to iterate through this new batch
-i = 0;
+
+// Pre-compute the last row key, before removing empty rows
+ByteBuffer lastRowKey = rows.get(rows.size() - 1).key;
+
+// only remove empty rows if the slice predicate is empty
+if (isPredicateEmpty(predicate))
+{
+IteratorKeySlice rowsIterator = rows.iterator();
+while (rowsIterator.hasNext())
+if (rowsIterator.next().columns.isEmpty())
+rowsIterator.remove();
+}
 
+// reset to iterate through the new batch
+i = 0;
+
 // prepare for the next slice to be read
-KeySlice lastRow = rows.get(rows.size() - 1);
-ByteBuffer rowkey = lastRow.key;
-startToken = 
partitioner.getTokenFactory().toString(partitioner.getToken(rowkey));
+startToken = 
partitioner.getTokenFactory().toString(partitioner.getToken(lastRowKey));
 }
 catch (Exception e)
 {
@@ -339,4 +349,16 @@ public class ColumnFamilyRecordReader ex
 return sc;
 }
 }
+
+private boolean isPredicateEmpty(SlicePredicate predicate)
+{
+if (predicate != null)
+if (predicate.isSetSlice_range())
+if (predicate.getSlice_range().getStart() != null  
predicate.getSlice_range().getFinish() != null)
+return false;
+else if (predicate.isSetColumn_names())
+return false;
+
+return true;
+}
 }




svn commit: r1183489 - in /cassandra/branches/cassandra-0.8: CHANGES.txt src/java/org/apache/cassandra/hadoop/ColumnFamilyInputFormat.java

2011-10-14 Thread brandonwilliams
Author: brandonwilliams
Date: Fri Oct 14 20:27:43 2011
New Revision: 1183489

URL: http://svn.apache.org/viewvc?rev=1183489view=rev
Log:
Make CFIF use rpc_endpoint prior to trying endpoint.
Patch by Eldon Stegall and Scott Fines, reviewed by brandonwilliams for
CASSANDRA-3214

Modified:
cassandra/branches/cassandra-0.8/CHANGES.txt

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/hadoop/ColumnFamilyInputFormat.java

Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1183489r1=1183488r2=1183489view=diff
==
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Fri Oct 14 20:27:43 2011
@@ -10,6 +10,8 @@
  * Display CLI version string on startup (CASSANDRA-3196)
  * Only count compaction as active (for throttling) when they have
successfully acquired the compaction lock (CASSANDRA-3344)
+ * (Hadoop) make CFIF try rpc_address or fallback to listen_address
+   (CASSANDRA-3214)
 
 
 0.8.7

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/hadoop/ColumnFamilyInputFormat.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/hadoop/ColumnFamilyInputFormat.java?rev=1183489r1=1183488r2=1183489view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/hadoop/ColumnFamilyInputFormat.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/hadoop/ColumnFamilyInputFormat.java
 Fri Oct 14 20:27:43 2011
@@ -188,13 +188,17 @@ public class ColumnFamilyInputFormat ext
 {
 ArrayListInputSplit splits = new ArrayListInputSplit();
 ListString tokens = getSubSplits(keyspace, cfName, range, conf);
-
+assert range.rpc_endpoints.size() == range.endpoints.size() : 
rpc_endpoints size must match endpoints size;
 // turn the sub-ranges into InputSplits
 String[] endpoints = range.endpoints.toArray(new 
String[range.endpoints.size()]);
 // hadoop needs hostname, not ip
-for (int i = 0; i  endpoints.length; i++)
+int endpointIndex = 0;
+for (String endpoint: range.rpc_endpoints)
 {
-endpoints[i] = 
InetAddress.getByName(endpoints[i]).getHostName();
+String endpoint_address = endpoint;
+   if(endpoint_address == null || endpoint_address == 
0.0.0.0)
+   endpoint_address = 
range.endpoints.get(endpointIndex);
+   endpoints[endpointIndex++] = 
InetAddress.getByName(endpoint_address).getHostName();
 }
 
 for (int i = 1; i  tokens.size(); i++)
@@ -210,7 +214,7 @@ public class ColumnFamilyInputFormat ext
 private ListString getSubSplits(String keyspace, String cfName, 
TokenRange range, Configuration conf) throws IOException
 {
 int splitsize = ConfigHelper.getInputSplitSize(conf);
-for (String host : range.endpoints)
+for (String host : range.rpc_endpoints)
 {
 try
 {




svn commit: r1183506 - in /cassandra/branches/cassandra-0.8: ./ contrib/pig/src/java/org/apache/cassandra/hadoop/pig/ src/java/org/apache/cassandra/client/ src/java/org/apache/cassandra/hadoop/ test/d

2011-10-14 Thread brandonwilliams
Author: brandonwilliams
Date: Fri Oct 14 21:22:14 2011
New Revision: 1183506

URL: http://svn.apache.org/viewvc?rev=1183506view=rev
Log:
Unify hadoop support for accept CDL for initial thrift address
Patch by Eldon Stegall, reviewed by brandonwilliams for CASSANDRA-3185

Modified:
cassandra/branches/cassandra-0.8/CHANGES.txt

cassandra/branches/cassandra-0.8/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/client/RingCache.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/hadoop/ColumnFamilyInputFormat.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordWriter.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/hadoop/ConfigHelper.java

cassandra/branches/cassandra-0.8/test/distributed/org/apache/cassandra/TestBase.java

cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/client/TestRingCache.java

Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1183506r1=1183505r2=1183506view=diff
==
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Fri Oct 14 21:22:14 2011
@@ -12,6 +12,8 @@
successfully acquired the compaction lock (CASSANDRA-3344)
  * (Hadoop) make CFIF try rpc_address or fallback to listen_address
(CASSANDRA-3214)
+ * (Hadoop) accept comma delimited lists of initial thrift connections
+   (CASSANDRA-3185)
 
 
 0.8.7

Modified: 
cassandra/branches/cassandra-0.8/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java?rev=1183506r1=1183505r2=1183506view=diff
==
--- 
cassandra/branches/cassandra-0.8/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
 Fri Oct 14 21:22:14 2011
@@ -545,7 +545,7 @@ public class CassandraStorage extends Lo
 Cassandra.Client client = null;
 try
 {
-client = 
createConnection(ConfigHelper.getInitialAddress(conf), 
ConfigHelper.getRpcPort(conf), true);
+client = ConfigHelper.getClientFromAddressList(conf);
 CfDef cfDef = null;
 client.set_keyspace(keyspace);
 KsDef ksDef = client.describe_keyspace(keyspace);
@@ -579,21 +579,6 @@ public class CassandraStorage extends Lo
 }
 }
 
-private static Cassandra.Client createConnection(String host, Integer 
port, boolean framed) throws IOException
-{
-TSocket socket = new TSocket(host, port);
-TTransport trans = framed ? new TFramedTransport(socket) : socket;
-try
-{
-trans.open();
-}
-catch (TTransportException e)
-{
-throw new IOException(unable to connect to server, e);
-}
-return new Cassandra.Client(new TBinaryProtocol(trans));
-}
-
 private static String cfdefToString(CfDef cfDef)
 {
 assert cfDef != null;

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/client/RingCache.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/client/RingCache.java?rev=1183506r1=1183505r2=1183506view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/client/RingCache.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/client/RingCache.java
 Fri Oct 14 21:22:14 2011
@@ -21,25 +21,22 @@ import java.io.IOException;
 import java.net.InetAddress;
 import java.net.UnknownHostException;
 import java.nio.ByteBuffer;
-import java.util.HashSet;
 import java.util.List;
-import java.util.Set;
-
-import com.google.common.collect.ArrayListMultimap;
-import com.google.common.collect.Multimap;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import org.apache.cassandra.dht.IPartitioner;
 import org.apache.cassandra.dht.Range;
 import org.apache.cassandra.dht.Token;
+import org.apache.cassandra.hadoop.ConfigHelper;
 import org.apache.cassandra.thrift.Cassandra;
 import org.apache.cassandra.thrift.InvalidRequestException;
 import org.apache.cassandra.thrift.TokenRange;
+import org.apache.hadoop.conf.Configuration;
 import org.apache.thrift.TException;
-import org.apache.cassandra.thrift.TBinaryProtocol;
-import org.apache.thrift.transport.TFramedTransport;
-import

svn commit: r1183518 - in /cassandra/branches/cassandra-0.8: CHANGES.txt contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java

2011-10-14 Thread brandonwilliams
Author: brandonwilliams
Date: Fri Oct 14 21:57:29 2011
New Revision: 1183518

URL: http://svn.apache.org/viewvc?rev=1183518view=rev
Log:
Add 0.8+ types and key validation type to pig schema.
Patch by Steeve Morin, reviewed by brandonwilliams for CASSANDRA-3280

Modified:
cassandra/branches/cassandra-0.8/CHANGES.txt

cassandra/branches/cassandra-0.8/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java

Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1183518r1=1183517r2=1183518view=diff
==
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Fri Oct 14 21:57:29 2011
@@ -15,6 +15,8 @@
  * (Hadoop) accept comma delimited lists of initial thrift connections
(CASSANDRA-3185)
  * ColumnFamily min_compaction_threshold should be = 2 (CASSANDRA-3342)
+ * (Pig) add 0.8+ types and key validation type in schema (CASSANDRA-3280)
+
 
 0.8.7
  * Kill server on wrapped OOME such as from FileChannel.map (CASSANDRA-3201)

Modified: 
cassandra/branches/cassandra-0.8/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java?rev=1183518r1=1183517r2=1183518view=diff
==
--- 
cassandra/branches/cassandra-0.8/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
 Fri Oct 14 21:57:29 2011
@@ -107,7 +107,7 @@ public class CassandraStorage extends Lo
 return limit;
 }
 
-   @Override
+@Override
 public Tuple getNext() throws IOException
 {
 try
@@ -122,7 +122,7 @@ public class CassandraStorage extends Lo
 assert key != null  cf != null;
 
 // and wrap it in a tuple
-   Tuple tuple = TupleFactory.getInstance().newTuple(2);
+Tuple tuple = TupleFactory.getInstance().newTuple(2);
 ArrayListTuple columns = new ArrayListTuple();
 tuple.set(0, new DataByteArray(key.array(), 
key.position()+key.arrayOffset(), key.limit()+key.arrayOffset()));
 for (Map.EntryByteBuffer, IColumn entry : cf.entrySet())
@@ -187,10 +187,12 @@ public class CassandraStorage extends Lo
 ArrayListAbstractType marshallers = new ArrayListAbstractType();
 AbstractType comparator = null;
 AbstractType default_validator = null;
+AbstractType key_validator = null;
 try
 {
-comparator = TypeParser.parse(cfDef.comparator_type);
-default_validator = 
TypeParser.parse(cfDef.default_validation_class);
+comparator = TypeParser.parse(cfDef.getComparator_type());
+default_validator = 
TypeParser.parse(cfDef.getDefault_validation_class());
+key_validator = TypeParser.parse(cfDef.getKey_validation_class());
 }
 catch (ConfigurationException e)
 {
@@ -199,13 +201,14 @@ public class CassandraStorage extends Lo
 
 marshallers.add(comparator);
 marshallers.add(default_validator);
+marshallers.add(key_validator);
 return marshallers;
 }
 
-private MapByteBuffer,AbstractType getValidatorMap(CfDef cfDef) throws  
IOException
+private MapByteBuffer, AbstractType getValidatorMap(CfDef cfDef) throws 
IOException
 {
 MapByteBuffer, AbstractType validators = new HashMapByteBuffer, 
AbstractType();
-for (ColumnDef cd : cfDef.column_metadata)
+for (ColumnDef cd : cfDef.getColumn_metadata())
 {
 if (cd.getValidation_class() != null  
!cd.getValidation_class().isEmpty())
 {
@@ -236,6 +239,18 @@ public class CassandraStorage extends Lo
 this.reader = reader;
 }
 
+public static MapString, String getQueryMap(String query)
+{
+String[] params = query.split();
+MapString, String map = new HashMapString, String();
+for (String param : params)
+{
+String[] keyValue = param.split(=);
+map.put(keyValue[0], keyValue[1]);
+}
+return map;
+}
+
 private void setLocationFromUri(String location) throws IOException
 {
 // parse uri into keyspace and columnfamily
@@ -247,18 +262,18 @@ public class CassandraStorage extends Lo
 String[] urlParts = location.split(\\?);
 if (urlParts.length  1)
 {
-for (String param : urlParts[1].split())
-{
-String[] pair = param.split(=);
-if (pair[0].equals(slice_start

svn commit: r1185292 - in /cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra: db/compaction/LeveledCompactionStrategy.java db/compaction/LeveledCompactionTask.java io/compress/Compression

2011-10-17 Thread brandonwilliams
Author: brandonwilliams
Date: Mon Oct 17 17:19:10 2011
New Revision: 1185292

URL: http://svn.apache.org/viewvc?rev=1185292view=rev
Log:
Use long math in compaction/compression.
Patch by Dave Brosius, reviewed by brandonwilliams for CASSANDRA-3364

Modified:

cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java

cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/compaction/LeveledCompactionTask.java

cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java

Modified: 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java?rev=1185292r1=1185291r2=1185292view=diff
==
--- 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java
 (original)
+++ 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java
 Mon Oct 17 17:19:10 2011
@@ -154,7 +154,7 @@ public class LeveledCompactionStrategy e
 
 public long getMaxSSTableSize()
 {
-return maxSSTableSizeInMB * 1024 * 1024;
+return maxSSTableSizeInMB * 1024L * 1024L;
 }
 
 public boolean isKeyExistenceExpensive(Set? extends SSTable 
sstablesToIgnore)

Modified: 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/compaction/LeveledCompactionTask.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/compaction/LeveledCompactionTask.java?rev=1185292r1=1185291r2=1185292view=diff
==
--- 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/compaction/LeveledCompactionTask.java
 (original)
+++ 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/compaction/LeveledCompactionTask.java
 Mon Oct 17 17:19:10 2011
@@ -65,7 +65,7 @@ public class LeveledCompactionTask exten
 @Override
 protected boolean newSSTableSegmentThresholdReached(SSTableWriter writer, 
long position)
 {
-return position  sstableSizeInMB * 1024 * 1024;
+return position  sstableSizeInMB * 1024L * 1024L;
 }
 
 @Override

Modified: 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java?rev=1185292r1=1185291r2=1185292view=diff
==
--- 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java
 (original)
+++ 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java
 Mon Oct 17 17:19:10 2011
@@ -199,7 +199,7 @@ public class CompressionMetadata
 seek(dataLengthOffset
  + 8 // size reserved for uncompressed data length
  + 4 // size reserved for chunk count
- + (chunkIndex * 8));
+ + (chunkIndex * 8L));
 
 try
 {
@@ -221,7 +221,7 @@ public class CompressionMetadata
 seek(dataLengthOffset
  + 8 // size reserved for uncompressed data length
  + 4 // size reserved for chunk count
- + (chunkIndex * 8));
+ + (chunkIndex * 8L));
 getChannel().truncate(getFilePointer());
 }
 }




svn commit: r1185294 - /cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/ColumnFamilyStore.java

2011-10-17 Thread brandonwilliams
Author: brandonwilliams
Date: Mon Oct 17 17:21:23 2011
New Revision: 1185294

URL: http://svn.apache.org/viewvc?rev=1185294view=rev
Log:
Don't stutter exception message when failing to unregister CFS mbean.
Patch by Dave Brosius, reviewed by brandonwilliams for CASSANDRA-3365

Modified:

cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/ColumnFamilyStore.java

Modified: 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/ColumnFamilyStore.java?rev=1185294r1=1185293r2=1185294view=diff
==
--- 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
 (original)
+++ 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
 Mon Oct 17 17:21:23 2011
@@ -256,7 +256,7 @@ public class ColumnFamilyStore implement
 catch (Exception e)
 {
 // this shouldn't block anything.
-logger.warn(e.getMessage(), e);
+logger.warn(Failed unregistering mbean:  + mbeanName, e);
 }
 }
 




svn commit: r1185757 - /cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/HintedHandOffManager.java

2011-10-18 Thread brandonwilliams
Author: brandonwilliams
Date: Tue Oct 18 17:04:56 2011
New Revision: 1185757

URL: http://svn.apache.org/viewvc?rev=1185757view=rev
Log:
HHOM only sleeps for rounded intervals to prevent problems on windows.
Patch by Flavio Baronti, reviewed by brandonwilliams for CASSANDRA-3375

Modified:

cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/HintedHandOffManager.java

Modified: 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/HintedHandOffManager.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/HintedHandOffManager.java?rev=1185757r1=1185756r2=1185757view=diff
==
--- 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/HintedHandOffManager.java
 (original)
+++ 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/HintedHandOffManager.java
 Tue Oct 18 17:04:56 2011
@@ -236,7 +236,7 @@ public class HintedHandOffManager implem
 // sleep a random amount to stagger handoff delivery from 
different replicas.
 // (if we had to wait, then gossiper randomness took care of that 
for us already.)
 if (waited == 0) {
-int sleep = FBUtilities.threadLocalRandom().nextInt(6);
+int sleep = FBUtilities.threadLocalRandom().nextInt(2000) * 30;
 logger_.debug(Sleeping {}ms to stagger hint delivery, sleep);
 Thread.sleep(sleep);
 }




svn commit: r1185760 - /cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/HintedHandOffManager.java

2011-10-18 Thread brandonwilliams
Author: brandonwilliams
Date: Tue Oct 18 17:15:55 2011
New Revision: 1185760

URL: http://svn.apache.org/viewvc?rev=1185760view=rev
Log:
add comment to explain 3375

Modified:

cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/HintedHandOffManager.java

Modified: 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/HintedHandOffManager.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/HintedHandOffManager.java?rev=1185760r1=1185759r2=1185760view=diff
==
--- 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/HintedHandOffManager.java
 (original)
+++ 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/HintedHandOffManager.java
 Tue Oct 18 17:15:55 2011
@@ -236,6 +236,7 @@ public class HintedHandOffManager implem
 // sleep a random amount to stagger handoff delivery from 
different replicas.
 // (if we had to wait, then gossiper randomness took care of that 
for us already.)
 if (waited == 0) {
+// use a 'rounded' sleep interval because of a strange bug 
with windows: CASSANDRA-3375
 int sleep = FBUtilities.threadLocalRandom().nextInt(2000) * 30;
 logger_.debug(Sleeping {}ms to stagger hint delivery, sleep);
 Thread.sleep(sleep);




svn commit: r1187578 - in /cassandra/branches/cassandra-0.8: CHANGES.txt src/java/org/apache/cassandra/gms/Gossiper.java

2011-10-21 Thread brandonwilliams
Author: brandonwilliams
Date: Fri Oct 21 22:21:54 2011
New Revision: 1187578

URL: http://svn.apache.org/viewvc?rev=1187578view=rev
Log:
Prevent nodes that failed to join from being stuck in the joining state
indefinitely.
Patch by brandonwilliams, reviewed by Paul Cannon for CASSANDRA-3351

Modified:
cassandra/branches/cassandra-0.8/CHANGES.txt

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java

Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1187578r1=1187577r2=1187578view=diff
==
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Fri Oct 21 22:21:54 2011
@@ -29,6 +29,7 @@
  * fix assertionError during repair with ordered partitioners (CASSANDRA-3369)
  * correctly serialize key_validation_class for avro (CASSANDRA-3391)
  * don't expire counter tombstone after streaming (CASSANDRA-3394)
+ * prevent nodes that failed to join from hanging around forever 
(CASSANDRA-3351)
 
 
 0.8.7

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java?rev=1187578r1=1187577r2=1187578view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java
 Fri Oct 21 22:21:54 2011
@@ -541,15 +541,18 @@ public class Gossiper implements IFailur
 {
 long duration = now - epState.getUpdateTimestamp();
 
-if 
(StorageService.instance.getTokenMetadata().isMember(endpoint))
-epState.setHasToken(true);
 // check if this is a fat client. fat clients are removed 
automatically from
 // gosip after FatClientTimeout
 if (!epState.hasToken()  !epState.isAlive()  
!justRemovedEndpoints.containsKey(endpoint)  (duration  FatClientTimeout))
 {
-logger.info(FatClient  + endpoint +  has been silent 
for  + FatClientTimeout + ms, removing from gossip);
-removeEndpoint(endpoint); // will put it in 
justRemovedEndpoints to respect quarantine delay
-evictFromMembership(endpoint); // can get rid of the state 
immediately
+if 
(StorageService.instance.getTokenMetadata().isMember(endpoint))
+epState.setHasToken(true);
+else
+{
+logger.info(FatClient  + endpoint +  has been 
silent for  + FatClientTimeout + ms, removing from gossip);
+removeEndpoint(endpoint); // will put it in 
justRemovedEndpoints to respect quarantine delay
+evictFromMembership(endpoint); // can get rid of the 
state immediately
+}
 }
 
 if ( !epState.isAlive()  (duration  aVeryLongTime)  
(!StorageService.instance.getTokenMetadata().isMember(endpoint)))
@@ -728,7 +731,7 @@ public class Gossiper implements IFailur
  */
 private void handleMajorStateChange(InetAddress ep, EndpointState epState)
 {
-if (epState.getApplicationState(ApplicationState.STATUS) != null  
!isDeadState(epState.getApplicationState(ApplicationState.STATUS).value))
+if (!isDeadState(epState))
 {
 if (endpointStateMap.get(ep) != null)
 logger.info(Node {} has restarted, now UP again, ep);
@@ -743,7 +746,7 @@ public class Gossiper implements IFailur
 for (IEndpointStateChangeSubscriber subscriber : subscribers)
 subscriber.onRestart(ep, epState);
 
-if (epState.getApplicationState(ApplicationState.STATUS) != null  
!isDeadState(epState.getApplicationState(ApplicationState.STATUS).value))
+if (!isDeadState(epState))
 markAlive(ep, epState);
 else
 {
@@ -755,8 +758,11 @@ public class Gossiper implements IFailur
 subscriber.onJoin(ep, epState);
 }
 
-private Boolean isDeadState(String value)
+private Boolean isDeadState(EndpointState epState)
 {
+if (epState.getApplicationState(ApplicationState.STATUS) == null)
+return false;
+String value = 
epState.getApplicationState(ApplicationState.STATUS).value;
 String[] pieces = value.split(VersionedValue.DELIMITER_STR, -1);
 assert (pieces.length  0);
 String state = pieces[0];




svn commit: r1187579 - in /cassandra/branches/cassandra-1.0: CHANGES.txt src/java/org/apache/cassandra/gms/Gossiper.java

2011-10-21 Thread brandonwilliams
Author: brandonwilliams
Date: Fri Oct 21 22:28:16 2011
New Revision: 1187579

URL: http://svn.apache.org/viewvc?rev=1187579view=rev
Log:
Merge 3351

Modified:
cassandra/branches/cassandra-1.0/CHANGES.txt

cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/gms/Gossiper.java

Modified: cassandra/branches/cassandra-1.0/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/CHANGES.txt?rev=1187579r1=1187578r2=1187579view=diff
==
--- cassandra/branches/cassandra-1.0/CHANGES.txt (original)
+++ cassandra/branches/cassandra-1.0/CHANGES.txt Fri Oct 21 22:28:16 2011
@@ -50,6 +50,7 @@ Merged from 0.8:
  * fix assertionError during repair with ordered partitioners (CASSANDRA-3369)
  * correctly serialize key_validation_class for avro (CASSANDRA-3391)
  * don't expire counter tombstone after streaming (CASSANDRA-3394)
+ * prevent nodes that failed to join from hanging around forever 
(CASSANDRA-3351)
 
 
 1.0.0-final

Modified: 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/gms/Gossiper.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/gms/Gossiper.java?rev=1187579r1=1187578r2=1187579view=diff
==
--- 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/gms/Gossiper.java
 (original)
+++ 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/gms/Gossiper.java
 Fri Oct 21 22:28:16 2011
@@ -562,15 +562,18 @@ public class Gossiper implements IFailur
 {
 long duration = now - epState.getUpdateTimestamp();
 
-if 
(StorageService.instance.getTokenMetadata().isMember(endpoint))
-epState.setHasToken(true);
 // check if this is a fat client. fat clients are removed 
automatically from
 // gosip after FatClientTimeout
 if (!epState.hasToken()  !epState.isAlive()  
!justRemovedEndpoints.containsKey(endpoint)  (duration  FatClientTimeout))
 {
-logger.info(FatClient  + endpoint +  has been silent 
for  + FatClientTimeout + ms, removing from gossip);
-removeEndpoint(endpoint); // will put it in 
justRemovedEndpoints to respect quarantine delay
-evictFromMembership(endpoint); // can get rid of the state 
immediately
+if 
(StorageService.instance.getTokenMetadata().isMember(endpoint))
+epState.setHasToken(true);
+else
+{
+logger.info(FatClient  + endpoint +  has been 
silent for  + FatClientTimeout + ms, removing from gossip);
+removeEndpoint(endpoint); // will put it in 
justRemovedEndpoints to respect quarantine delay
+evictFromMembership(endpoint); // can get rid of the 
state immediately
+}
 }
 
 long expireTime = getExpireTimeForEndpoint(endpoint);
@@ -768,7 +771,7 @@ public class Gossiper implements IFailur
  */
 private void handleMajorStateChange(InetAddress ep, EndpointState epState)
 {
-if (epState.getApplicationState(ApplicationState.STATUS) != null  
!isDeadState(epState))
+if (!isDeadState(epState))
 {
 if (endpointStateMap.get(ep) != null)
 logger.info(Node {} has restarted, now UP, ep);
@@ -783,7 +786,7 @@ public class Gossiper implements IFailur
 for (IEndpointStateChangeSubscriber subscriber : subscribers)
 subscriber.onRestart(ep, epState);
 
-if (epState.getApplicationState(ApplicationState.STATUS) != null  
!isDeadState(epState))
+if (!isDeadState(epState))
 markAlive(ep, epState);
 else
 {
@@ -797,6 +800,8 @@ public class Gossiper implements IFailur
 
 public Boolean isDeadState(EndpointState epState)
 {
+if (epState.getApplicationState(ApplicationState.STATUS) == null)
+return false;
 String value = 
epState.getApplicationState(ApplicationState.STATUS).value;
 String[] pieces = value.split(VersionedValue.DELIMITER_STR, -1);
 assert (pieces.length  0);




svn commit: r1189412 - in /cassandra/branches/cassandra-1.0: interface/cassandra.thrift interface/thrift/gen-java/org/apache/cassandra/thrift/EndpointDetails.java src/java/org/apache/cassandra/thrift/

2011-10-26 Thread brandonwilliams
Author: brandonwilliams
Date: Wed Oct 26 19:50:02 2011
New Revision: 1189412

URL: http://svn.apache.org/viewvc?rev=1189412view=rev
Log:
Correct describe_ring topology info errors from 2882.
Patch by patricioe, reviewed by brandonwilliams for CASSANDRA-3403.

Modified:
cassandra/branches/cassandra-1.0/interface/cassandra.thrift

cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/EndpointDetails.java

cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/thrift/CassandraServer.java

Modified: cassandra/branches/cassandra-1.0/interface/cassandra.thrift
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/interface/cassandra.thrift?rev=1189412r1=1189411r2=1189412view=diff
==
--- cassandra/branches/cassandra-1.0/interface/cassandra.thrift (original)
+++ cassandra/branches/cassandra-1.0/interface/cassandra.thrift Wed Oct 26 
19:50:02 2011
@@ -344,8 +344,7 @@ struct Mutation {
 
 struct EndpointDetails {
1: string host,
-   2: i32 port,
-   3: string datacenter
+   2: string datacenter
 }
 
 /**

Modified: 
cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/EndpointDetails.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/EndpointDetails.java?rev=1189412r1=1189411r2=1189412view=diff
==
--- 
cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/EndpointDetails.java
 (original)
+++ 
cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/EndpointDetails.java
 Wed Oct 26 19:50:02 2011
@@ -46,18 +46,15 @@ public class EndpointDetails implements 
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct(EndpointDetails);
 
   private static final org.apache.thrift.protocol.TField HOST_FIELD_DESC = new 
org.apache.thrift.protocol.TField(host, 
org.apache.thrift.protocol.TType.STRING, (short)1);
-  private static final org.apache.thrift.protocol.TField PORT_FIELD_DESC = new 
org.apache.thrift.protocol.TField(port, org.apache.thrift.protocol.TType.I32, 
(short)2);
-  private static final org.apache.thrift.protocol.TField DATACENTER_FIELD_DESC 
= new org.apache.thrift.protocol.TField(datacenter, 
org.apache.thrift.protocol.TType.STRING, (short)3);
+  private static final org.apache.thrift.protocol.TField DATACENTER_FIELD_DESC 
= new org.apache.thrift.protocol.TField(datacenter, 
org.apache.thrift.protocol.TType.STRING, (short)2);
 
   public String host;
-  public int port;
   public String datacenter;
 
   /** The set of fields this struct contains, along with convenience methods 
for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
 HOST((short)1, host),
-PORT((short)2, port),
-DATACENTER((short)3, datacenter);
+DATACENTER((short)2, datacenter);
 
 private static final MapString, _Fields byName = new HashMapString, 
_Fields();
 
@@ -74,9 +71,7 @@ public class EndpointDetails implements 
   switch(fieldId) {
 case 1: // HOST
   return HOST;
-case 2: // PORT
-  return PORT;
-case 3: // DATACENTER
+case 2: // DATACENTER
   return DATACENTER;
 default:
   return null;
@@ -118,16 +113,12 @@ public class EndpointDetails implements 
   }
 
   // isset id assignments
-  private static final int __PORT_ISSET_ID = 0;
-  private BitSet __isset_bit_vector = new BitSet(1);
 
   public static final Map_Fields, org.apache.thrift.meta_data.FieldMetaData 
metaDataMap;
   static {
 Map_Fields, org.apache.thrift.meta_data.FieldMetaData tmpMap = new 
EnumMap_Fields, org.apache.thrift.meta_data.FieldMetaData(_Fields.class);
 tmpMap.put(_Fields.HOST, new 
org.apache.thrift.meta_data.FieldMetaData(host, 
org.apache.thrift.TFieldRequirementType.DEFAULT, 
 new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-tmpMap.put(_Fields.PORT, new 
org.apache.thrift.meta_data.FieldMetaData(port, 
org.apache.thrift.TFieldRequirementType.DEFAULT, 
-new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
 tmpMap.put(_Fields.DATACENTER, new 
org.apache.thrift.meta_data.FieldMetaData(datacenter, 
org.apache.thrift.TFieldRequirementType.DEFAULT, 
 new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
 metaDataMap = Collections.unmodifiableMap(tmpMap);
@@ -139,13 +130,10 @@ public class EndpointDetails implements 
 
   public EndpointDetails(
 String host,
-int port,
 String datacenter)
   {
 this();
 this.host = host;
-this.port = port;
-setPortIsSet(true

svn commit: r1189448 - in /cassandra/branches/cassandra-1.0: ./ conf/ src/java/org/apache/cassandra/config/ src/java/org/apache/cassandra/locator/ src/java/org/apache/cassandra/net/ src/java/org/apach

2011-10-26 Thread brandonwilliams
Author: brandonwilliams
Date: Wed Oct 26 20:56:31 2011
New Revision: 1189448

URL: http://svn.apache.org/viewvc?rev=1189448view=rev
Log:
Allow encryption only between datacenters.
Patch by Vijay, reviewed by brandonwilliams for CASSANDRA-2802

Modified:
cassandra/branches/cassandra-1.0/CHANGES.txt
cassandra/branches/cassandra-1.0/conf/cassandra.yaml

cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/config/Config.java

cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/config/DatabaseDescriptor.java

cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/config/EncryptionOptions.java

cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/locator/Ec2Snitch.java

cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/net/MessagingService.java

cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/net/OutboundTcpConnection.java

cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/net/OutboundTcpConnectionPool.java

cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/streaming/FileStreamTask.java

Modified: cassandra/branches/cassandra-1.0/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/CHANGES.txt?rev=1189448r1=1189447r2=1189448view=diff
==
--- cassandra/branches/cassandra-1.0/CHANGES.txt (original)
+++ cassandra/branches/cassandra-1.0/CHANGES.txt Wed Oct 26 20:56:31 2011
@@ -56,6 +56,7 @@ Merged from 0.8:
(CASSANDRA-3351)
  * remove incorrect optimization from slice read path (CASSANDRA-3390)
  * Fix race in AntiEntropyService (CASSANDRA-3400)
+ * allow encryption only between datacenters (CASSANDRA-2802)
 
 
 1.0.0-final

Modified: cassandra/branches/cassandra-1.0/conf/cassandra.yaml
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/conf/cassandra.yaml?rev=1189448r1=1189447r2=1189448view=diff
==
--- cassandra/branches/cassandra-1.0/conf/cassandra.yaml (original)
+++ cassandra/branches/cassandra-1.0/conf/cassandra.yaml Wed Oct 26 20:56:31 
2011
@@ -164,6 +164,10 @@ sliced_buffer_size_in_kb: 64
 # TCP port, for commands and data
 storage_port: 7000
 
+# SSL port, for encrypted communication.  Unused unless enabled in
+# encryption_options
+ssl_storage_port: 7001
+
 # Address to bind to and tell other Cassandra nodes to connect to. You
 # _must_ change this if you want multiple nodes to be able to
 # communicate!
@@ -403,7 +407,10 @@ index_interval: 128
 # users generate their own keys) TLS_RSA_WITH_AES_128_CBC_SHA as the cipher
 # suite for authentication, key exchange and encryption of the actual data 
transfers.
 # NOTE: No custom encryption options are enabled at the moment
-# The available internode options are : all, none
+# The available internode options are : all, none, dc, rack
+#
+# If set to dc cassandra will encrypt the traffic between the DCs
+# If set to rack cassandra will encrypt the traffic between the racks
 #
 # The passwords used in these options must match the passwords used when 
generating
 # the keystore and truststore.  For instructions on generating these files, 
see:

Modified: 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/config/Config.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/config/Config.java?rev=1189448r1=1189447r2=1189448view=diff
==
--- 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/config/Config.java
 (original)
+++ 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/config/Config.java
 Wed Oct 26 20:56:31 2011
@@ -62,6 +62,7 @@ public class Config
 public Integer sliced_buffer_size_in_kb = 64;
 
 public Integer storage_port = 7000;
+public Integer ssl_storage_port = 7001;
 public String listen_address;
 public String broadcast_address;
 

Modified: 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/config/DatabaseDescriptor.java?rev=1189448r1=1189447r2=1189448view=diff
==
--- 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
 (original)
+++ 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
 Wed Oct 26 20:56:31 2011
@@ -632,6 +632,11 @@ public class DatabaseDescriptor
 return Integer.parseInt(System.getProperty(cassandra.storage_port, 
conf.storage_port.toString()));
 }
 
+public static int getSSLStoragePort()
+{
+return 
Integer.parseInt(System.getProperty(cassandra.ssl_storage_port, 
conf.ssl_storage_port.toString

  1   2   3   4   5   6   7   8   9   10   >