You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Ethan Rowe <et...@the-rowes.com> on 2011/06/27 20:04:44 UTC

Truncate introspection

Is there any straightforward means of seeing what's going on after issuing a
truncate (on 0.7.5)?  I'm not seeing evidence that anything actually
happened.  I've disabled read repair on the column family in question and
don't have anything actively reading/writing at present, apart from my
one-off tests to see if rows have disappeared.

Thanks in advance.

Re: Truncate introspection

Posted by aaron morton <aa...@thelastpickle.com>.
Drop CF takes a snapshot of the CF first, and then marks SSTables on disk as compacted so they will be safely deleted later. Finally it removes the CF from the meta data. 

If you see the SSTables on disk, you should see 0 length .compacted files for every one of them. 

Cheers

-----------------
Aaron Morton
Freelance Cassandra Developer
@aaronmorton
http://www.thelastpickle.com

On 28 Jun 2011, at 20:00, David Boxenhorn wrote:

> Does drop work in a similar way?
> 
> When I drop a CF and add it back with a different schema, it seems to work.
> 
> But I notice that in between the drop and adding it back, when the CLI
> tells me the CF doesn't exist, the old data is still there.
> 
> I've been assuming that this works, but just wanted to make sure...
> 
> On Tue, Jun 28, 2011 at 12:56 AM, Jonathan Ellis <jb...@gmail.com> wrote:
>> Each node (independently) has logic that guarantees that any writes
>> processed before the truncate, will be wiped out.
>> 
>> This does not mean that each node will wipe out the same data, or even
>> that each node will process the truncate (which would result in a
>> timedoutexception).
>> 
>> It also does not mean you can't have writes immediately after the
>> truncate that would race w/ a "truncate, check for zero sstables"
>> procedure.
>> 
>> On Mon, Jun 27, 2011 at 3:35 PM, Ethan Rowe <et...@the-rowes.com> wrote:
>>> If those went to zero, it would certainly tell me something happened.  :)  I
>>> guess watching that would be a way of seeing something was going on.
>>> Is the truncate itself propagating a ring-wide marker or anything so the CF
>>> is logically "empty" before being physically removed?  That's the impression
>>> I got from the docs but it wasn't totally clear to me.
>>> 
>>> On Mon, Jun 27, 2011 at 3:33 PM, Jonathan Ellis <jb...@gmail.com> wrote:
>>>> 
>>>> There's a JMX method to get the number of sstables in a CF, is that
>>>> what you're looking for?
>>>> 
>>>> On Mon, Jun 27, 2011 at 1:04 PM, Ethan Rowe <et...@the-rowes.com> wrote:
>>>>> Is there any straightforward means of seeing what's going on after
>>>>> issuing a
>>>>> truncate (on 0.7.5)?  I'm not seeing evidence that anything actually
>>>>> happened.  I've disabled read repair on the column family in question
>>>>> and
>>>>> don't have anything actively reading/writing at present, apart from my
>>>>> one-off tests to see if rows have disappeared.
>>>>> Thanks in advance.
>>>> 
>>>> 
>>>> 
>>>> --
>>>> Jonathan Ellis
>>>> Project Chair, Apache Cassandra
>>>> co-founder of DataStax, the source for professional Cassandra support
>>>> http://www.datastax.com
>>> 
>>> 
>> 
>> 
>> 
>> --
>> Jonathan Ellis
>> Project Chair, Apache Cassandra
>> co-founder of DataStax, the source for professional Cassandra support
>> http://www.datastax.com
>> 


Re: Truncate introspection

Posted by David Boxenhorn <da...@citypath.com>.
Does drop work in a similar way?

When I drop a CF and add it back with a different schema, it seems to work.

But I notice that in between the drop and adding it back, when the CLI
tells me the CF doesn't exist, the old data is still there.

I've been assuming that this works, but just wanted to make sure...

