You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Richard Low (JIRA)" <ji...@apache.org> on 2015/05/20 03:06:00 UTC
[jira] [Created] (CASSANDRA-9434) If a node loses schema_columns
SSTables it could delete all secondary indexes from the schema
Richard Low created CASSANDRA-9434:
--------------------------------------
Summary: If a node loses schema_columns SSTables it could delete all secondary indexes from the schema
Key: CASSANDRA-9434
URL: https://issues.apache.org/jira/browse/CASSANDRA-9434
Project: Cassandra
Issue Type: Bug
Reporter: Richard Low
It is possible that a single bad node can delete all secondary indexes if it restarts and cannot read its schema_columns SSTables. Here's a reproduction:
* Create a 2 node cluster (we saw it on 2.0.11)
* Create the schema:
create keyspace myks with replication = {'class':'SimpleStrategy', 'replication_factor':1};
use myks;
create table mytable (a text, b text, c text, PRIMARY KEY (a, b) );
create index myindex on mytable(b);
NB index must be on clustering column to repro
* Kill one node
* Wipe its commitlog and system/schema_columns sstables.
* Start it again
* Run on this node
select index_name from system.schema_columns where keyspace_name = 'myks' and columnfamily_name = 'mytable' and column_name = 'b';
and you'll see the index is null.
* Run 'describe schema' on the other node. Sometimes it will not show the index, but you might need to bounce for it to disappear.
I think the culprit is SystemKeyspace.copyAllAliasesToColumnsProper.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)