I wonder if anyone can provide an explanation for the following behavior
observed in a three-node cluster:
1. In a three-node (A, B and C) installation, I use the cli, connected to
node A, to set 10 data items.
2. On cli connected to node A, I do get, and can see all 10 data items.
3. I take node C down, I do step 2, and only see some of the 10 data items.
Some of the data items are unavailable as follows:
cassandra> get Keyspace1.Standard1['test6']
Exception null
UnavailableException()
at
org.apache.cassandra.service.Cassandra$get_slice_result.read(Cassandr
a.java:3274)
at
org.apache.cassandra.service.Cassandra$Client.recv_get_slice(Cassandr
a.java:296)
at
org.apache.cassandra.service.Cassandra$Client.get_slice(Cassandra.jav
a:270)
at org.apache.cassandra.cli.CliClient.doSlice(CliClient.java:241)
at org.apache.cassandra.cli.CliClient.executeGet(CliClient.java:300)
at
org.apache.cassandra.cli.CliClient.executeCLIStmt(CliClient.java:57)
at org.apache.cassandra.cli.CliMain.processCLIStmt(CliMain.java:131)
at org.apache.cassandra.cli.CliMain.main(CliMain.java:172)
4. Following step 3, with no other changes other than connecting the same
cli instance to the other remaining node, meaning node B (which is a node
with largest memory, by the way, although I don't think it matters here), I
can see all 10 test data items.
The replica number is 2.
|