I just updated CASSANDRA-6563 with more details and proposed a patch to
solve the issue, in case anyone else is interested.

https://issues.apache.org/jira/browse/CASSANDRA-6563

On Tue, May 6, 2014 at 10:00 PM, Paulo Ricardo Motta Gomes <
paulo.mo...@chaordicsystems.com> wrote:

> Robert: thanks for the support, you are right, this belonged more to the
> dev list but I didn't think of it.
>
> Yuki: thanks a lot for the clarification, this is what I suspected.
>
> I understand it's costly to check row by row overlap in order to decide if
> a SSTable is candidate for compaction, but doesn't the compaction process
> already performs this check when removing tombstones? So, couldn't this
> check be dropped during decision time and let the compaction run anyway?
>
> This optimization is specially interesting with large STCS sstables, where
> the token range will very likely overlap with all other sstables, so it's a
> pity it's almost never being triggered in these cases.
>
> On Tue, May 6, 2014 at 9:32 PM, Yuki Morishita <mor.y...@gmail.com> wrote:
>
>> Hi Paulo,
>>
>> The reason we check overlap is not to resurrect deleted data by only
>> dropping tombstone marker from single SSTable.
>> And we don't want to check row by row to determine if SSTable is
>> droppable since it takes time, so we use token ranges to determine if
>> it MAY have droppable columns.
>>
>> On Tue, May 6, 2014 at 7:14 PM, Paulo Ricardo Motta Gomes
>> <paulo.mo...@chaordicsystems.com> wrote:
>> > Hello,
>> >
>> > Sorry for being persistent, but I'd love to clear my understanding on
>> this.
>> > Has anyone seen single sstable compaction being triggered for STCS
>> sstables
>> > with high tombstone ratio?
>> >
>> > Because if the above understanding is correct, the current
>> implementation
>> > almost never triggers this kind of compaction, since the token ranges
>> of a
>> > node's sstable almost always overlap. Could this be a bug or is it
>> expected
>> > behavior?
>> >
>> > Thank you,
>> >
>> >
>> >
>> > On Mon, May 5, 2014 at 8:59 AM, Paulo Ricardo Motta Gomes
>> > <paulo.mo...@chaordicsystems.com> wrote:
>> >>
>> >> Hello,
>> >>
>> >> After noticing that automatic tombstone removal (CASSANDRA-3442) was
>> not
>> >> working in an append-only STCS CF with 40% of droppable tombstone
>> ratio I
>> >> investigated why the compaction was not being triggered in the largest
>> >> SSTable with 16GB and about 70% droppable tombstone ratio.
>> >>
>> >> When the code goes to check if the SSTable is candidate to be compacted
>> >> (AbstractCompactionStrategy.worthDroppingTombstones), it verifies if
>> all the
>> >> others SSTables overlap with the current SSTable by checking if the
>> start
>> >> and end tokens overlap. The problem is that all SSTables contain
>> pretty much
>> >> the whole node token range, so all of them overlap nearly all the
>> time, so
>> >> the automatic tombstone removal never happens. Is there any case in
>> STCS
>> >> where all sstables token ranges DO NOT overlap?
>> >>
>> >> I understand during the tombstone removal process it's necessary to
>> verify
>> >> if the compacted row exists in any other SSTable, but I don't
>> understand why
>> >> it's necessary to verify if the token ranges overlap to decide if a
>> >> tombstone compaction must be executed on a single SSTable with high
>> >> droppable tombstone ratio.
>> >>
>> >> Any clarification would be kindly appreciated.
>> >>
>> >> PS: Cassandra version: 1.2.16
>> >>
>> >> --
>> >> Paulo Motta
>> >>
>> >> Chaordic | Platform
>> >> www.chaordic.com.br
>> >> +55 48 3232.3200
>> >
>> >
>> >
>> >
>> > --
>> > Paulo Motta
>> >
>> > Chaordic | Platform
>> > www.chaordic.com.br
>> > +55 48 3232.3200
>>
>>
>>
>> --
>> Yuki Morishita
>>  t:yukim (http://twitter.com/yukim)
>>
>
>
>
> --
> *Paulo Motta*
>
> Chaordic | *Platform*
> *www.chaordic.com.br <http://www.chaordic.com.br/>*
> +55 48 3232.3200
>



-- 
*Paulo Motta*

Chaordic | *Platform*
*www.chaordic.com.br <http://www.chaordic.com.br/>*
+55 48 3232.3200

Reply via email to