Author: jbellis
Date: Tue Aug  2 17:04:15 2011
New Revision: 1153198

URL: http://svn.apache.org/viewvc?rev=1153198&view=rev
Log:
merge from 0.8

Added:
    cassandra/trunk/examples/hadoop_word_count/bin/word_count_counters
      - copied unchanged from r1152792, 
cassandra/branches/cassandra-0.8/examples/hadoop_word_count/bin/word_count_counters
    cassandra/trunk/examples/hadoop_word_count/src/WordCountCounters.java
      - copied unchanged from r1152792, 
cassandra/branches/cassandra-0.8/examples/hadoop_word_count/src/WordCountCounters.java
Modified:
    cassandra/trunk/   (props changed)
    cassandra/trunk/CHANGES.txt
    cassandra/trunk/bin/cassandra
    cassandra/trunk/conf/cassandra-env.sh
    cassandra/trunk/contrib/   (props changed)
    cassandra/trunk/debian/cassandra.postinst
    cassandra/trunk/debian/init
    cassandra/trunk/examples/hadoop_word_count/README.txt
    cassandra/trunk/examples/hadoop_word_count/src/WordCountSetup.java
    
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/compaction/LazilyCompactedRow.java
    
cassandra/trunk/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java
    cassandra/trunk/src/java/org/apache/cassandra/net/MessagingService.java
    cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java

Propchange: cassandra/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug  2 17:04:15 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-1152110,1152238,1152265,1152793,1152795,1152870,1153156,1153190
+/cassandra/branches/cassandra-0.8:1090934-1125013,1125019-1152793,1152795,1152870,1153156,1153190
 /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

Modified: cassandra/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/CHANGES.txt?rev=1153198&r1=1153197&r2=1153198&view=diff
==============================================================================
--- cassandra/trunk/CHANGES.txt (original)
+++ cassandra/trunk/CHANGES.txt Tue Aug  2 17:04:15 2011
@@ -22,8 +22,6 @@
  * check column family validity in nodetool repair (CASSANDRA-2933)
  * use lazy initialization instead of class initialization in NodeId
    (CASSANDRA-2953)
- * fix potential use of free'd native memory in SerializingCache 
-   (CASSANDRA-2951)
  * add paging to get_count (CASSANDRA-2894)
  * fix "short reads" in [multi]get (CASSANDRA-2643)
 
@@ -31,7 +29,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)
+ * revamp token removal process, keep gossip states for 3 days (CASSANDRA-2496)
  * don't accept extra args for 0-arg nodetool commands (CASSANDRA-2740)
  * log unavailableexception details at debug level (CASSANDRA-2856)
  * expose data_dir though jmx (CASSANDRA-2770)
@@ -39,13 +37,25 @@
  * log Java classpath on startup (CASSANDRA-2895)
  * keep gossipped version in sync with actual on migration coordinator 
    (CASSANDRA-2946)
+ * use lazy initialization instead of class initialization in NodeId
+   (CASSANDRA-2953)
+ * check column family validity in nodetool repair (CASSANDRA-2933)
  * speedup bytes to hex conversions dramatically (CASSANDRA-2850)
