[
https://issues.apache.org/jira/browse/CASSANDRA-5200?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Aleksey Yeschenko resolved CASSANDRA-5200.
------------------------------------------
Resolution: Won't Fix
The raciness you mention is inherent to this approach. If you move the read
before write to the server, C* being a distributed system, you just move the
race to C* itself. This cannot - easily - be done without imposing
coordination/locking, which is an anti-pattern in C*.
Closing as Won't Fix.
> Add a way to cancel TTL on a column (without changing value)
> ------------------------------------------------------------
>
> Key: CASSANDRA-5200
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5200
> Project: Cassandra
> Issue Type: New Feature
> Reporter: Anentropic
> Priority: Minor
> Labels: ponies
>
> Currently you can set TTL on a column value:
> UPDATE table USING TTL 30 SET col1='test' WHERE id=123;
> The only way to cancel the TTL, so that col1='test' doesn't expire, is to set
> col1 to a new value.
> If you want col1 to keep its current value but stop expiring I don't see a
> reliable way. You (understandably) can't do:
> UPDATE table SET col1=col1 WHERE id=123;
> And obviously if you have to SELECT the value first you have a race condition.
> I understand the reasons for not allowing SET col1=col1 but I'm guessing it
> wouldn't be too hard to allow some way to cancel the TTL without having to
> set a value?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)