[ 
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

Reply via email to