- * fix bug where dirty commit logs were removed (and avoid keeping segment
+ * Flush memtables on shutdown when durable writes are disabled 
+   (CASSANDRA-2958)
+ * improved POSIX compatibility of start scripts (CASsANDRA-2965)
+ * add counter support to Hadoop InputFormat (CASSANDRA-2981)
+ * fix bug where dirty commit logs were removed (and avoid keeping segments
    with no post-flush activity permanently dirty) (CASSANDRA-2829)
  * fix throwing exception with batch mutation of counter super columns
    (CASSANDRA-2949)
  * ignore system tables during repair (CASSANDRA-2979)
+ * throw exception when NTS is given replication_factor as an option
+   (CASSANDRA-2960)
  * fix assertion error during compaction of counter CFs (CASSANDRA-2968)
+ * avoid trying to create index names, when no index exists (CASSANDRA-2867)
+ * fix potential use of free'd native memory in SerializingCache 
+   (CASSANDRA-2951)
 
 
 0.8.2

Modified: cassandra/trunk/bin/cassandra
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/bin/cassandra?rev=1153198&r1=1153197&r2=1153198&view=diff
==============================================================================
--- cassandra/trunk/bin/cassandra (original)
+++ cassandra/trunk/bin/cassandra Tue Aug  2 17:04:15 2011
@@ -61,32 +61,35 @@
 # Be aware that you will be entirely responsible for populating the needed
 # environment variables.
 
+# NB: Developers should be aware that this script should remain compatible with
+# POSIX sh and Solaris sh. This means, in particular, no $(( )) and no $( ).
+
 # If an include wasn't specified in the environment, then search for one...
 if [ "x$CASSANDRA_INCLUDE" = "x" ]; then
     # Locations (in order) to use when searching for an include file.
     for include in /usr/share/cassandra/cassandra.in.sh \
                    /usr/local/share/cassandra/cassandra.in.sh \
                    /opt/cassandra/cassandra.in.sh \
-                   ~/.cassandra.in.sh \
-                   `dirname $0`/cassandra.in.sh; do
-        if [ -r $include ]; then
-            . $include
+                   "$HOME/.cassandra.in.sh" \
+                   "`dirname $0`/cassandra.in.sh"; do
+        if [ -r "$include" ]; then
+            . "$include"
             break
         fi
     done
 # ...otherwise, source the specified include.
-elif [ -r $CASSANDRA_INCLUDE ]; then
-    . $CASSANDRA_INCLUDE
+elif [ -r "$CASSANDRA_INCLUDE" ]; then
+    . "$CASSANDRA_INCLUDE"
 fi
 
 # Use JAVA_HOME if set, otherwise look for java in PATH
-if [ -x $JAVA_HOME/bin/java ]; then
-    JAVA=$JAVA_HOME/bin/java
+if [ -n "$JAVA_HOME" ]; then
+    JAVA="$JAVA_HOME/bin/java"
 else
-    JAVA=`which java`
+    JAVA=java
 fi
 
-if [ -z $CASSANDRA_CONF -o -z $CLASSPATH ]; then
+if [ -z "$CASSANDRA_CONF" -o -z "$CLASSPATH" ]; then
     echo "You must set the CASSANDRA_CONF and CLASSPATH vars" >&2
     exit 1
 fi
@@ -119,11 +122,11 @@ launch_service()
     # to close stdout/stderr, but it's up to us not to background.
     if [ "x$foreground" != "x" ]; then
         cassandra_parms="$cassandra_parms -Dcassandra-foreground=yes"
-        exec $JAVA $JVM_OPTS $cassandra_parms -cp $CLASSPATH $props $class
+        exec "$JAVA" $JVM_OPTS $cassandra_parms -cp "$CLASSPATH" $props 
"$class"
     # Startup CassandraDaemon, background it, and write the pid.
     else
-        exec $JAVA $JVM_OPTS $cassandra_parms -cp $CLASSPATH $props $class <&- 
&
-        [ ! -z $pidpath ] && printf "%d" $! > $pidpath
+        exec "$JAVA" $JVM_OPTS $cassandra_parms -cp "$CLASSPATH" $props 
"$class" <&- &
+        [ ! -z "$pidpath" ] && printf "%d" $! > "$pidpath"
     fi
 
     return $?
@@ -150,7 +153,7 @@ while true; do
             exit 0
         ;;
         -v)
-            $JAVA -cp $CLASSPATH org.apache.cassandra.tools.GetVersion
+            "$JAVA" -cp "$CLASSPATH" org.apache.cassandra.tools.GetVersion
             exit 0
         ;;
         -D)

Modified: cassandra/trunk/conf/cassandra-env.sh
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/conf/cassandra-env.sh?rev=1153198&r1=1153197&r2=1153198&view=diff
==============================================================================
--- cassandra/trunk/conf/cassandra-env.sh (original)
+++ cassandra/trunk/conf/cassandra-env.sh Tue Aug  2 17:04:15 2011
@@ -24,10 +24,15 @@ calculate_heap_sizes()
         ;;
         FreeBSD)
             system_memory_in_bytes=`sysctl hw.physmem | awk '{print $2}'`