On Tue, Jun 28, 2011 at 12:56 AM, Jonathan Ellis <jb...@gmail.com> wrote:
> Each node (independently) has logic that guarantees that any writes
> processed before the truncate, will be wiped out.
>
> This does not mean that each node will wipe out the same data, or even
> that each node will process the truncate (which would result in a
> timedoutexception).
>
> It also does not mean you can't have writes immediately after the
> truncate that would race w/ a "truncate, check for zero sstables"
> procedure.
>
> On Mon, Jun 27, 2011 at 3:35 PM, Ethan Rowe <et...@the-rowes.com> wrote:
>> If those went to zero, it would certainly tell me something happened.  :)  I
>> guess watching that would be a way of seeing something was going on.
>> Is the truncate itself propagating a ring-wide marker or anything so the CF
>> is logically "empty" before being physically removed?  That's the impression
>> I got from the docs but it wasn't totally clear to me.
>>
>> On Mon, Jun 27, 2011 at 3:33 PM, Jonathan Ellis <jb...@gmail.com> wrote:
>>>
>>> There's a JMX method to get the number of sstables in a CF, is that
>>> what you're looking for?
>>>
>>> On Mon, Jun 27, 2011 at 1:04 PM, Ethan Rowe <et...@the-rowes.com> wrote:
>>> > Is there any straightforward means of seeing what's going on after
>>> > issuing a
>>> > truncate (on 0.7.5)?  I'm not seeing evidence that anything actually
>>> > happened.  I've disabled read repair on the column family in question
>>> > and
>>> > don't have anything actively reading/writing at present, apart from my
>>> > one-off tests to see if rows have disappeared.
>>> > Thanks in advance.
>>>
>>>
>>>
>>> --
>>> Jonathan Ellis
>>> Project Chair, Apache Cassandra
>>> co-founder of DataStax, the source for professional Cassandra support
>>> http://www.datastax.com
>>
>>
>
>
>
> --
> Jonathan Ellis
> Project Chair, Apache Cassandra
> co-founder of DataStax, the source for professional Cassandra support
> http://www.datastax.com
>

Re: Truncate introspection

Posted by Jonathan Ellis <jb...@gmail.com>.
Each node (independently) has logic that guarantees that any writes
processed before the truncate, will be wiped out.

This does not mean that each node will wipe out the same data, or even
that each node will process the truncate (which would result in a
timedoutexception).

It also does not mean you can't have writes immediately after the
truncate that would race w/ a "truncate, check for zero sstables"
procedure.

On Mon, Jun 27, 2011 at 3:35 PM, Ethan Rowe <et...@the-rowes.com> wrote:
> If those went to zero, it would certainly tell me something happened.  :)  I
> guess watching that would be a way of seeing something was going on.
> Is the truncate itself propagating a ring-wide marker or anything so the CF
> is logically "empty" before being physically removed?  That's the impression
> I got from the docs but it wasn't totally clear to me.
>
> On Mon, Jun 27, 2011 at 3:33 PM, Jonathan Ellis <jb...@gmail.com> wrote:
>>
>> There's a JMX method to get the number of sstables in a CF, is that
>> what you're looking for?
>>
>> On Mon, Jun 27, 2011 at 1:04 PM, Ethan Rowe <et...@the-rowes.com> wrote:
>> > Is there any straightforward means of seeing what's going on after
>> > issuing a
>> > truncate (on 0.7.5)?  I'm not seeing evidence that anything actually
>> > happened.  I've disabled read repair on the column family in question
>> > and
>> > don't have anything actively reading/writing at present, apart from my
>> > one-off tests to see if rows have disappeared.
>> > Thanks in advance.
>>
>>
>>
>> --
>> Jonathan Ellis
>> Project Chair, Apache Cassandra
>> co-founder of DataStax, the source for professional Cassandra support
>> http://www.datastax.com
>
>



-- 
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of DataStax, the source for professional Cassandra support
http://www.datastax.com

Re: Truncate introspection

Posted by Ethan Rowe <et...@the-rowes.com>.
If those went to zero, it would certainly tell me something happened.  :)  I
guess watching that would be a way of seeing something was going on.

Is the truncate itself propagating a ring-wide marker or anything so the CF
is logically "empty" before being physically removed?  That's the impression
I got from the docs but it wasn't totally clear to me.

On Mon, Jun 27, 2011 at 3:33 PM, Jonathan Ellis <jb...@gmail.com> wrote:

> There's a JMX method to get the number of sstables in a CF, is that
> what you're looking for?
>
> On Mon, Jun 27, 2011 at 1:04 PM, Ethan Rowe <et...@the-rowes.com> wrote:
> > Is there any straightforward means of seeing what's going on after
> issuing a
> > truncate (on 0.7.5)?  I'm not seeing evidence that anything actually
> > happened.  I've disabled read repair on the column family in question and
> > don't have anything actively reading/writing at present, apart from my
> > one-off tests to see if rows have disappeared.
> > Thanks in advance.
>
>
>
> --
> Jonathan Ellis
> Project Chair, Apache Cassandra
> co-founder of DataStax, the source for professional Cassandra support
> http://www.datastax.com
>

Re: Truncate introspection

Posted by Jonathan Ellis <jb...@gmail.com>.
There's a JMX method to get the number of sstables in a CF, is that
what you're looking for?

On Mon, Jun 27, 2011 at 1:04 PM, Ethan Rowe <et...@the-rowes.com> wrote:
> Is there any straightforward means of seeing what's going on after issuing a
> truncate (on 0.7.5)?  I'm not seeing evidence that anything actually
> happened.  I've disabled read repair on the column family in question and
> don't have anything actively reading/writing at present, apart from my
> one-off tests to see if rows have disappeared.
> Thanks in advance.



-- 
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of DataStax, the source for professional Cassandra support
http://www.datastax.com