[ 
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)

Reply via email to