-            system_memory_in_mb=$((system_memory_in_bytes / 1024 / 1024))
+            system_memory_in_mb=`expr $system_memory_in_bytes / 1024 / 1024`
             system_cpu_cores=`sysctl hw.ncpu | awk '{print $2}'`
             break
         ;;
+        SunOS)
+            system_memory_in_mb=`prtconf | awk '/Memory size:/ {print $3}'`
+            system_cpu_cores=`psrinfo | wc -l`
+            break
+        ;;
         *)
             # assume reasonable defaults for e.g. a modern desktop or
             # cheap server
@@ -35,14 +40,14 @@ calculate_heap_sizes()
             system_cpu_cores="2"
         ;;
     esac
-    max_heap_size_in_mb=$((system_memory_in_mb / 2))
+    max_heap_size_in_mb=`expr $system_memory_in_mb / 2`
     MAX_HEAP_SIZE="${max_heap_size_in_mb}M"
 
     # Young gen: min(max_sensible_per_modern_cpu_core * num_cores, 1/4 * heap 
size)
     max_sensible_yg_per_core_in_mb="100"
-    max_sensible_yg_in_mb=$((max_sensible_yg_per_core_in_mb * 
system_cpu_cores))
+    max_sensible_yg_in_mb=`expr $max_sensible_yg_per_core_in_mb "*" 
$system_cpu_cores`
 
-    desired_yg_in_mb=$((max_heap_size_in_mb / 4))
+    desired_yg_in_mb=`expr $max_heap_size_in_mb / 4`
 
     if [ "$desired_yg_in_mb" -gt "$max_sensible_yg_in_mb" ]
     then
@@ -92,7 +97,7 @@ JMX_PORT="7199"
 JVM_OPTS="$JVM_OPTS -ea"
 
 # add the jamm javaagent
-check_openjdk=$(java -version 2>&1 | awk '{if (NR == 2) {print $1}}')
+check_openjdk=`"${JAVA:-java}" -version 2>&1 | awk '{if (NR == 2) {print $1}}'`
 if [ "$check_openjdk" != "OpenJDK" ]
 then
     JVM_OPTS="$JVM_OPTS -javaagent:$CASSANDRA_HOME/lib/jamm-0.2.2.jar"

Propchange: cassandra/trunk/contrib/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug  2 17:04:15 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-1152110,1152238,1152265,1152793,1152795,1152870,1153156,1153190
+/cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125019-1152793,1152795,1152870,1153156,1153190
 /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/debian/cassandra.postinst
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/debian/cassandra.postinst?rev=1153198&r1=1153197&r2=1153198&view=diff
==============================================================================
--- cassandra/trunk/debian/cassandra.postinst (original)
+++ cassandra/trunk/debian/cassandra.postinst Tue Aug  2 17:04:15 2011
@@ -34,7 +34,7 @@ case "$1" in
                 cassandra
         fi
 
-        if [ -n $2 ] && dpkg --compare-versions "$2" le 0.6.4-2; then
+        if [ -n "$2" ] && dpkg --compare-versions "$2" le 0.6.4-2; then
             chown -R cassandra: /var/lib/cassandra
             chown -R cassandra: /var/log/cassandra
         fi

Modified: cassandra/trunk/debian/init
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/debian/init?rev=1153198&r1=1153197&r2=1153198&view=diff
==============================================================================
--- cassandra/trunk/debian/init (original)
+++ cassandra/trunk/debian/init Tue Aug  2 17:04:15 2011
@@ -30,23 +30,15 @@ JVM_SEARCH_DIRS="/usr/lib/jvm/java-6-ope
 [ -e /etc/cassandra/cassandra.yaml ] || exit 0
 [ -e /etc/cassandra/cassandra-env.sh ] || exit 0
 
-# Read Cassandra environment file.
-. /etc/cassandra/cassandra-env.sh
-
 # Read configuration variable file if it is present
 [ -r /etc/default/$NAME ] && . /etc/default/$NAME
 
-if [ -z "$JVM_OPTS" ]; then
-    echo "Initialization failed; \$JVM_OPTS not set!" >&2
-    exit 3
-fi
-
 # If JAVA_HOME has not been set, try to determine it.
 if [ -z "$JAVA_HOME" ]; then
     # If java is in PATH, use a JAVA_HOME that corresponds to that. This is
     # both consistent with how the upstream startup script works, and how
     # Debian works (read: the use of alternatives to set a system JVM).
