On Mon, Jul 19, 2010 at 10:43 PM, Peter Schuller <
peter.schul...@infidyne.com> wrote:

> > I'm using CL=QUORUM (=Hector default) for both reads and writes. Most of
> the
> > times, the test passes, but sometimes it fails because I get back the old
> > value. Since the test is single-threaded, I guess it is a bug. I'll try
> to
> > reduce the test to something smaller that can be used for
> troubleshooting.
>
> I have never used or looked at the source of Hector; but is it at all
> possible that Hector is making the write asynchronous by putting it on
> a queue of some kind, serviced by a pool of workers?
>
no

>
> To be clear, this is *pure* speculation and may be completely out of
> the question. It's an attempt to think up an hypothesis other than a
> Cassandra bug to explain what you're seeing.
>
sorry... there could be other bugs, but queues and asyncs aren't
involved...

>
> > By the way, is it documented somewhere under what circumstances one can
> > expect inconsistencies and when not?
>
> Not sure if consistency is dealt with in more depth somewhere, but one
> point talking about consistency levels is:
>
>   http://wiki.apache.org/cassandra/API
>
> You may also be interested in the Dynamo paper for background:
>
>   http://www.allthingsdistributed.com/2007/10/amazons_dynamo.html
>
> Unless I have seriously misunderstood something, you're definitely
> expected to get the consistency you are after with QUOROM - under the
> assumption that you use QUOROM for both reads and writes of the data
> in question, as you say you do.
>
> If you further need durability (so that you don't lose said
> consistency in the event of cassandra nodes going done in an
> uncontrolled fashion), you'll want to turn on batch wise commits
> rather than periodic commits in Cassandra. Expect that to imply a
> potentially significant performance penalty though, depending
> primarily on what your commit log is stored on.
>
> --
> / Peter Schuller
>

Reply via email to