[
https://issues.apache.org/jira/browse/CASSANDRA-10238?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14725864#comment-14725864
]
Rocco Varela commented on CASSANDRA-10238:
------------------------------------------
I reproduced the RF inconsistency in Cassandra 2.1.8.689.
*Cluster Setup:*
# 3 nodes
# GossipingPropertyFileSnitch
# 1 DC, 3 racks (rack0, rack1, rack2), rack numbers initially match node numbers
# Cassandra 2.1.8.689
# Used cassandra-stress for data load, with modification for specifying DTCS
(probably not needed)
*Steps:*
# create 1 datacenter, and KS with RF=3 (using DTCS)
# created 3 racks during setup
# consolidate these racks into 1, did this in phases, first collapsing rack on
node0 (rack0->rack1), then rack on node2 (rack2->rack1)
# getendpoints reveals different RF on each node, see output below
*Output:*
Before collapsing racks:
node0
{code}
automaton@i-a0cf954d9:~$ nodetool getendpoints "keyspace1" "standard1" 36F41194
10.240.22.34
10.240.132.129
10.240.232.159
{code}
*After collapsing racks:*
node0
{code}
automaton@i-a0cf954d9:~$ nodetool getendpoints "keyspace1" "standard1" 36F41194
10.240.22.34
10.240.132.129
{code}
node1
{code}
automaton@i-8c39d23e6:~$ nodetool getendpoints "keyspace1" "standard1" 36F41194
10.240.22.34
10.240.132.129
10.240.232.159
{code}
node2
{code}
automaton@i-9d29327c8:~$ nodetool getendpoints "keyspace1" "standard1" 36F41194
10.240.22.34
{code}
Description of keyspace before and after collapsing racks:
{code}
cqlsh> desc keyspace keyspace1;
CREATE KEYSPACE keyspace1 WITH replication = {'class':
'NetworkTopologyStrategy', 'DC1': '3'} AND durable_writes = true;
CREATE TABLE keyspace1.standard1 (
key blob PRIMARY KEY,
"C0" blob,
"C1" blob,
"C2" blob,
"C3" blob,
"C4" blob
)...
{code}
> Consolidating racks violates the RF contract
> --------------------------------------------
>
> Key: CASSANDRA-10238
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10238
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Brandon Williams
> Assignee: Rocco Varela
>
> I have only tested this on 2.0 so far, but I suspect it will affect multiple
> versions.
> Repro:
> * create a datacenter with rf>1
> * create more than one rack in this datacenter
> * consolidate these racks into 1
> * getendpoints will reveal the RF in practice is 1, even though other tools
> will report the original RF that was set
> Restarting Cassandra will resolve this.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)