-    if [ -n `which java` ]; then
+    if [ -n "`which java`" ]; then
         java=`which java`
         # Dereference symlink(s)
         while true; do
@@ -67,6 +59,15 @@ if [ -z "$JAVA_HOME" ]; then
         done
     fi
 fi
+JAVA="$JAVA_HOME/bin/java"
+
+# Read Cassandra environment file.
+. /etc/cassandra/cassandra-env.sh
+
+if [ -z "$JVM_OPTS" ]; then
+    echo "Initialization failed; \$JVM_OPTS not set!" >&2
+    exit 3
+fi
 
 # Load the VERBOSE setting and other rcS variables
 . /lib/init/vars.sh

Modified: cassandra/trunk/examples/hadoop_word_count/README.txt
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/examples/hadoop_word_count/README.txt?rev=1153198&r1=1153197&r2=1153198&view=diff
==============================================================================
--- cassandra/trunk/examples/hadoop_word_count/README.txt (original)
+++ cassandra/trunk/examples/hadoop_word_count/README.txt Tue Aug  2 17:04:15 
2011
@@ -1,5 +1,6 @@
 WordCount hadoop example: Inserts a bunch of words across multiple rows,
-and counts them, with RandomPartitioner.
+and counts them, with RandomPartitioner. The word_count_counters example sums
+the value of counter columns for a key.
 
 The scripts in bin/ assume you are running with cwd of contrib/word_count.
 
@@ -9,6 +10,7 @@ then run
 contrib/word_count$ ant
 contrib/word_count$ bin/word_count_setup
 contrib/word_count$ bin/word_count
+contrib/word_count$ bin/word_count_counters
 
 In order to view the results in Cassandra, one can use bin/cassandra-cli and
 perform the following operations:
@@ -25,5 +27,8 @@ in the 'wordcount' keyspace.  'cassandra
 
 Read the code in src/ for more details.
 
+The word_count_counters example sums the counter columns for a row. The output
+is written to a text file in /tmp/word_count_counters.
+
 *If you want to point wordcount at a real cluster, modify the seed
 and listenaddress settings accordingly.

Modified: cassandra/trunk/examples/hadoop_word_count/src/WordCountSetup.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/examples/hadoop_word_count/src/WordCountSetup.java?rev=1153198&r1=1153197&r2=1153198&view=diff
==============================================================================
--- cassandra/trunk/examples/hadoop_word_count/src/WordCountSetup.java 
(original)
+++ cassandra/trunk/examples/hadoop_word_count/src/WordCountSetup.java Tue Aug  
2 17:04:15 2011
@@ -81,6 +81,19 @@ public class WordCountSetup
         client.batch_mutate(mutationMap, ConsistencyLevel.ONE);
         logger.info("added text3");
 
+        // sentence data for the counters
+        final ByteBuffer key = ByteBufferUtil.bytes("key-if-verse1");
+        final ColumnParent colParent = new 
ColumnParent(WordCountCounters.COUNTER_COLUMN_FAMILY);
+        for (String sentence : sentenceData())
+        {
+            client.add(key,
+                       colParent,
+                       new CounterColumn(ByteBufferUtil.bytes(sentence),
+                       (long)sentence.split("\\s").length),
+                       ConsistencyLevel.ONE );
+        }
+        logger.info("added key-if-verse1");
+
         System.exit(0);
     }
 
@@ -115,6 +128,10 @@ public class WordCountSetup
         output.setComparator_type("AsciiType");
         output.setDefault_validation_class("AsciiType");
         cfDefList.add(output);
+        CfDef counterInput = new CfDef(WordCount.KEYSPACE, 
WordCountCounters.COUNTER_COLUMN_FAMILY);
+        counterInput.setComparator_type("UTF8Type");
+        counterInput.setDefault_validation_class("CounterColumnType");
+        cfDefList.add(counterInput);
 
         KsDef ksDef = new KsDef(WordCount.KEYSPACE, 
"org.apache.cassandra.locator.SimpleStrategy", cfDefList);
         ksDef.putToStrategy_options("replication_factor", "1");
@@ -150,4 +167,18 @@ public class WordCountSetup
 
         return new Cassandra.Client(protocol);
     }
