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 """