cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aleksey Yeschenko (JIRA)" <>
Subject [jira] [Resolved] (CASSANDRA-7534) TTL on rows to ensure data consistency
Date Fri, 11 Mar 2016 16:51:39 GMT


Aleksey Yeschenko resolved CASSANDRA-7534.
       Resolution: Won't Fix
    Fix Version/s:     (was: 3.x)

> TTL on rows to ensure data consistency
> --------------------------------------
>                 Key: CASSANDRA-7534
>                 URL:
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Morten Jorgensen
> Requesting TTL on key/row-level to ensure consistency between data stored in columns
under the same key. Please refer to original request for this enhancement in CASSANDRA-2469.
> There are valid reasons why you would want the TTL on the key/row rather than the individual
columns. The reason why you store your data as columns under a common key is that the data
is related, and hence you want to ensure that all data exists as long as the key exists. Example:
> I have developed a plugin for Tomcat that stores user session data in Cassandra, effectively
making Tomcat stateless (and scalable) even if it maintains user sessions. Session data is
stored in Cassandra under the session ID (key/row), as session attribute name/value-pairs
(columns). Sessions time out after N minutes of inactivity, and I would prefer to use Cassandra's
TTL for this. Otherwise I have to traverse all sessions periodically and purge sessions that
are past their expiry time. But, the problem using the column-level TTL is that I risk timing
out only parts of a user session, rather than all of it. So, a user that accesses JSPs that
require read/write access to only certain session objects will retain those objects in Cassandra,
while other session objects will expire with their respective column TTL's. This creates an
inconsistent session, with some data expiring and some data remaining in the session - while
what I need is the entire session to remain or expire as a whole.
> This is one valid use case for key-level TTL, and this is only one specific example of
the more general use case of column consistency. I suggest that this issue is re-opened an
re-evaluated from this perspective.

This message was sent by Atlassian JIRA

View raw message