Author: xedin
Date: Mon Nov 21 18:59:41 2011
New Revision: 1204649

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

Modified:
    cassandra/trunk/   (props changed)
    cassandra/trunk/CHANGES.txt
    cassandra/trunk/bin/cassandra.bat
    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/CliClient.java
    cassandra/trunk/src/java/org/apache/cassandra/cli/CliMain.java
    cassandra/trunk/src/java/org/apache/cassandra/cli/CliOptions.java
    cassandra/trunk/src/java/org/apache/cassandra/dht/RandomPartitioner.java
    
cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableMetadata.java
    cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
    cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
    
cassandra/trunk/test/unit/org/apache/cassandra/io/sstable/SSTableMetadataSerializerTest.java
    cassandra/trunk/test/unit/org/apache/cassandra/utils/MerkleTreeTest.java

Propchange: cassandra/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Nov 21 18:59:41 2011
@@ -4,7 +4,7 @@
 
/cassandra/branches/cassandra-0.8:1090934-1125013,1125019-1198724,1198726-1199259,1199284,1200226,1200471
 /cassandra/branches/cassandra-0.8.0:1125021-1130369
 /cassandra/branches/cassandra-0.8.1:1101014-1125018
-/cassandra/branches/cassandra-1.0:1167085-1202912,1203117
+/cassandra/branches/cassandra-1.0:1167085-1204646
 
/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=1204649&r1=1204648&r2=1204649&view=diff
==============================================================================
--- cassandra/trunk/CHANGES.txt (original)
+++ cassandra/trunk/CHANGES.txt Mon Nov 21 18:59:41 2011
@@ -10,11 +10,13 @@
 
 
 1.0.4
+ * enforce RP tokens 0..2**127 (CASSANDRA-3501)
+ * canonicalize paths exposed through JMX (CASSANDRA-3504)
  * fix "liveSize" stat when sstables are removed (CASSANDRA-3496)
  * add bloom filter FP rates to nodetool cfstats (CASSANDRA-3347)
  * record partitioner in sstable metadata component (CASSANDRA-3407)
  * add new upgradesstables nodetool command (CASSANDRA-3406)
-
+ * skip --debug requirement to see common exceptions in CLI (CASSANDRA-3508)
 
 1.0.3
  * revert name-based query defragmentation aka CASSANDRA-2503 (CASSANDRA-3491)
@@ -31,7 +33,8 @@
  * (CQL) fix for counter decrement syntax (CASSANDRA-3418)
  * Fix race introduced by CASSANDRA-2503 (CASSANDRA-3482)
  * Fix incomplete deletion of delivered hints (CASSANDRA-3466)
- * Avoid reschuling compactions when no compaction was executed 
(CASSANDRA-3484)
+ * Avoid rescheduling compactions when no compaction was executed 
+   (CASSANDRA-3484)
  * fix handling of the chunk_length_kb compression options (CASSANDRA-3492)
 Merged from 0.8:
  * Make counter shard merging thread safe (CASSANDRA-3178)

Modified: cassandra/trunk/bin/cassandra.bat
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/bin/cassandra.bat?rev=1204649&r1=1204648&r2=1204649&view=diff
==============================================================================
--- cassandra/trunk/bin/cassandra.bat (original)
+++ cassandra/trunk/bin/cassandra.bat Mon Nov 21 18:59:41 2011
@@ -15,6 +15,7 @@
 @REM  limitations under the License.
 
 @echo off
+if "%OS%" == "Windows_NT" setlocal
 
 set ARG=%1
 set INSTALL="INSTALL"

Propchange: cassandra/trunk/contrib/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Nov 21 18:59:41 2011
@@ -4,7 +4,7 @@
 
/cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125019-1198724,1198726-1199259,1199284,1200226,1200471
 /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-1202912,1203117
+/cassandra/branches/cassandra-1.0/contrib:1167085-1204646
 
/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 Mon Nov 21 18:59:41 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,1200226,1200471
 
/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-1202912,1203117
+/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1167085-1204646
 
/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 Mon Nov 21 18:59:41 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,1200226,1200471
 
