[ https://issues.apache.org/jira/browse/CASSANDRA-4963?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dave Brosius updated CASSANDRA-4963: ------------------------------------ Description: if you add a collection column with a ttl, then later update the collection by adding a new element, the 'under the covers' column representing the added value has no ttl. It seems like ttl tombstoning should only be allowed to remove the collection in entirety, or not touch it, but not be allowed to modify it by removing parts. example cqlsh> create keyspace collections with replication = {'class':'SimpleStrategy', 'replication_factor':1}; cqlsh> use collections; cqlsh:collections> insert into collections (key, aset) values (1, {'fee', 'fi'}) using ttl 10000; cqlsh:collections> update collections set aset = aset + {'fo', 'fum'} where key = 1; cqlsh:collections> exit cassandra-cli [default@unknown] use collections [default@collections] get collections[1]; => (column=, value=, timestamp=1352874321877000) => (column=aset:666565, value=, timestamp=1352874314717000, ttl=10000) => (column=aset:6669, value=, timestamp=1352874314717000, ttl=10000) => (column=aset:666f, value=, timestamp=1352874321877000) => (column=aset:66756d, value=, timestamp=1352874321877000) was: if you add a collection column with a ttl, then later update the collection by adding a new element, the 'under the covers' column representing the added value has no ttl. It seems like ttl tombstoning should only be allowed to remove the collection in entirety, or not touch it, but not be allowed to modify it by removing parts. example cqlsh> create keyspace collections with replication = {'class':'SimpleStrategy', 'replication_factor':1}; cqlsh> use collections; cqlsh:collections> insert into collections (key, aset) values (1, {'fee', 'fi'}) using ttl 10000; cqlsh:collections> update collections set aset = aset + {'fo', 'fum'} where key = 1; cqlsh:collections> exit nodetool flush cassandra-cli [default@unknown] use collections [default@collections] get collections[1]; => (column=, value=, timestamp=1352874321877000) => (column=aset:666565, value=, timestamp=1352874314717000, ttl=10000) => (column=aset:6669, value=, timestamp=1352874314717000, ttl=10000) => (column=aset:666f, value=, timestamp=1352874321877000) => (column=aset:66756d, value=, timestamp=1352874321877000) > A cql collection 'column' doesn't own it's ttl > ---------------------------------------------- > > Key: CASSANDRA-4963 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4963 > Project: Cassandra > Issue Type: Bug > Components: Core > Affects Versions: 1.2.0 beta 2 > Reporter: Dave Brosius > Priority: Minor > > if you add a collection column with a ttl, then later update the collection > by adding a new element, the 'under the covers' column representing the added > value has no ttl. It seems like ttl tombstoning should only be allowed to > remove the collection in entirety, or not touch it, but not be allowed to > modify it by removing parts. > example > cqlsh> create keyspace collections with replication = > {'class':'SimpleStrategy', 'replication_factor':1}; > cqlsh> use collections; > cqlsh:collections> insert into collections (key, aset) values (1, {'fee', > 'fi'}) using ttl 10000; > cqlsh:collections> update collections set aset = aset + {'fo', 'fum'} where > key = 1; > cqlsh:collections> exit > cassandra-cli > [default@unknown] use collections > [default@collections] get collections[1]; > => (column=, value=, timestamp=1352874321877000) > => (column=aset:666565, value=, timestamp=1352874314717000, ttl=10000) > => (column=aset:6669, value=, timestamp=1352874314717000, ttl=10000) > => (column=aset:666f, value=, timestamp=1352874321877000) > => (column=aset:66756d, value=, timestamp=1352874321877000) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira