incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brian Jeltema <brian.jelt...@digitalenvoy.net>
Subject inconsistent hadoop/cassandra results
Date Mon, 07 Jan 2013 13:16:39 GMT
I need some help understanding unexpected behavior I saw in some recent experiments with Cassandra
1.1.5 and Hadoop 1.0.3:

I've written a small map/reduce job that simply counts the number of columns in each row of
a static CF (call it Foo) 
and generates a list of every row and column count. A relatively small fraction of the rows
have a large number
of columns; worst case is approximately 36 million. So when I set up the job, I used wide-row
support:

    ConfigHelper.setInputColumnFamily(job.getConfiguration(), "fooKS", "Foo", WIDE_ROWS);
// where WIDE_ROWS == true

When I ran this job using the default CL (1) I noticed that the results varied from run to
run, which I attributed to inconsistent
replicas, since Foo was generated with CL == 1 and the RF == 3. 

So I ran repair for that CF on every node. The cassandra log on every node contains lines
similar to:

  INFO [AntiEntropyStage:1] 2013-01-05 20:38:48,605 AntiEntropyService.java (line 778) [repair
#e4a1d7f0-579d-11e2-0000-d64e0a75e6df] Foo is fully synced

However, repeated runs were still inconsistent. Then I set CL to ALL, which I presumed would
always result in identical
output, but repeated runs initially continued to be inconsistent. However, I noticed that
the results seemed to
be converging, and after several runs (somewhere between 4 and 6) I finally was producing
identical results on every run.
Then I set CL to QUORUM, and again generated inconsistent results.

Does this behavior make sense?

Brian
Mime
View raw message