+
+    private static String[] sentenceData()
+    {   // Public domain context, source 
http://en.wikisource.org/wiki/If%E2%80%94
+        return new String[]{
+            "If you can keep your head when all about you",
+            "Are losing theirs and blaming it on you",
+            "If you can trust yourself when all men doubt you,",
+            "But make allowance for their doubting too:",
+            "If you can wait and not be tired by waiting,",
+            "Or being lied about, don’t deal in lies,",
+            "Or being hated, don’t give way to hating,",
+            "And yet don’t look too good, nor talk too wise;"
+        };
+    }
 }

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug  2 17:04:15 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-1152110,1152238,1152265,1152793,1152795,1152870,1153156,1153190
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090934-1125013,1125019-1152793,1152795,1152870,1153156,1153190
 
/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  2 17:04:15 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-1152110,1152238,1152265,1152793,1152795,1152870,1153156,1153190
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1090934-1125013,1125019-1152793,1152795,1152870,1153156,1153190
 
/cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1125021-1130369
 
/cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1101014-1125018
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1051699-1053689

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug  2 17:04:15 2011
@@ -1,7 +1,7 @@
 
/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-1151306
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1090934-1125013,1125019-1152110,1152238,1152265,1152793,1152795,1152870,1153156,1153190
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1090934-1125013,1125019-1152793,1152795,1152870,1153156,1153190
 
/cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1125021-1130369
 
/cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1101014-1125018
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1051699-1053689

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug  2 17:04:15 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
 
/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1026516-1151306
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1090934-1125013,1125019-1152110,1152238,1152265,1152793,1152795,1152870,1153156,1153190
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1090934-1125013,1125019-1152793,1152795,1152870,1153156,1153190
 
/cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1125021-1130369
 
/cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1101014-1125018
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1051699-1053689

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug  2 17:04:15 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
 
/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1026516-1151306
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1090934-1125013,1125019-1152110,1152238,1152265,1152793,1152795,1152870,1153156,1153190
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1090934-1125013,1125019-1152793,1152795,1152870,1153156,1153190
 
/cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1125021-1130369
 
/cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1101014-1125018
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1051699-1053689

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java?rev=1153198&r1=1153197&r2=1153198&view=diff
==============================================================================
--- 
cassandra/trunk/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
 (original)
+++ 
cassandra/trunk/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
 Tue Aug  2 17:04:15 2011
@@ -25,18 +25,14 @@ import java.io.DataOutput;
 import java.io.IOError;
 import java.io.IOException;
 import java.security.MessageDigest;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
 
 import com.google.common.base.Predicates;
 import com.google.common.collect.Iterators;
 
-import org.apache.cassandra.db.Column;
-import org.apache.cassandra.db.ColumnFamily;
-import org.apache.cassandra.db.ColumnFamilyStore;
-import org.apache.cassandra.db.ColumnIndexer;
-import org.apache.cassandra.db.CounterColumn;
-import org.apache.cassandra.db.IColumn;
-import org.apache.cassandra.db.SuperColumn;
+import org.apache.cassandra.db.*;
 import org.apache.cassandra.db.marshal.AbstractType;
 import org.apache.cassandra.io.sstable.SSTableIdentityIterator;
 import org.apache.cassandra.io.util.DataOutputBuffer;

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java?rev=1153198&r1=1153197&r2=1153198&view=diff
==============================================================================
--- 
cassandra/trunk/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java
 (original)
+++ 
cassandra/trunk/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java
 Tue Aug  2 17:04:15 2011
@@ -31,11 +31,15 @@ import com.google.common.collect.Abstrac
 
 import org.apache.cassandra.auth.SimpleAuthenticator;
 import org.apache.cassandra.config.ConfigurationException;
-import org.apache.cassandra.db.IColumn;
+import org.apache.cassandra.db.*;
 import org.apache.cassandra.db.marshal.AbstractType;
 import org.apache.cassandra.db.marshal.TypeParser;
 import org.apache.cassandra.dht.IPartitioner;
 import org.apache.cassandra.thrift.*;
