Author: jbellis
Date: Wed May 19 23:37:18 2010
New Revision: 946481

URL: http://svn.apache.org/viewvc?rev=946481&view=rev
Log:
test + fix for expiring columns.  patch by Jignesh Dhruv and Sylvain Lebresne 
for CASSANDRA-1109

Modified:
    cassandra/trunk/src/java/org/apache/cassandra/db/RowMutation.java
    cassandra/trunk/test/system/test_thrift_server.py

Modified: cassandra/trunk/src/java/org/apache/cassandra/db/RowMutation.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/RowMutation.java?rev=946481&r1=946480&r2=946481&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/db/RowMutation.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/db/RowMutation.java Wed May 
19 23:37:18 2010
@@ -295,12 +295,12 @@ public class RowMutation
         {
             for (org.apache.cassandra.thrift.Column column : 
cosc.super_column.columns)
             {
-                rm.add(new QueryPath(cfName, cosc.super_column.name, 
column.name), column.value, column.timestamp);
+                rm.add(new QueryPath(cfName, cosc.super_column.name, 
column.name), column.value, column.timestamp, column.ttl);
             }
         }
         else
         {
-            rm.add(new QueryPath(cfName, null, cosc.column.name), 
cosc.column.value, cosc.column.timestamp);
+            rm.add(new QueryPath(cfName, null, cosc.column.name), 
cosc.column.value, cosc.column.timestamp, cosc.column.ttl);
         }
     }
 

Modified: cassandra/trunk/test/system/test_thrift_server.py
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/test/system/test_thrift_server.py?rev=946481&r1=946480&r2=946481&view=diff
==============================================================================
--- cassandra/trunk/test/system/test_thrift_server.py (original)
+++ cassandra/trunk/test/system/test_thrift_server.py Wed May 19 23:37:18 2010
@@ -1124,6 +1124,19 @@ class TestMutations(ThriftTester):
         assert client.get('key1', ColumnPath('Standard1', column='cttl3'), 
ConsistencyLevel.ONE).column == column
         time.sleep(2)
         _expect_missing(lambda: client.get('key1', ColumnPath('Standard1', 
column='cttl3'), ConsistencyLevel.ONE))
+    
+    def test_simple_expiration_batch_mutate(self):
+        """ Test that column ttled do expires using batch_mutate """
+        _set_keyspace('Keyspace1')
+        column = Column('cttl4', 'value1', 0, 2)
+        cfmap = {'Standard1': [Mutation(ColumnOrSuperColumn(column))]}
+        client.batch_mutate({'key1': cfmap}, ConsistencyLevel.ONE)
+        time.sleep(1)
+        c = client.get('key1', ColumnPath('Standard1', column='cttl4'), 
ConsistencyLevel.ONE).column
+        assert c == column
+        assert client.get('key1', ColumnPath('Standard1', column='cttl4'), 
ConsistencyLevel.ONE).column == column
+        time.sleep(2)
+        _expect_missing(lambda: client.get('key1', ColumnPath('Standard1', 
column='cttl3'), ConsistencyLevel.ONE))
 
     def test_update_expiring(self):
         """ Test that updating a column with ttl override the ttl """


Reply via email to