incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeffrey Wang <jw...@palantir.com>
Subject understanding tombstones
Date Wed, 09 Mar 2011 22:54:16 GMT
Hey all,

I was wondering if this is the expected behavior of deletes (0.7.0). Let's say I have a 1-node
cluster with a single CF which has gc_grace_seconds = 0. The following sequence of operations
happens (in the given order):

insert row X with timestamp T
delete row X with timestamp T+1
force flush + compaction
insert row X with timestamp T

My understanding is that the tombstone created by the delete (and row X) will disappear with
the flush + compaction which means the last insertion should show up. My experimentation,
however, suggests otherwise (the last insertion does not show up).

I believe I have traced this to the fact that the markedForDeleteAt field on the ColumnFamily
does not get reset after a compaction (after gc_grace_seconds has passed); is this desirable?
I think it introduces an inconsistency in how tombstoned columns work versus tombstoned CFs.
Thanks.

-Jeffrey


Mime
View raw message