cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alain RODRIGUEZ <arodr...@gmail.com>
Subject Re: ALTER default_time_to_live
Date Mon, 22 Jan 2018 17:09:59 GMT
Hello Vlad,

I don't remember the context of the sentences, but I see no
incompatibilities. I believe the misunderstanding comes from the word
'compaction' that is a bit large. In the first sentence it is about
tombstone compactions. in sentence two it is about standard, regular
compaction according to the chosen compaction strategy. Both are slightly
different things:

A compaction strategy can be done compacting data like in those buckets you
mentioned but still do the tombstones compactions. Tombstone compactions
are done specially for tombstone eviction. Historically they are involving
only one sstable (in recent versions can be multiple SSTables), they are
ran with a lower priority than normal compactions and are not disabled
unless the 'tombstone_threshold' is set to 1 (subproperty of compaction,
table level).

And expiring tables does not involve any compactions.

I hope this is more clear now.

C*heers,
-----------------------
Alain Rodriguez - @arodream - alain@thelastpickle.com
France / Spain

The Last Pickle - Apache Cassandra Consulting
http://www.thelastpickle.com


2018-01-18 19:21 GMT+00:00 Vlad <qa23d-vvd@yahoo.com.invalid>:

> Hi, thanks for answer!
>
> I've read article about TWCS, and I don't understand how claim
>
> "When rows reach their TTL (10 minutes here), they turn into tombstones.
> Our table defines that tombstones can be purged 1 minute after they were
> created. If all rows are created with the same TTL, SSTables will get 100%
> droppable tombstones eventually and perform full SSTable deletion instead
> of purging tombstones through compaction."
>
> goes with
> "Once the major compaction for a time window is completed, no further
> compaction of the data will ever occur."
>
> In above example TTL is 10 minutes, but time window is only one. As far as
> I understand C* never compacts passed bucket. Does it check tombstones
> anyway?
>
>
> On Thursday, January 18, 2018 1:32 PM, Alain RODRIGUEZ <arodrime@gmail.com>
> wrote:
>
>
> I set  default_time_to_live for existing table. Does it affect existing
> data?
>
>
> No, it sets a default TTL for the future writes (that is no guarantee, as
> it can be overwritten in any specific query).
>
> It seems data to be deleted, but after compaction, I don't see any disk
> space freed as expected
>
>
> Indeed tombstones are responsible for tombstones eviction, yet there are
> some conditions to respect to be able to remove the tombstones (for
> consistency reasons). I detailed this last year, and even though the
> content is a bit old, main principles are still true and the tuning options
> are still relevant.
>
> *About deletes and tombstones: *http://thelastpickle.com/blog/2016/
> 07/27/about-deletes-and-tombstones.html
>
> *tl;dr: *I would give a try to *unchecked_tombstone_compaction: true*.
> Maybe also consider using TWCS because of this "TTL is also ten days on
> one table and 100 days on other.". But I really recommend you to
> understand how this all work to act wisely. My guess can be wrong.
>
> *About TWCS*: http://thelastpickle.com/blog/2016/12/08/TWCS-part1.html
>
> C*heers,
> -----------------------
> Alain Rodriguez - @arodream - alain@thelastpickle.com
> France / Spain
>
> The Last Pickle - Apache Cassandra Consulting
> http://www.thelastpickle.com
>
> 2018-01-18 11:15 GMT+00:00 Vlad <qa23d-vvd@yahoo.com.invalid>:
>
> Hi,
>
> I set  default_time_to_live for existing table. Does it affect existing
> data? It seems data to be deleted, but after compaction, I don't see any
> disk space freed as expected. Database has data for almost year, GC time is
> ten days, and TTL is also ten days on one table and 100 days on other.
>
>  Cassandra version 3.11.0
>
> Thanks.
>
>
>
>
>

Mime
View raw message