/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-1202912,1203117
+/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1167085-1204646
 
/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 Mon Nov 21 18:59:41 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,1200226,1200471
 
/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-1202912,1203117
+/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1167085-1204646
 
/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 Mon Nov 21 18:59:41 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,1200226,1200471
 
/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-1202912,1203117
+/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1167085-1204646
 
/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 Mon Nov 21 18:59:41 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,1200226,1200471
 
/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-1202912,1203117
+/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1167085-1204646
 
/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/CliClient.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java?rev=1204649&r1=1204648&r2=1204649&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java Mon Nov 21 
18:59:41 2011
@@ -1482,7 +1482,7 @@ public class CliClient
             sessionState.err.println(e.getWhy());
 
             if (sessionState.debug)
-                e.printStackTrace();
+                e.printStackTrace(sessionState.err);
         }
     }
 
@@ -1956,8 +1956,8 @@ public class CliClient
         catch (TException e) 
         {
             if (sessionState.debug)
-                e.printStackTrace();
-            
+                e.printStackTrace(sessionState.err);
+
             sessionState.err.println("Login failure. Did you specify 
'keyspace', 'username' and 'password'?");
         }
     }

Modified: cassandra/trunk/src/java/org/apache/cassandra/cli/CliMain.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/cli/CliMain.java?rev=1204649&r1=1204648&r2=1204649&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/cli/CliMain.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/cli/CliMain.java Mon Nov 21 
18:59:41 2011
@@ -81,8 +81,7 @@ public class CliMain
         }
         catch (Exception e)
         {
-            if (sessionState.debug)
-                e.printStackTrace();
+            e.printStackTrace(sessionState.err);
 
             String error = (e.getCause() == null) ? e.getMessage() : 
e.getCause().getMessage();
             throw new RuntimeException("Exception connecting to " + server + 
"/" + port + ". Reason: " + error + ".");
@@ -161,8 +160,7 @@ public class CliMain
         {
             sessionState.err.println("Exception retrieving information about 
the cassandra node, check you have connected to the thrift port.");
 
-            if (sessionState.debug)
-                e.printStackTrace();
+            e.printStackTrace(sessionState.err);
 
             return;
         }
@@ -228,10 +226,8 @@ public class CliMain
             String message = (e.getCause() == null) ? e.getMessage() : 
e.getCause().getMessage();
             sessionState.err.println(errorTemplate + message);
 
-            if (sessionState.debug)
-            {
+            if (!(e instanceof RuntimeException))
                 e.printStackTrace(sessionState.err);
-            }
 
             if (sessionState.batch || sessionState.inFileMode())
             {

Modified: cassandra/trunk/src/java/org/apache/cassandra/cli/CliOptions.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/cli/CliOptions.java?rev=1204649&r1=1204648&r2=1204649&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/cli/CliOptions.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/cli/CliOptions.java Mon Nov 
21 18:59:41 2011
@@ -67,7 +67,7 @@ public class CliOptions
         // options without argument
         options.addOption("B",  BATCH_OPTION,   "enabled batch mode (suppress 
output; errors are fatal)");
         options.addOption(null, UNFRAME_OPTION, "use cassandra server's 
unframed transport");
-        options.addOption(null, DEBUG_OPTION,   "display stack traces");
+        options.addOption(null, DEBUG_OPTION,   "display stack-traces (NOTE: 
We print strack-traces in the places where it makes sense even without 
--debug)");
         options.addOption("?",  HELP_OPTION,    "usage help");
         options.addOption("v",  VERBOSE_OPTION, "verbose output when using 
batch mode");
     }

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/dht/RandomPartitioner.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/dht/RandomPartitioner.java?rev=1204649&r1=1204648&r2=1204649&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/dht/RandomPartitioner.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/dht/RandomPartitioner.java 
Mon Nov 21 18:59:41 2011
@@ -38,6 +38,7 @@ public class RandomPartitioner implement
 {
     public static final BigInteger ZERO = new BigInteger("0");
     public static final BigIntegerToken MINIMUM = new BigIntegerToken("-1");
+    public static final BigInteger MAXIMUM = new BigInteger("2").pow(127);
 
     private static final byte DELIMITER_BYTE = ":".getBytes()[0];
 
@@ -118,7 +119,11 @@ public class RandomPartitioner implement
         {
             try
             {
-                new BigInteger(token);
+                BigInteger i = new BigInteger(token);
+                if (i.compareTo(ZERO) < 0)
+                    throw new ConfigurationException("Token must be >= 0");
+                if (i.compareTo(MAXIMUM) > 0)
+                    throw new ConfigurationException("Token must be <= 
2**127");
             }
             catch (NumberFormatException e)
             {
@@ -163,7 +168,7 @@ public class RandomPartitioner implement
         // n-case
         else {
             // NOTE: All divisions must take place in BigDecimals, and all 
modulo operators must take place in BigIntegers.
-            final BigInteger ri = new BigInteger("2").pow(127);                
             //  (used for addition later)
+            final BigInteger ri = MAXIMUM;                                     
             //  (used for addition later)
             final BigDecimal r  = new BigDecimal(ri);                          
             // The entire range, 2**127
             Token start = (Token)i.next(); BigInteger ti = 
((BigIntegerToken)start).token;  // The first token and its value
             Token t; BigInteger tim1 = ti;                                     
             // The last token and its value (after loop)

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=1204649&r1=1204648&r2=1204649&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 
Mon Nov 21 18:59:41 2011
@@ -50,14 +50,16 @@ import org.apache.cassandra.utils.Estima
 public class SSTableMetadata
 {
     private static Logger logger = 
LoggerFactory.getLogger(SSTableMetadata.class);
-    protected final EstimatedHistogram estimatedRowSize;
-    protected final EstimatedHistogram estimatedColumnCount;
-    protected final ReplayPosition replayPosition;
-    protected final long maxTimestamp;
-    protected final double compressionRatio;
-    protected final String partitioner;
+
     public static final SSTableMetadataSerializer serializer = new 
SSTableMetadataSerializer();
 
+    public final EstimatedHistogram estimatedRowSize;
+    public final EstimatedHistogram estimatedColumnCount;
+    public final ReplayPosition replayPosition;
+    public final long maxTimestamp;
+    public final double compressionRatio;
+    public final String partitioner;
+
     private SSTableMetadata()
     {
         this(defaultRowSizeHistogram(),
@@ -88,36 +90,6 @@ public class SSTableMetadata
         return new Collector();
     }
 
-    public EstimatedHistogram getEstimatedRowSize()
-    {
-        return estimatedRowSize;
-    }
-
-    public EstimatedHistogram getEstimatedColumnCount()
-    {
-        return estimatedColumnCount;
-    }
-
-    public ReplayPosition getReplayPosition()
-    {
-        return replayPosition;
-    }
-
-    public long getMaxTimestamp()
-    {
-        return maxTimestamp;
-    }
-
-    public double getCompressionRatio()
-    {
-        return compressionRatio;
-    }
-
-    public String getPartitioner()
-    {
-        return partitioner;
-    }
-
     static EstimatedHistogram defaultColumnCountHistogram()
     {
         // EH of 114 can track a max value of 2395318855, i.e., > 2B columns
@@ -132,20 +104,11 @@ public class SSTableMetadata
 
     public static class Collector
     {
-        protected EstimatedHistogram estimatedRowSize;
-        protected EstimatedHistogram estimatedColumnCount;
-        protected ReplayPosition replayPosition;
-        protected long maxTimestamp;
-        protected double compressionRatio;
-
-        private Collector()
-        {
-            this.estimatedRowSize = defaultRowSizeHistogram();
-            this.estimatedColumnCount = defaultColumnCountHistogram();
-            this.replayPosition = ReplayPosition.NONE;
-            this.maxTimestamp = Long.MIN_VALUE;
-            this.compressionRatio = Double.MIN_VALUE;
-        }
+        protected EstimatedHistogram estimatedRowSize = 
defaultRowSizeHistogram();
+        protected EstimatedHistogram estimatedColumnCount = 
defaultColumnCountHistogram();
+        protected ReplayPosition replayPosition = ReplayPosition.NONE;
+        protected long maxTimestamp = Long.MIN_VALUE;
+        protected double compressionRatio = Double.MIN_VALUE;
 
         public void addRowSize(long rowSize)
         {
@@ -206,12 +169,12 @@ public class SSTableMetadata
 
         public void serialize(SSTableMetadata sstableStats, DataOutput dos) 
throws IOException
         {
-            
EstimatedHistogram.serializer.serialize(sstableStats.getEstimatedRowSize(), 
dos);
-            
EstimatedHistogram.serializer.serialize(sstableStats.getEstimatedColumnCount(), 
dos);
-            
ReplayPosition.serializer.serialize(sstableStats.getReplayPosition(), dos);
-            dos.writeLong(sstableStats.getMaxTimestamp());
-            dos.writeDouble(sstableStats.getCompressionRatio());
-            dos.writeUTF(sstableStats.getPartitioner());
+            
EstimatedHistogram.serializer.serialize(sstableStats.estimatedRowSize, dos);
+            
EstimatedHistogram.serializer.serialize(sstableStats.estimatedColumnCount, dos);
+            ReplayPosition.serializer.serialize(sstableStats.replayPosition, 
dos);
+            dos.writeLong(sstableStats.maxTimestamp);
+            dos.writeDouble(sstableStats.compressionRatio);
+            dos.writeUTF(sstableStats.partitioner);
         }
 
         public SSTableMetadata deserialize(Descriptor descriptor) throws 
IOException

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableReader.java?rev=1204649&r1=1204648&r2=1204649&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableReader.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableReader.java 
Mon Nov 21 18:59:41 2011
@@ -139,7 +139,7 @@ public class SSTableReader extends SSTab
 
         // check if sstable is created using same partitioner as this node
         String partitionerName = partitioner.getClass().getCanonicalName();
-        if (!partitionerName.equals(sstableMetadata.getPartitioner()))
+        if (!partitionerName.equals(sstableMetadata.partitioner))
             throw new RuntimeException(String.format("Cannot open %s because 
partitioner does not match %s",
                                                      descriptor, 
partitionerName));
 
@@ -897,27 +897,27 @@ public class SSTableReader extends SSTab
 
     public EstimatedHistogram getEstimatedRowSize()
     {
-        return sstableMetadata.getEstimatedRowSize();
+        return sstableMetadata.estimatedRowSize;
     }
 
     public EstimatedHistogram getEstimatedColumnCount()
     {
-        return sstableMetadata.getEstimatedColumnCount();
+        return sstableMetadata.estimatedColumnCount;
     }
 
     public double getCompressionRatio()
     {
-        return sstableMetadata.getCompressionRatio();
+        return sstableMetadata.compressionRatio;
     }
 
     public ReplayPosition getReplayPosition()
     {
-        return sstableMetadata.getReplayPosition();
+        return sstableMetadata.replayPosition;
     }
 
     public long getMaxTimestamp()
     {
-        return sstableMetadata.getMaxTimestamp();
+        return sstableMetadata.maxTimestamp;
     }
 
     public RandomAccessReader openDataReader(boolean skipIOCache) throws 
IOException

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=1204649&r1=1204648&r2=1204649&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java 
Mon Nov 21 18:59:41 2011
@@ -1463,24 +1463,42 @@ public class StorageService implements I
         return stringify(Gossiper.instance.getUnreachableMembers());
     }
 
+    private static String getCanonicalPath(String filename)
+    {
+        try
+        {
+            return new File(filename).getCanonicalPath();
+        }
+        catch (IOException e)
+        {
+            throw new IOError(e);
+        }
+    }
+
     public String[] getAllDataFileLocations()
     {
-        return DatabaseDescriptor.getAllDataFileLocations();
+        String[] locations = DatabaseDescriptor.getAllDataFileLocations();
+        for (int i = 0; i < locations.length; i++)
+            locations[i] = getCanonicalPath(locations[i]);
+        return locations;
     }
 
     public String[] getAllDataFileLocationsForTable(String table)
     {
-        return DatabaseDescriptor.getAllDataFileLocationsForTable(table);
+        String[] locations = 
DatabaseDescriptor.getAllDataFileLocationsForTable(table);
+        for (int i = 0; i < locations.length; i++)
+            locations[i] = getCanonicalPath(locations[i]);
+        return locations;
     }
 
     public String getCommitLogLocation()
     {
-        return DatabaseDescriptor.getCommitLogLocation();
+        return getCanonicalPath(DatabaseDescriptor.getCommitLogLocation());
     }
 
     public String getSavedCachesLocation()
     {
-        return DatabaseDescriptor.getSavedCachesLocation();
+        return getCanonicalPath(DatabaseDescriptor.getSavedCachesLocation());
     }
 
     private List<String> stringify(Iterable<InetAddress> endpoints)

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=1204649&r1=1204648&r2=1204649&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
 Mon Nov 21 18:59:41 2011
@@ -28,7 +28,6 @@ import java.io.IOException;
 import org.junit.Test;
 
 import org.apache.cassandra.db.commitlog.ReplayPosition;
-import org.apache.cassandra.utils.ByteBufferUtil;
 import org.apache.cassandra.utils.EstimatedHistogram;
 
 public class SSTableMetadataSerializerTest
@@ -62,13 +61,13 @@ public class SSTableMetadataSerializerTe
         Descriptor desc = new Descriptor(Descriptor.CURRENT_VERSION, new 
File("."), "", "", 0, false);
         SSTableMetadata stats = SSTableMetadata.serializer.deserialize(dis, 
desc);
 
-        assert 
stats.getEstimatedRowSize().equals(originalMetadata.getEstimatedRowSize());
-        assert stats.getEstimatedRowSize().equals(rowSizes);
-        assert 
stats.getEstimatedColumnCount().equals(originalMetadata.getEstimatedColumnCount());
-        assert stats.getEstimatedColumnCount().equals(columnCounts);
-        assert 
stats.getReplayPosition().equals(originalMetadata.getReplayPosition());
-        assert stats.getReplayPosition().equals(rp);
-        assert stats.getMaxTimestamp() == maxTimestamp;
-        assert stats.getMaxTimestamp() == originalMetadata.getMaxTimestamp();
+        assert 
stats.estimatedRowSize.equals(originalMetadata.estimatedRowSize);
+        assert stats.estimatedRowSize.equals(rowSizes);
+        assert 
stats.estimatedColumnCount.equals(originalMetadata.estimatedColumnCount);
+        assert stats.estimatedColumnCount.equals(columnCounts);
+        assert stats.replayPosition.equals(originalMetadata.replayPosition);
+        assert stats.replayPosition.equals(rp);
+        assert stats.maxTimestamp == maxTimestamp;
+        assert stats.maxTimestamp == originalMetadata.maxTimestamp;
     }
 }

Modified: 
cassandra/trunk/test/unit/org/apache/cassandra/utils/MerkleTreeTest.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/test/unit/org/apache/cassandra/utils/MerkleTreeTest.java?rev=1204649&r1=1204648&r2=1204649&view=diff
==============================================================================
--- cassandra/trunk/test/unit/org/apache/cassandra/utils/MerkleTreeTest.java 
(original)
+++ cassandra/trunk/test/unit/org/apache/cassandra/utils/MerkleTreeTest.java 
Mon Nov 21 18:59:41 2011
@@ -102,8 +102,7 @@ public class MerkleTreeTest
     {
         if (i == -1)
             return new BigIntegerToken(new BigInteger("-1"));
-        BigInteger md5_max = new BigInteger("2").pow(127);
-        BigInteger bint = md5_max.divide(TOKEN_SCALE).multiply(new 
BigInteger(""+i));
+        BigInteger bint = 
RandomPartitioner.MAXIMUM.divide(TOKEN_SCALE).multiply(new BigInteger(""+i));
         return new BigIntegerToken(bint);
     }
 


Reply via email to