cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Caleb Rackliffe <>
Subject Re: consistency level question
Date Sun, 18 Mar 2012 07:31:22 GMT
If your replication factor is set to one, your cluster is obviously in a bad state following
any node failure.  At best, I think it would make sense that about a third of your operations
fail, but I'm not sure why all of them would.  I don't know if Hector just refuses to work
with a compromised cluster, etc.

I guess I'm wondering why your replication factor is set to 1…

Caleb Rackliffe | Software Developer
M 949.981.0159 |

From: Tamar Fraenkel <<>>
Reply-To: "<>" <<>>
Date: Sun, 18 Mar 2012 03:15:53 -0400
To: "<>"
Subject: consistency level question

I have a 3 node cassandra cluster.
I use Hector API.

I give hecotr one of the node's IP address
I call setAutoDiscoverHosts(true) and setRunAutoDiscoveryAtStartup(true).

The describe on one node returns:

Replication Strategy: org.apache.cassandra.locator.SimpleStrategy
  Durable Writes: true
    Options: [replication_factor:1]

The odd thing is that when I take one of the nodes down, expecting all to continue running
smoothly, I get exceptions of the format seen bellow, and no read or write succeeds. When
I bring the node back up, exceptions stop and read and write resumes.

Any idea or explanation why this is the case?

me.prettyprint.hector.api.exceptions.HUnavailableException: : May not be enough replicas present
to handle consistency level.
        at me.prettyprint.cassandra.service.ExceptionsTranslatorImpl.translate(
        at me.prettyprint.cassandra.service.KeyspaceServiceImpl$7.execute(
        at me.prettyprint.cassandra.service.KeyspaceServiceImpl$7.execute(
        at me.prettyprint.cassandra.service.Operation.executeAndSetResult(
        at me.prettyprint.cassandra.connection.HConnectionManager.operateWithFailover(
        at me.prettyprint.cassandra.service.KeyspaceServiceImpl.operateWithFailover(
        at me.prettyprint.cassandra.service.KeyspaceServiceImpl.getSlice(
        at me.prettyprint.cassandra.model.thrift.ThriftSliceQuery$1.doInKeyspace(
        at me.prettyprint.cassandra.model.thrift.ThriftSliceQuery$1.doInKeyspace(
        at me.prettyprint.cassandra.model.KeyspaceOperationCallback.doInKeyspaceAndMeasure(
        at me.prettyprint.cassandra.model.ExecutingKeyspace.doExecute(
        at me.prettyprint.cassandra.model.thrift.ThriftSliceQuery.execute(
        at me.prettyprint.cassandra.service.ColumnSliceIterator.hasNext(

Tamar Fraenkel
Senior Software Engineer, TOK Media

Tel:   +972 2 6409736
Mob:  +972 54 8356490
Fax:   +972 2 5612956

View raw message