I have a similar problem here, I deleted about 30% of a very large CF using LCS (about 80GB per node), but still my data hasn't shrinked, even if I used 1 day for gc_grace_seconds. Would nodetool scrub help? Does nodetool scrub forces a minor compaction?
Cheers, Paulo On Fri, Apr 11, 2014 at 12:12 PM, Mark Reddy <mark.re...@boxever.com> wrote: > Yes, running nodetool compact (major compaction) creates one large > SSTable. This will mess up the heuristics of the SizeTiered strategy (is > this the compaction strategy you are using?) leading to multiple 'small' > SSTables alongside the single large SSTable, which results in increased > read latency. You will incur the operational overhead of having to manage > compactions if you wish to compact these smaller SSTables. For all these > reasons it is generally advised to stay away from running compactions > manually. > > Assuming that this is a production environment and you want to keep > everything running as smoothly as possible I would reduce the gc_grace on > the CF, allow automatic minor compactions to kick in and then increase the > gc_grace once again after the tombstones have been removed. > > > On Fri, Apr 11, 2014 at 3:44 PM, William Oberman <ober...@civicscience.com > > wrote: > >> So, if I was impatient and just "wanted to make this happen now", I could: >> >> 1.) Change GCGraceSeconds of the CF to 0 >> 2.) run nodetool compact (*) >> 3.) Change GCGraceSeconds of the CF back to 10 days >> >> Since I have ~900M tombstones, even if I miss a few due to impatience, I >> don't care *that* much as I could re-run my clean up tool against the now >> much smaller CF. >> >> (*) A long long time ago I seem to recall reading advice about "don't >> ever run nodetool compact", but I can't remember why. Is there any bad >> long term consequence? Short term there are several: >> -a heavy operation >> -temporary 2x disk space >> -one big SSTable afterwards >> But moving forward, everything is ok right? >> CommitLog/MemTable->SStables, minor compactions that merge SSTables, >> etc... The only flaw I can think of is it will take forever until the >> SSTable minor compactions build up enough to consider including the big >> SSTable in a compaction, making it likely I'll have to self manage >> compactions. >> >> >> >> On Fri, Apr 11, 2014 at 10:31 AM, Mark Reddy <mark.re...@boxever.com>wrote: >> >>> Correct, a tombstone will only be removed after gc_grace period has >>> elapsed. The default value is set to 10 days which allows a great deal of >>> time for consistency to be achieved prior to deletion. If you are >>> operationally confident that you can achieve consistency via anti-entropy >>> repairs within a shorter period you can always reduce that 10 day interval. >>> >>> >>> Mark >>> >>> >>> On Fri, Apr 11, 2014 at 3:16 PM, William Oberman < >>> ober...@civicscience.com> wrote: >>> >>>> I'm seeing a lot of articles about a dependency between removing >>>> tombstones and GCGraceSeconds, which might be my problem (I just checked, >>>> and this CF has GCGraceSeconds of 10 days). >>>> >>>> >>>> On Fri, Apr 11, 2014 at 10:10 AM, tommaso barbugli <tbarbu...@gmail.com >>>> > wrote: >>>> >>>>> compaction should take care of it; for me it never worked so I run >>>>> nodetool compaction on every node; that does it. >>>>> >>>>> >>>>> 2014-04-11 16:05 GMT+02:00 William Oberman <ober...@civicscience.com>: >>>>> >>>>> I'm wondering what will clear tombstoned rows? nodetool cleanup, >>>>>> nodetool repair, or time (as in just wait)? >>>>>> >>>>>> I had a CF that was more or less storing session information. After >>>>>> some time, we decided that one piece of this information was pointless to >>>>>> track (and was 90%+ of the columns, and in 99% of those cases was ALL >>>>>> columns for a row). I wrote a process to remove all of those columns >>>>>> (which again in a vast majority of cases had the effect of removing the >>>>>> whole row). >>>>>> >>>>>> This CF had ~1 billion rows, so I expect to be left with ~100m rows. >>>>>> After I did this mass delete, everything was the same size on disk >>>>>> (which >>>>>> I expected, knowing how tombstoning works). It wasn't 100% clear to me >>>>>> what to poke to cause compactions to clear the tombstones. First I tried >>>>>> nodetool cleanup on a candidate node. But, afterwards the disk usage was >>>>>> the same. Then I tried nodetool repair on that same node. But again, >>>>>> disk >>>>>> usage is still the same. The CF has no snapshots. >>>>>> >>>>>> So, am I misunderstanding something? Is there another operation to >>>>>> try? Do I have to "just wait"? I've only done cleanup/repair on one >>>>>> node. >>>>>> Do I have to run one or the other over all nodes to clear tombstones? >>>>>> >>>>>> Cassandra 1.2.15 if it matters, >>>>>> >>>>>> Thanks! >>>>>> >>>>>> will >>>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >> > -- *Paulo Motta* Chaordic | *Platform* *www.chaordic.com.br <http://www.chaordic.com.br/>* +55 48 3232.3200