Author: jbellis
Date: Sat Dec 26 00:24:56 2009
New Revision: 893908

URL: http://svn.apache.org/viewvc?rev=893908&view=rev
Log:
merge from 0.5 branch

Modified:
    incubator/cassandra/trunk/   (props changed)
    incubator/cassandra/trunk/CHANGES.txt
    
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Cassandra.java
   (props changed)
    
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Column.java
   (props changed)
    
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java
   (props changed)
    
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/NotFoundException.java
   (props changed)
    
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/SuperColumn.java
   (props changed)
    incubator/cassandra/trunk/src/java/org/   (props changed)
    
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/CassandraServer.java
    
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageProxy.java
    incubator/cassandra/trunk/test/system/test_server.py
    incubator/cassandra/trunk/test/unit/org/   (props changed)

Propchange: incubator/cassandra/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Dec 26 00:24:56 2009
@@ -1,3 +1,3 @@
 /incubator/cassandra/branches/cassandra-0.3:774578-796573
 /incubator/cassandra/branches/cassandra-0.4:810145-834239,834349-834350
-/incubator/cassandra/branches/cassandra-0.5:888872-893835
+/incubator/cassandra/branches/cassandra-0.5:888872-893907

Modified: incubator/cassandra/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/CHANGES.txt?rev=893908&r1=893907&r2=893908&view=diff
==============================================================================
--- incubator/cassandra/trunk/CHANGES.txt (original)
+++ incubator/cassandra/trunk/CHANGES.txt Sat Dec 26 00:24:56 2009
@@ -3,7 +3,8 @@
 
 
 0.5.0 RC2
- * fix bugs in converting get_slice_range results to Thrift (CASSANDRA-647)
+ * fix bugs in converting get_slice_range results to Thrift 
+   (CASSANDRA-647, CASSANDRA-649)
 
 
 0.5.0 RC1

Propchange: 
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Cassandra.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Dec 26 00:24:56 2009
@@ -1,4 +1,4 @@
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/Cassandra.java:774578-796573
 
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/Cassandra.java:810145-834239,834349-834350
-/incubator/cassandra/branches/cassandra-0.5/interface/gen-java/org/apache/cassandra/service/Cassandra.java:888872-893835
+/incubator/cassandra/branches/cassandra-0.5/interface/gen-java/org/apache/cassandra/service/Cassandra.java:888872-893907
 
/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Cassandra.java:749219-768588

Propchange: 
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Column.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Dec 26 00:24:56 2009
@@ -1,5 +1,5 @@
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/column_t.java:774578-792198
 
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/Column.java:810145-834239,834349-834350
-/incubator/cassandra/branches/cassandra-0.5/interface/gen-java/org/apache/cassandra/service/Column.java:888872-893835
+/incubator/cassandra/branches/cassandra-0.5/interface/gen-java/org/apache/cassandra/service/Column.java:888872-893907
 
/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Column.java:749219-794428
 
/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/column_t.java:749219-768588

Propchange: 
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Dec 26 00:24:56 2009
@@ -1,4 +1,4 @@
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:774578-796573
 
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:810145-834239,834349-834350
-/incubator/cassandra/branches/cassandra-0.5/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:888872-893835
+/incubator/cassandra/branches/cassandra-0.5/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:888872-893907
 
/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:749219-768588

Propchange: 
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/NotFoundException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Dec 26 00:24:56 2009
@@ -1,4 +1,4 @@
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:774578-796573
 
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:810145-834239,834349-834350
-/incubator/cassandra/branches/cassandra-0.5/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:888872-893835
+/incubator/cassandra/branches/cassandra-0.5/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:888872-893907
 
/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:749219-768588

Propchange: 
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/SuperColumn.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Dec 26 00:24:56 2009
@@ -1,5 +1,5 @@
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/superColumn_t.java:774578-792198
 
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/SuperColumn.java:810145-834239,834349-834350
-/incubator/cassandra/branches/cassandra-0.5/interface/gen-java/org/apache/cassandra/service/SuperColumn.java:888872-893835
+/incubator/cassandra/branches/cassandra-0.5/interface/gen-java/org/apache/cassandra/service/SuperColumn.java:888872-893907
 
/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/SuperColumn.java:749219-794428
 
/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/superColumn_t.java:749219-768588

Propchange: incubator/cassandra/trunk/src/java/org/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Dec 26 00:24:56 2009
@@ -1,4 +1,4 @@
 /incubator/cassandra/branches/cassandra-0.3/src/java/org:774578-796573
 
