[
https://issues.apache.org/jira/browse/CASSANDRA-8487?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14571720#comment-14571720
]
Kishan Karunaratne edited comment on CASSANDRA-8487 at 6/3/15 10:06 PM:
------------------------------------------------------------------------
I was able to reproduce this in C* 2.2.0-beta1 on Windows 64-bit. This is on a
single-dc, 3 node cluster. In my case, I'm missing both
system.schema_columnfamilies and system.schema_columns:
{noformat}
cqlsh> desc tables;
Keyspace system_auth
--------------------
resource_role_permissons_index role_permissions role_members roles
Keyspace system
---------------
<empty>
Keyspace system_distributed
---------------------------
repair_history parent_repair_history
Keyspace system_traces
----------------------
events sessions
cqlsh> select * from system.schema_columnfamilies;
Column family 'schema_columnfamilies' not found
{noformat}
Using python-driver 2.6.0-rc, I was able to do some further investigation:
{noformat}
>>> s.execute("select distinct keyspace_name from system.schema_columnfamilies")
[Row(keyspace_name=u'test3rf'), Row(keyspace_name=u'system_auth'),
Row(keyspace_name=u'system_distributed'), Row(keyspac
e_name=u'system'), Row(keyspace_name=u'system_traces')]
>>> s.execute("select distinct keyspace_name from system.schema_columnfamilies")
[Row(keyspace_name=u'test3rf'), Row(keyspace_name=u'system_auth'),
Row(keyspace_name=u'system_distributed'), Row(keyspac
e_name=u'system'), Row(keyspace_name=u'system_traces')]
>>> s.execute("select distinct keyspace_name from system.schema_columnfamilies")
[Row(keyspace_name=u'test3rf'), Row(keyspace_name=u'system_auth'),
Row(keyspace_name=u'system_distributed'), Row(keyspac
e_name=u'system_traces')]
{noformat}
Since the python-driver executes its queries with round-robin, we can see here
that each SELECT query was routed to each node, and the 3rd one is missing the
metadata about the keyspace "system". I'm not sure why I'm able to query
against a "nonexistent" schemacolumnfamilies table in the python-driver, but
not in cqlsh. Does cqlsh run at CL.ALL or require metadata for formatting the
results?
was (Author: kishkaru):
I was able to reproduce this in C* 2.2.0-beta1 on Windows 64-bit. This is on a
single-dc, 3 node cluster. In my case, I'm missing both
system.schema_columnfamilies and system.schema_columns:
{noformat}
cqlsh> desc tables;
Keyspace system_auth
--------------------
resource_role_permissons_index role_permissions role_members roles
Keyspace system
---------------
<empty>
Keyspace system_distributed
---------------------------
repair_history parent_repair_history
Keyspace system_traces
----------------------
events sessions
cqlsh> select * from system.schema_columnfamilies;
Column family 'schema_columnfamilies' not found
{noformat}
Using python-driver 2.6.0-rc, I was able to do some further investigation:
{noformat}
>>> s.execute("select distinct keyspace_name from system.schema_columnfamilies")
[Row(keyspace_name=u'test3rf'), Row(keyspace_name=u'system_auth'),
Row(keyspace_name=u'system_distributed'), Row(keyspac
e_name=u'system'), Row(keyspace_name=u'system_traces')]
>>> s.execute("select distinct keyspace_name from system.schema_columnfamilies")
[Row(keyspace_name=u'test3rf'), Row(keyspace_name=u'system_auth'),
Row(keyspace_name=u'system_distributed'), Row(keyspac
e_name=u'system'), Row(keyspace_name=u'system_traces')]
>>> s.execute("select distinct keyspace_name from system.schema_columnfamilies")
[Row(keyspace_name=u'test3rf'), Row(keyspace_name=u'system_auth'),
Row(keyspace_name=u'system_distributed'), Row(keyspac
e_name=u'system_traces')]
{noformat}
Since the python-driver executes its queries with round-robin, we can see here
that each SELECT query was routed to each node, and the 3rd one is missing the
metadata about the keyspace "system".
> system.schema_columns sometimes missing for 'system' keyspace
> -------------------------------------------------------------
>
> Key: CASSANDRA-8487
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8487
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Adam Holmberg
> Assignee: Aleksey Yeschenko
> Priority: Minor
>
> Occasionally a Cassandra node will have missing schema_columns information
> where keyspace_name='system'.
> {code}
> cqlsh> select * from system.schema_columns where keyspace_name='system';
> keyspace_name | columnfamily_name | column_name
> ---------------+-------------------+-------------
> (0 rows)
> {code}
> All keyspace and column family schema info is present for 'system' -- it's
> only the column information missing.
> This can occur on an existing cluster following node restart. The data
> usually appears again after bouncing the node.
> This is impactful to client drivers that expect column meta for configured
> tables.
> Reproducible in 2.1.2. Have not seen it crop up in 2.0.11.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)