incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From aaron morton <aa...@thelastpickle.com>
Subject Re: Waiting on read repair?
Date Mon, 18 Mar 2013 17:24:22 GMT
> 1. With a ConsistencyLevel of quorum, does
> FBUtilities.waitForFutures() wait for read repair to complete before
> returning?
No
That's just a utility method. 
Nothing on the read path waits for Read Repair, and controlled by read_repair_chance CF property,
it's all async to the client request. 
There is no CL, the messages are sent to individual nodes. 

> 2. When read repair applies a mutation, it needs to obtain a lock for
> the associated memtable.
What lock are you referring to?
When Read Repair (the RowDataResolver) wants to send a mutation it uses the MessageServer.
On the write path there is a server wide RW lock call the sync lock.

> I've seen readrepair spend a few seconds stalling in org.apache.cassandra.db.Table.apply).
This  could be contention around the sync lock, look for blocked tasks in the flush writer
thread pool. 

I did a talk on cassandra internals at Apache Con 3 weeks ago, not sure when the video is
going to be up but here are the slides http://www.slideshare.net/aaronmorton/apachecon-nafeb2013

Cheers

-----------------
Aaron Morton
Freelance Cassandra Consultant
New Zealand

@aaronmorton
http://www.thelastpickle.com

On 16/03/2013, at 12:21 PM, Jasdeep Hundal <dsjas297@gmail.com> wrote:

> I've got a couple of questions related issues I'm encountering using
> Cassandra under a heavy write load:
> 
> 1. With a ConsistencyLevel of quorum, does
> FBUtilities.waitForFutures() wait for read repair to complete before
> returning?
> 2. When read repair applies a mutation, it needs to obtain a lock for
> the associated memtable. Does compaction obtain this same lock? (I'm
> asking because I've seen readrepair spend a few seconds stalling in
> org.apache.cassandra.db.Table.apply).
> 
> Thanks,
> Jasdeep


Mime
View raw message