/incubator/cassandra/branches/cassandra-0.4/src/java/org:810145-834239,834349-834350
-/incubator/cassandra/branches/cassandra-0.5/src/java/org:888872-893835
+/incubator/cassandra/branches/cassandra-0.5/src/java/org:888872-893907
 /incubator/cassandra/trunk/src/java/org:749219-769885

Modified: 
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/CassandraServer.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/service/CassandraServer.java?rev=893908&r1=893907&r2=893908&view=diff
==============================================================================
--- 
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/CassandraServer.java
 (original)
+++ 
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/CassandraServer.java
 Sat Dec 26 00:24:56 2009
@@ -154,39 +154,38 @@
     private Map<String, List<ColumnOrSuperColumn>> getSlice(List<ReadCommand> 
commands, int consistency_level)
     throws InvalidRequestException, UnavailableException, TimedOutException
     {
-        Map<String, ColumnFamily> cfamilies = readColumnFamily(commands, 
consistency_level);
+        Map<String, ColumnFamily> columnFamilies = readColumnFamily(commands, 
consistency_level);
         Map<String, List<ColumnOrSuperColumn>> columnFamiliesMap = new 
HashMap<String, List<ColumnOrSuperColumn>>();
         for (ReadCommand command: commands)
         {
-            ColumnFamily cfamily = cfamilies.get(command.key);
+            ColumnFamily cf = columnFamilies.get(command.key);
             boolean reverseOrder = command instanceof SliceFromReadCommand && 
((SliceFromReadCommand)command).reversed;
-
-            if (cfamily == null || cfamily.getColumnsMap().size() == 0)
-            {
-                columnFamiliesMap.put(command.key, EMPTY_COLUMNS);
-                continue;
-            }
-            if (command.queryPath.superColumnName != null)
-            {
-                IColumn column = 
cfamily.getColumnsMap().values().iterator().next();
-                Collection<IColumn> subcolumns = column.getSubColumns();
-                if (subcolumns == null || subcolumns.isEmpty())
-                {
-                    columnFamiliesMap.put(command.key, EMPTY_COLUMNS);
-                    continue;
-                }
-                columnFamiliesMap.put(command.key, 
thriftifyColumns(subcolumns, reverseOrder));
-                continue;
-            }
-            if (cfamily.isSuper())
-                columnFamiliesMap.put(command.key, 
thriftifySuperColumns(cfamily.getSortedColumns(), reverseOrder));
-            else
-                columnFamiliesMap.put(command.key, 
thriftifyColumns(cfamily.getSortedColumns(), reverseOrder));
+            List<ColumnOrSuperColumn> thriftifiedColumns = 
thriftifyColumnFamily(cf, command.queryPath.superColumnName != null, 
reverseOrder);
+            columnFamiliesMap.put(command.key, thriftifiedColumns);
         }
 
         return columnFamiliesMap;
     }
 
+    private List<ColumnOrSuperColumn> thriftifyColumnFamily(ColumnFamily cf, 
boolean subcolumnsOnly, boolean reverseOrder)
+    {
+        if (cf == null || cf.getColumnsMap().size() == 0)
+            return EMPTY_COLUMNS;
+        if (subcolumnsOnly)
+        {
+            IColumn column = cf.getColumnsMap().values().iterator().next();
+            Collection<IColumn> subcolumns = column.getSubColumns();
+            if (subcolumns == null || subcolumns.isEmpty())
+                return EMPTY_COLUMNS;
+            else
+                return thriftifyColumns(subcolumns, reverseOrder);
+        }
+        if (cf.isSuper())
+            return thriftifySuperColumns(cf.getSortedColumns(), reverseOrder);
+        else
+            return thriftifyColumns(cf.getSortedColumns(), reverseOrder);
+    }
+
     public List<ColumnOrSuperColumn> get_slice(String keyspace, String key, 
ColumnParent column_parent, SlicePredicate predicate, int consistency_level)
     throws InvalidRequestException, UnavailableException, TimedOutException
     {
@@ -576,7 +575,7 @@
             throw new InvalidRequestException("maxRows must be positive");
         }
 
