Author: jbellis
Date: Wed Nov  9 17:22:07 2011
New Revision: 1199880

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

Added:
    cassandra/trunk/pylib/cqlshlib/__init__.py
      - copied unchanged from r1199762, 
cassandra/branches/cassandra-1.0/pylib/cqlshlib/__init__.py
Modified:
    cassandra/trunk/   (props changed)
    cassandra/trunk/CHANGES.txt
    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/cli/Cli.g
    cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java
    cassandra/trunk/src/java/org/apache/cassandra/io/sstable/Descriptor.java
    
cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableMetadata.java
    cassandra/trunk/src/resources/org/apache/cassandra/cli/CliHelp.yaml
    
cassandra/trunk/test/unit/org/apache/cassandra/io/sstable/SSTableMetadataSerializerTest.java

Propchange: cassandra/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Nov  9 17:22:07 2011
@@ -4,7 +4,7 @@
 
/cassandra/branches/cassandra-0.8:1090934-1125013,1125019-1198724,1198726-1199259,1199284
 /cassandra/branches/cassandra-0.8.0:1125021-1130369
 /cassandra/branches/cassandra-0.8.1:1101014-1125018
-/cassandra/branches/cassandra-1.0:1167085-1199374,1199379,1199763
+/cassandra/branches/cassandra-1.0:1167085-1199877
 
/cassandra/branches/cassandra-1.0.0:1167104-1167229,1167232-1181093,1181741,1181816,1181820,1182951,1183243
 /cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689
 /cassandra/tags/cassandra-0.8.0-rc1:1102511-1125020

Modified: cassandra/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/CHANGES.txt?rev=1199880&r1=1199879&r2=1199880&view=diff
==============================================================================
--- cassandra/trunk/CHANGES.txt (original)
+++ cassandra/trunk/CHANGES.txt Wed Nov  9 17:22:07 2011
@@ -14,6 +14,7 @@
  * fix querying supercolumns by name returning only a subset of
    subcolumns or old subcolumn versions (CASSANDRA-3446)
  * automatically compute sha1 sum for uncompressed data files (CASSANDRA-3456)
+ * fix reading metadata/statistics component for version < h (CASSANDRA-3474)
 Merged from 0.8:
  * Make counter shard merging thread safe (CASSANDRA-3178)
  * fix updating CF row_cache_provider (CASSANDRA-3414)
@@ -23,6 +24,7 @@ Merged from 0.8:
  * Make counter shard merging thread safe (CASSANDRA-3178)
  * Revert CASSANDRA-2855
  * Fix bug preventing the use of efficient cross-DC writes (CASSANDRA-3472)
+ * `describe ring` command for CLI (CASSANDRA-3220)
 
 
 1.0.2

Propchange: cassandra/trunk/contrib/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Nov  9 17:22:07 2011
@@ -4,7 +4,7 @@
 
/cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125019-1198724,1198726-1199259,1199284
 /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-1199374,1199379,1199763
+/cassandra/branches/cassandra-1.0/contrib:1167085-1199877
 
/cassandra/branches/cassandra-1.0.0/contrib:1167104-1167229,1167232-1181093,1181741,1181816,1181820,1182951,1183243
 /cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689
 /cassandra/tags/cassandra-0.8.0-rc1/contrib:1102511-1125020

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Nov  9 17:22:07 2011
@@ -4,7 +4,7 @@
 
/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090934-1125013,1125019-1198724,1198726-1199259,1199284
 
/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-1199374,1199379,1199763
+/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1167085-1199877
 
/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1167104-1167229,1167232-1181093,1181741,1181816,1181820,1182951,1183243
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1051699-1053689
 
/cassandra/tags/cassandra-0.8.0-rc1/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1102511-1125020

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Nov  9 17:22:07 2011
@@ -4,7 +4,7 @@
 
/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1090934-1125013,1125019-1198724,1198726-1199259,1199284
 
/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/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1167085-1199374,1199379,1199763
+/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1167085-1199877
 
/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1167104-1167229,1167232-1181093,1181741,1181816,1181820,1182951,1183243
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1051699-1053689
 
/cassandra/tags/cassandra-0.8.0-rc1/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1102511-1125020

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Nov  9 17:22:07 2011
@@ -4,7 +4,7 @@
 
/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1090934-1125013,1125019-1198724,1198726-1199259,1199284
 
/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/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1167085-1199374,1199379,1199763
+/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1167085-1199877
 
/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1167104-1167229,1167232-1181093,1181741,1181816,1181820,1182951,1183243
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1051699-1053689
 
/cassandra/tags/cassandra-0.8.0-rc1/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1102511-1125020

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Nov  9 17:22:07 2011
@@ -4,7 +4,7 @@
 
/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1090934-1125013,1125019-1198724,1198726-1199259,1199284
 