+import org.apache.cassandra.thrift.Column;
+import org.apache.cassandra.thrift.CounterColumn;
+import org.apache.cassandra.thrift.SuperColumn;
+import org.apache.cassandra.utils.ByteBufferUtil;
 import org.apache.cassandra.utils.FBUtilities;
 import org.apache.cassandra.utils.Pair;
 import org.apache.hadoop.conf.Configuration;
@@ -293,8 +297,13 @@ public class ColumnFamilyRecordReader ex
 
         private IColumn unthriftify(ColumnOrSuperColumn cosc)
         {
-            if (cosc.column == null)
+            if (cosc.counter_column != null)
+                return unthriftifyCounter(cosc.counter_column);
+            if (cosc.counter_super_column != null)
+                return unthriftifySuperCounter(cosc.counter_super_column);
+            if (cosc.super_column != null)
                 return unthriftifySuper(cosc.super_column);
+            assert cosc.column != null;
             return unthriftifySimple(cosc.column);
         }
 
@@ -312,5 +321,20 @@ public class ColumnFamilyRecordReader ex
         {
             return new org.apache.cassandra.db.Column(column.name, 
column.value, column.timestamp);
         }
+
+        private IColumn unthriftifyCounter(CounterColumn column)
+        {
+            //CounterColumns read the nodeID from the System table, so need 
the StorageService running and access
+            //to cassandra.yaml. To avoid a Hadoop needing access to yaml 
return a regular Column.
+            return new org.apache.cassandra.db.Column(column.name, 
ByteBufferUtil.bytes(column.value), 0);
+        }
+
+        private IColumn unthriftifySuperCounter(CounterSuperColumn superColumn)
+        {
+            org.apache.cassandra.db.SuperColumn sc = new 
org.apache.cassandra.db.SuperColumn(superColumn.name, subComparator);
+            for (CounterColumn column : superColumn.columns)
+                sc.addColumn(unthriftifyCounter(column));
+            return sc;
+        }
     }
 }

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=1153198&r1=1153197&r2=1153198&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/net/MessagingService.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/net/MessagingService.java Tue 
Aug  2 17:04:15 2011
@@ -223,7 +223,7 @@ public final class MessagingService impl
                 else
                     throw e;
             }
-            logger_.info("Starting Messaging Service on port {}", 
DatabaseDescriptor.getStoragePort());
+            logger_.info("Starting Messaging Service on {}", address);
         }
         return ss;
     }

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=1153198&r1=1153197&r2=1153198&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java 
Tue Aug  2 17:04:15 2011
@@ -44,6 +44,7 @@ import org.apache.cassandra.concurrent.S
 import org.apache.cassandra.config.CFMetaData;
 import org.apache.cassandra.config.ConfigurationException;
 import org.apache.cassandra.config.DatabaseDescriptor;
+import org.apache.cassandra.config.KSMetaData;
 import org.apache.cassandra.db.*;
 import org.apache.cassandra.db.commitlog.CommitLog;
 import org.apache.cassandra.dht.*;
@@ -408,6 +409,18 @@ public class StorageService implements I
                     mutationStage.awaitTermination(1, TimeUnit.SECONDS);
                     CommitLog.instance.shutdownBlocking();
                 }
+
+                List<Future<?>> flushes = new ArrayList<Future<?>>();
+                for (Table table : Table.all())
+                {
+                    KSMetaData ksm = 
DatabaseDescriptor.getKSMetaData(table.name);
+                    if (!ksm.isDurableWrites())
+                    {
+                        for (ColumnFamilyStore cfs : 
table.getColumnFamilyStores())
+                            flushes.add(cfs.forceFlush());
+                    }
+                }
+                FBUtilities.waitOnFutures(flushes);
             }
         });
         Runtime.getRuntime().addShutdownHook(drainOnShutdown);
@@ -1356,7 +1369,7 @@ public class StorageService implements I
 
     public void forceTableCleanup(String tableName, String... columnFamilies) 
throws IOException, ExecutionException, InterruptedException
     {
-        if (tableName.equals("system"))
+        if (tableName.equals(Table.SYSTEM_TABLE))
             throw new RuntimeException("Cleanup of the system table is neither 
necessary nor wise");
 
         NodeId.OneShotRenewer nodeIdRenewer = new NodeId.OneShotRenewer();


Reply via email to