-        List<Pair<String,Collection<IColumn>>> rows;
+        List<Pair<String, ColumnFamily>> rows;
         try
         {
             DecoratedKey startKey = 
StorageService.getPartitioner().decorateKey(start_key);
@@ -591,14 +590,9 @@
 
         List<KeySlice> keySlices = new ArrayList<KeySlice>(rows.size());
         boolean reversed = predicate.slice_range != null && 
predicate.slice_range.reversed;
-        for (Pair<String, Collection<IColumn>> row : rows)
+        for (Pair<String, ColumnFamily> row : rows)
         {
-            Collection<IColumn> columns = row.right;
-            List<ColumnOrSuperColumn> thriftifiedColumns;
-            if (DatabaseDescriptor.getColumnFamilyType(keyspace, 
column_parent.column_family).equals("Standard"))
-                thriftifiedColumns = thriftifyColumns(columns, reversed);
-            else
-                thriftifiedColumns = thriftifySuperColumns(columns, reversed);
+            List<ColumnOrSuperColumn> thriftifiedColumns = 
thriftifyColumnFamily(row.right, column_parent.super_column != null, reversed);
             keySlices.add(new KeySlice(row.left, thriftifiedColumns));
         }
 

Modified: 
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageProxy.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageProxy.java?rev=893908&r1=893907&r2=893908&view=diff
==============================================================================
--- 
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageProxy.java
 (original)
+++ 
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageProxy.java
 Sat Dec 26 00:24:56 2009
@@ -547,7 +547,7 @@
         return rows;
     }
 
-    static List<Pair<String, Collection<IColumn>>> 
getRangeSlice(RangeSliceCommand command, int consistency_level) throws 
IOException, UnavailableException, TimedOutException
+    static List<Pair<String, ColumnFamily>> getRangeSlice(RangeSliceCommand 
command, int consistency_level) throws IOException, UnavailableException, 
TimedOutException
     {
         long startTime = System.currentTimeMillis();
         TokenMetadata tokenMetadata = 
StorageService.instance().getTokenMetadata();
@@ -612,18 +612,17 @@
         }
         while (!endPoint.equals(startEndpoint));
 
-        List<Pair<String, Collection<IColumn>>> results = new 
ArrayList<Pair<String, Collection<IColumn>>>(rows.size());
+        List<Pair<String, ColumnFamily>> results = new ArrayList<Pair<String, 
ColumnFamily>>(rows.size());
         for (Map.Entry<String, ColumnFamily> entry : rows.entrySet())
         {
             ColumnFamily cf = entry.getValue();
-            Collection<IColumn> columns = (cf == null) ? 
Collections.<IColumn>emptyList() : cf.getSortedColumns();
-            results.add(new Pair<String, Collection<IColumn>>(entry.getKey(), 
columns));
+            results.add(new Pair<String, ColumnFamily>(entry.getKey(), cf));
         }
-        Collections.sort(results, new Comparator<Pair<String, 
Collection<IColumn>>>()
+        Collections.sort(results, new Comparator<Pair<String, ColumnFamily>>()
         {
-            public int compare(Pair<String, Collection<IColumn>> o1, 
Pair<String, Collection<IColumn>> o2)
+            public int compare(Pair<String, ColumnFamily> o1, Pair<String, 
ColumnFamily> o2)
             {
-                return keyComparator.compare(o1.left, o2.left);
+                return keyComparator.compare(o1.left, o2.left);                
             }
         });
         rangeStats.add(System.currentTimeMillis() - startTime);

Modified: incubator/cassandra/trunk/test/system/test_server.py
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/test/system/test_server.py?rev=893908&r1=893907&r2=893908&view=diff
==============================================================================
--- incubator/cassandra/trunk/test/system/test_server.py (original)
+++ incubator/cassandra/trunk/test/system/test_server.py Sat Dec 26 00:24:56 
2009
@@ -729,9 +729,8 @@
         cp = ColumnParent('Super3', 'sc1')
         result = client.get_range_slice("Keyspace2", cp, 
SlicePredicate(column_names=['col1', 'col3']), 'key2', 'key4', 5, 
ConsistencyLevel.ONE)
         assert len(result) == 3
-        sc = result[0].columns[0].super_column
-        assert sc.columns[0].name == 'col1'
-        assert sc.columns[1].name == 'col3'
+        assert result[0].columns[0].column.name == 'col1'
+        assert result[0].columns[1].column.name == 'col3'
 
         cp = ColumnParent('Super3')
         result = client.get_range_slice("Keyspace2", cp, 
SlicePredicate(column_names=['sc1']), 'key2', 'key4', 5, ConsistencyLevel.ONE)

Propchange: incubator/cassandra/trunk/test/unit/org/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Dec 26 00:24:56 2009
@@ -1,4 +1,4 @@
 /incubator/cassandra/branches/cassandra-0.3/test/unit/org:774578-796573
 
/incubator/cassandra/branches/cassandra-0.4/test/unit/org:810145-834239,834349-834350
-/incubator/cassandra/branches/cassandra-0.5/test/unit/org:888872-893835
+/incubator/cassandra/branches/cassandra-0.5/test/unit/org:888872-893907
 /incubator/cassandra/trunk/test/unit/org:749219-768583


Reply via email to