> is there a way to either make TTL dynamic (using ?) > Not at this time. There is https://issues.apache.org/jira/browse/CASSANDRA-4450 open for that, but that's not done yet.
> tell the engine not to cache the Prepared statement. I am using the new > CQL Java Driver. > In that case, just don't use a prepared statement. Use a normal, non prepared query. Yes, normal statements will be slightly slower, but if you really have to update a column while preserving its TTL, as said above you will have to do a read followed by a write, so the whole thing won't be excessively efficient and hence I doubt not using prepared statements will be the blocking part performance wise. -- Sylvain > > > Shahryar > > > On Fri, Apr 26, 2013 at 11:42 AM, Sylvain Lebresne > <[email protected]>wrote: > >> This is indeed intended. That behavior is largely dictated by how the >> storage engine works, and the fact that an update does no read internally >> in particular. >> >> Yet, what I do not know is whether this behavior can be changed somehow >>> to let the initial TTL, >>> >> >> There's nothing like that supported, no. You have to read the value first >> to get his TTL and then insert whatever update you want with the TTL you've >> just fetch. And since we don't have a good way to do it much more >> efficiently than server side, we prefer not doing it. That way the >> performance impact is very explicit. >> >> -- >> Sylvain >> >> >> >>> >>> Alain >>> >>> >>> 2013/4/26 Shahryar Sedghi <[email protected]> >>> >>>> Apparently when I update a column using CQL that already has a TTL, it >>>> resets the TTL to null, so if there was already a TTL for all columns that >>>> I inserted part of a composite column set, this specific column that I >>>> updated will not expire while the others are are getting expired. Is it how >>>> it is expected to work or it is a bug? >>>> >>>> Thanks in advance >>>> >>>> Shahryar >>>> >>>> >>>> >>> >> > > > -- > "Life is what happens while you are making other plans." ~ John Lennon >
