I'm not clear here.  Are you worried about the later inserted tombstone
prevents the whole row from being reclaimed and the storage space can not be
freed?

To my knowledge,  after major compaction,  only  the row key and tombstone
are kept. Is it a big deal?

best regards,
hanzhu


On Tue, Jan 18, 2011 at 9:41 PM, David Boxenhorn <da...@lookin2.com> wrote:

> Thanks, Aaron, but I'm not 100% clear.
>
> My situation is this: My use case spins off rows (not columns) that I no
> longer need and want to delete. It is possible that these rows were never
> created in the first place, or were already deleted. This is a very large
> cleanup task that normally deletes a lot of rows, and the last thing that I
> want to do is create tombstones for rows that didn't exist in the first
> place, or lengthen the life on disk of tombstones of rows that are already
> deleted.
>
> So the question is: before I delete, do I have to retrieve the row to see
> if it exists in the first place?
>
>
>
> On Tue, Jan 18, 2011 at 11:38 AM, Aaron Morton <aa...@thelastpickle.com>wrote:
>
>> AFAIK that's not necessary, there is no need to worry about previous
>> deletes. You can delete stuff that does not even exist, neither batch_mutate
>> or remove are going to throw an error.
>>
>> All the columns that were (roughly speaking) present at your first
>> deletion will be available for GC at the end of the first tombstones life.
>> Same for the second.
>>
>> Say you were to write a col between the two deletes with the same name as
>> one present at the start. The first version of the col is avail for GC after
>> tombstone 1, and the second after tombstone 2.
>>
>> Hope that helps
>> Aaron
>>
>> On 18/01/2011, at 9:37 PM, David Boxenhorn <da...@lookin2.com> wrote:
>>
>> Thanks. In other words, before I delete something, I should check to see
>> whether it exists as a live row in the first place.
>>
>> On Tue, Jan 18, 2011 at 9:24 AM, Ryan King < <r...@twitter.com>
>> r...@twitter.com> wrote:
>>
>>> On Sun, Jan 16, 2011 at 6:53 AM, David Boxenhorn < <da...@lookin2.com>
>>> da...@lookin2.com> wrote:
>>> > If I delete a row, and later on delete it again, before GCGraceSeconds
>>> has
>>> > elapsed, does the tombstone live longer?
>>>
>>> Each delete is a new tombstone, which should answer your question.
>>>
>>> -ryan
>>>
>>> > In other words, if I have the following scenario:
>>> >
>>> > GCGraceSeconds = 10 days
>>> > On day 1 I delete a row
>>> > On day 5 I delete the row again
>>> >
>>> > Will the tombstone be removed on day 10 or day 15?
>>> >
>>>
>>
>>
>

Reply via email to