Author: jbellis
Date: Fri Apr  2 13:19:57 2010
New Revision: 930264

URL: http://svn.apache.org/viewvc?rev=930264&view=rev
Log:
allow querying getAllRanges with empty token list.  patch by Gabriele Renzi; 
reviewed by jbellis for CASSANDRA-933

Modified:
    cassandra/branches/cassandra-0.6/CHANGES.txt
    
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/service/StorageService.java
    
cassandra/branches/cassandra-0.6/test/unit/org/apache/cassandra/service/StorageServiceServerTest.java

Modified: cassandra/branches/cassandra-0.6/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.6/CHANGES.txt?rev=930264&r1=930263&r2=930264&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.6/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.6/CHANGES.txt Fri Apr  2 13:19:57 2010
@@ -2,6 +2,7 @@
  * fix NPE in sstable2json when no excluded keys are given (CASSANDRA-934)
  * keep the replica set constant throughout the read repair process
    (CASSANDRA-937)
+ * allow querying getAllRanges with empty token list (CASSANDRA-933)
 
 
 0.6.0-RC1

Modified: 
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/service/StorageService.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/service/StorageService.java?rev=930264&r1=930263&r2=930264&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/service/StorageService.java
 (original)
+++ 
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/service/StorageService.java
 Fri Apr  2 13:19:57 2010
@@ -1125,6 +1125,8 @@ public class StorageService implements I
         if (logger_.isDebugEnabled())
             logger_.debug("computing ranges for " + 
StringUtils.join(sortedTokens, ", "));
 
+        if (sortedTokens.isEmpty()) 
+            return Collections.emptyList();
         List<Range> ranges = new ArrayList<Range>();
         int size = sortedTokens.size();
         for (int i = 1; i < size; ++i)

Modified: 
cassandra/branches/cassandra-0.6/test/unit/org/apache/cassandra/service/StorageServiceServerTest.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.6/test/unit/org/apache/cassandra/service/StorageServiceServerTest.java?rev=930264&r1=930263&r2=930264&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.6/test/unit/org/apache/cassandra/service/StorageServiceServerTest.java
 (original)
+++ 
cassandra/branches/cassandra-0.6/test/unit/org/apache/cassandra/service/StorageServiceServerTest.java
 Fri Apr  2 13:19:57 2010
@@ -21,12 +21,16 @@ package org.apache.cassandra.service;
 
 import java.io.File;
 import java.io.IOException;
+import java.util.Collections;
+import java.util.List;
 
 import org.junit.Test;
 
+import org.apache.cassandra.dht.Token;
 import org.apache.cassandra.CleanupHelper;
 import org.apache.cassandra.config.DatabaseDescriptor;
 
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
@@ -49,4 +53,12 @@ public class StorageServiceServerTest
         //StorageService.instance.decommission();
         StorageService.instance.stopClient();
     }
-}
\ No newline at end of file
+
+    @Test
+    public void testGetAllRangesEmpty()
+    {
+        List<Token> toks = Collections.emptyList();
+        assertEquals(Collections.emptyList(), 
StorageService.instance.getAllRanges(toks));
+    }
+}
+


Reply via email to