/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/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1167085-1199374,1199379,1199763
+/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1167085-1199877
 
/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1167104-1167229,1167232-1181093,1181741,1181816,1181820,1182951,1183243
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1051699-1053689
 
/cassandra/tags/cassandra-0.8.0-rc1/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1102511-1125020

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Nov  9 17:22:07 2011
@@ -4,7 +4,7 @@
 
/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1090934-1125013,1125019-1198724,1198726-1199259,1199284
 
/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/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1167085-1199374,1199379,1199763
+/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1167085-1199877
 
/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1167104-1167229,1167232-1181093,1181741,1181816,1181820,1182951,1183243
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1051699-1053689
 
/cassandra/tags/cassandra-0.8.0-rc1/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1102511-1125020

Modified: cassandra/trunk/src/java/org/apache/cassandra/cli/Cli.g
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/cli/Cli.g?rev=1199880&r1=1199879&r2=1199880&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/cli/Cli.g (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/cli/Cli.g Wed Nov  9 17:22:07 
2011
@@ -63,6 +63,7 @@ tokens {
     NODE_ASSUME;
     NODE_CONSISTENCY_LEVEL;
     NODE_DROP_INDEX;
+    NODE_DESCRIBE_RING;
 
     // Internal Nodes.
     NODE_COLUMN_ACCESS;
@@ -163,6 +164,7 @@ statement
     | assumeStatement
     | consistencyLevelStatement
     | dropIndex
+    | describeRing
     | -> ^(NODE_NO_OP)
     ;
 
@@ -210,6 +212,8 @@ helpStatement
         -> ^(NODE_HELP NODE_DEL_COLUMN_FAMILY)
     | HELP DROP INDEX
         -> ^(NODE_HELP NODE_DROP_INDEX)
+    | HELP DESCRIBE RING
+        -> ^(NODE_HELP NODE_DESCRIBE_RING)
     | HELP GET 
         -> ^(NODE_HELP NODE_THRIFT_GET)
     | HELP SET 
@@ -350,6 +354,11 @@ dropIndex
         -> ^(NODE_DROP_INDEX columnFamily columnName)
     ;
 
+describeRing
+    : DESCRIBE RING (keyspace)?
+        -> ^(NODE_DESCRIBE_RING (keyspace)?)
+    ;
+
 showVersion
     : SHOW API_VERSION
         -> ^(NODE_SHOW_VERSION)
@@ -580,6 +589,7 @@ CONSISTENCYLEVEL:   'CONSISTENCYLEVEL';
 INDEX:       'INDEX';
 ON:          'ON';
 SCHEMA:      'SCHEMA';
+RING:    'RING';
 
 IP_ADDRESS 
     : IntegerPositiveLiteral '.' IntegerPositiveLiteral '.' 
IntegerPositiveLiteral '.' IntegerPositiveLiteral

Modified: cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java?rev=1199880&r1=1199879&r2=1199880&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java Wed Nov  9 
17:22:07 2011
@@ -284,6 +284,9 @@ public class CliClient
                 case CliParser.NODE_DROP_INDEX:
                     executeDropIndex(tree);
                     break;
+                case CliParser.NODE_DESCRIBE_RING:
+                    executeDescribeRing(tree);
+                    break;
 
                 case CliParser.NODE_NO_OP:
                     // comment lines come here; they are treated as no ops.
@@ -1430,6 +1433,59 @@ public class CliClient
         keyspacesMap.put(keySpace, thriftClient.describe_keyspace(keySpace));
     }
 
+    private void executeDescribeRing(Tree statement) throws TException, 
InvalidRequestException
+    {
+        if (!CliMain.isConnected())
+            return;
+
+        int argCount = statement.getChildCount();
+
+        if (argCount > 1) // in case somebody changes Cli grammar
+            throw new RuntimeException("`describe ring` command takes maximum 
one argument. See `help describe ring;`");
+
+        KsDef currentKeySpace = keyspacesMap.get(keySpace);
+
+        if (argCount == 0 && currentKeySpace != null)
+        {
+            describeRing(currentKeySpace.name);
+        }
+        else if (argCount == 1)
+        {
+            String entityName = statement.getChild(0).getText();
+            KsDef inputKsDef = CliUtils.getKeySpaceDef(entityName, 
thriftClient.describe_keyspaces());
+
+            if (inputKsDef == null)
+            {
+                sessionState.out.println("Sorry, no Keyspace was found with 
name: " + entityName);
+                return;
+            }
+
+            describeRing(inputKsDef.name);
+        }
+        else
+        {
+            sessionState.out.println("Authenticate to a Keyspace before using 
`describe ring` or `describe ring <keyspace>`");
+        }
+    }
+
+    private void describeRing(String name) throws TException
+    {
+        List<TokenRange> tokenRangeList;
+
+        try
+        {
+            for (TokenRange tokenRange : thriftClient.describe_ring(name))
+                sessionState.out.println(tokenRange);
+        }
+        catch (InvalidRequestException e)
+        {
+            sessionState.err.println(e.getWhy());
+
+            if (sessionState.debug)
+                e.printStackTrace();
+        }
+    }
+
     // TRUNCATE <columnFamily>
     private void executeTruncate(String columnFamily) throws TException, 
InvalidRequestException, UnavailableException
     {

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/io/sstable/Descriptor.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/io/sstable/Descriptor.java?rev=1199880&r1=1199879&r2=1199880&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/io/sstable/Descriptor.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/io/sstable/Descriptor.java 
Wed Nov  9 17:22:07 2011
@@ -63,7 +63,8 @@ public class Descriptor
     public final boolean hasEncodedKeys;
     public final boolean isLatestVersion;
     public final boolean usesOldBloomFilter;
-    public final boolean usesHistogramAndReplayPositionStatsFile;
+    public final boolean metadataIncludesReplayPosition;
+    public final boolean tracksMaxTimestamp;
 
     public enum TempState
     {
@@ -103,15 +104,11 @@ public class Descriptor
         hasIntRowSize = version.compareTo("d") < 0;
         hasEncodedKeys = version.compareTo("e") < 0;
         usesOldBloomFilter = version.compareTo("f") < 0;
-        usesHistogramAndReplayPositionStatsFile = version.compareTo("h") < 0;
+        metadataIncludesReplayPosition = version.compareTo("g") >= 0;
+        tracksMaxTimestamp = version.compareTo("h") >= 0;
         isLatestVersion = version.compareTo(CURRENT_VERSION) == 0;
     }
 
-    public boolean hasReplayPosition()
-    {
-        return version.compareTo("g") >= 0;
-    }
-
     public String filenameFor(Component component)
     {
         return filenameFor(component.name());

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableMetadata.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableMetadata.java?rev=1199880&r1=1199879&r2=1199880&view=diff
==============================================================================
--- 
cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableMetadata.java 
(original)
+++ 
cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableMetadata.java 
Wed Nov  9 17:22:07 2011
@@ -20,7 +20,6 @@
 package org.apache.cassandra.io.sstable;
 
 import java.io.BufferedInputStream;
-import java.io.DataInput;
 import java.io.DataInputStream;
 import java.io.DataOutput;
 import java.io.File;
@@ -31,7 +30,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.cassandra.db.commitlog.ReplayPosition;
-import org.apache.cassandra.io.ISerializer;
 import org.apache.cassandra.io.util.FileUtils;
 import org.apache.cassandra.utils.EstimatedHistogram;
 
@@ -57,13 +55,7 @@ public class SSTableMetadata
 
     private SSTableMetadata()
     {
-        this(defaultRowSizeHistogram(), defaultColumnCountHistogram(), 
ReplayPosition.NONE);
-    }
-
-    // when there is no max timestamp recorded, default to max long
-    private SSTableMetadata(EstimatedHistogram rowSizes, EstimatedHistogram 
columnCounts, ReplayPosition replayPosition)
-    {
-        this(rowSizes, columnCounts, replayPosition, Long.MAX_VALUE);
+        this(defaultRowSizeHistogram(), defaultColumnCountHistogram(), 
ReplayPosition.NONE, Long.MIN_VALUE);
     }
 
     private SSTableMetadata(EstimatedHistogram rowSizes, EstimatedHistogram 
columnCounts, ReplayPosition replayPosition, long maxTimestamp)
@@ -170,7 +162,7 @@ public class SSTableMetadata
         }
     }
 
-    public static class SSTableMetadataSerializer implements 
ISerializer<SSTableMetadata>
+    public static class SSTableMetadataSerializer
     {
         private static final Logger logger = 
LoggerFactory.getLogger(SSTableMetadataSerializer.class);
 
@@ -184,6 +176,7 @@ public class SSTableMetadata
 
         public SSTableMetadata deserialize(Descriptor descriptor) throws 
IOException
         {
+            logger.debug("Load metadata for {}", descriptor);
             File statsFile = new 
File(descriptor.filenameFor(SSTable.COMPONENT_STATS));
             if (!statsFile.exists())
             {
@@ -191,22 +184,10 @@ public class SSTableMetadata
                 return new SSTableMetadata();
             }
 
-            DataInputStream dis = null;
+            DataInputStream dis = new DataInputStream(new 
BufferedInputStream(new FileInputStream(statsFile)));
             try
             {
-                logger.debug("Load metadata for {}", descriptor);
-                dis = new DataInputStream(new BufferedInputStream(new 
FileInputStream(statsFile)));
-
-                if (!descriptor.usesHistogramAndReplayPositionStatsFile)
-                  return deserialize(dis);
-
-                EstimatedHistogram rowSizes = 
EstimatedHistogram.serializer.deserialize(dis);
-                EstimatedHistogram columnCounts = 
EstimatedHistogram.serializer.deserialize(dis);
-                ReplayPosition replayPosition = descriptor.hasReplayPosition()
-                                              ? 
ReplayPosition.serializer.deserialize(dis)
-                                              : ReplayPosition.NONE;
-
-                return new SSTableMetadata(rowSizes, columnCounts, 
replayPosition);
+                return deserialize(dis, 
descriptor.metadataIncludesReplayPosition, descriptor.tracksMaxTimestamp);
             }
             finally
             {
@@ -214,18 +195,16 @@ public class SSTableMetadata
             }
         }
 
-        public SSTableMetadata deserialize(DataInput dis) throws IOException
+        public SSTableMetadata deserialize(DataInputStream dis, boolean 
includesReplayPosition, boolean tracksMaxTimestamp) throws IOException
         {
             EstimatedHistogram rowSizes = 
EstimatedHistogram.serializer.deserialize(dis);
             EstimatedHistogram columnCounts = 
EstimatedHistogram.serializer.deserialize(dis);
-            ReplayPosition replayPosition = 
ReplayPosition.serializer.deserialize(dis);
-            long maxTimestamp = dis.readLong();
-            return new SSTableMetadata(rowSizes, columnCounts, replayPosition, 
maxTimestamp);
-        }
+            ReplayPosition replayPosition = includesReplayPosition
+                                          ? 
ReplayPosition.serializer.deserialize(dis)
+                                          : ReplayPosition.NONE;
+            long maxTimestamp = tracksMaxTimestamp ? dis.readLong() : 
Long.MIN_VALUE;
 
-        public long serializedSize(SSTableMetadata object)
-        {
-            throw new UnsupportedOperationException();
+            return new SSTableMetadata(rowSizes, columnCounts, replayPosition, 
maxTimestamp);
         }
     }
 }

Modified: cassandra/trunk/src/resources/org/apache/cassandra/cli/CliHelp.yaml
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/resources/org/apache/cassandra/cli/CliHelp.yaml?rev=1199880&r1=1199879&r2=1199880&view=diff
==============================================================================
--- cassandra/trunk/src/resources/org/apache/cassandra/cli/CliHelp.yaml 
(original)
+++ cassandra/trunk/src/resources/org/apache/cassandra/cli/CliHelp.yaml Wed Nov 
 9 17:22:07 2011
@@ -40,6 +40,7 @@ help: |
     create keyspace         Add a keyspace to the cluster.
     del                     Delete a column, super column or row.
     decr                    Decrements a counter column.
+    describe ring           Describe the token range information.
     describe cluster        Describe the cluster configuration.
     describe                Describe a keyspace and it's column families or 
column family in current keyspace.
     drop column family      Remove a column family and it's data.
@@ -132,6 +133,18 @@ commands:
         describe; - Describes current authenticated keyspace
         describe <keyspace>; - Describe this keyspace
         describe <column_family>; - Describe the colum family in the current 
authenticated keyspace
+    - name: NODE_DESCRIBE_RING
+      help: |
+        describe ring <keyspace>;
+
+        Describes the token range settings for the named keyspace.
+
+        Optional Parameters:
+        - keyspace: Name of the keyspace to describe.
+
+        Examples:
+        describe ring; - Describes the token range settings for the current 
authenticated keyspace
+        describe <keyspace>; - Describe the token range settings for this 
keyspace
     - name:
       help: |
         describe cluster;

Modified: 
cassandra/trunk/test/unit/org/apache/cassandra/io/sstable/SSTableMetadataSerializerTest.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/test/unit/org/apache/cassandra/io/sstable/SSTableMetadataSerializerTest.java?rev=1199880&r1=1199879&r2=1199880&view=diff
==============================================================================
--- 
cassandra/trunk/test/unit/org/apache/cassandra/io/sstable/SSTableMetadataSerializerTest.java
 (original)
+++ 
cassandra/trunk/test/unit/org/apache/cassandra/io/sstable/SSTableMetadataSerializerTest.java
 Wed Nov  9 17:22:07 2011
@@ -58,8 +58,7 @@ public class SSTableMetadataSerializerTe
 
         ByteArrayInputStream byteInput = new 
ByteArrayInputStream(byteOutput.toByteArray());
         DataInputStream dis = new DataInputStream(byteInput);
-
-        SSTableMetadata stats = SSTableMetadata.serializer.deserialize(dis);
+        SSTableMetadata stats = SSTableMetadata.serializer.deserialize(dis, 
true, true);
 
         assert 
stats.getEstimatedRowSize().equals(originalMetadata.getEstimatedRowSize());
         assert stats.getEstimatedRowSize().equals(rowSizes);


Reply via email to