You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Paulo Motta (JIRA)" <ji...@apache.org> on 2015/09/01 00:47:46 UTC

[jira] [Commented] (CASSANDRA-9689) keyspace does not show in describe list, if create query times out

    [ https://issues.apache.org/jira/browse/CASSANDRA-9689?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14724314#comment-14724314 ] 

Paulo Motta commented on CASSANDRA-9689:
----------------------------------------

Attached 2.1 and 2.2+ patches..

Based on Tyler's suggestion the solution checks if there's a schema mismatch after a {{OperationTimedOut}} exception and in positive case, the schema metadata is reloaded with {{cluster.refresh_schema_metadata(max_schema_agreement_wait=0)}}, which was implemented on [PYTHON-205|https://datastax-oss.atlassian.net/browse/PYTHON-205] and effectively bypasses schema agreement during metadata refresh. This guarantees that the subsequent operation will (which can be a {{describe keyspaces}} or {{describe tables}}) will have the most recent schema version. It's also printed a warning about the schema disagreement.

I also replaced the workaround for CASSANDRA-8512 (created before [PYTHON-205|https://datastax-oss.atlassian.net/browse/PYTHON-205] was implemented)  by using the new python driver`s method {{cluster.refresh_schema_metadata(max_schema_agreement_wait=0)}}.

I created a [cassandra dtest PR|https://github.com/riptano/cassandra-dtest/pull/522] with a simple test to validate the scenario of this ticket and the new metadata refresh behavior.

Tests:
* [2.1 dtests|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-9689-2.1-dtest/]
* [2.1 testall|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-9689-2.1-testall/]
* [2.2 dtests|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-9689-2.2-dtest/]
* [2.2 testall|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-9689-2.2-testall/]
* [3.0 dtests|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-9689-3.0-dtest/]
* [3.0 testall|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-9689-3.0-testall/]
* [trunk dtests|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-9689-trunk-dtest/]
* [trunk testall|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-9689-trunk-testall/]

Would you mind reviewing [~blerer]?

> keyspace does not show in describe list, if create query times out
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-9689
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9689
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Roopesh
>            Assignee: Paulo Motta
>              Labels: cqlsh
>             Fix For: 2.1.x
>
>
> Here is the snapshot of the overall issue :
> whiterabbit@whiterabbit:~/cassandra/bin$ ccm create 'demo2' -v binary:2.1.7 -n 3 -s -d 
> Current cluster is now: demo2
> whiterabbit@whiterabbit:~/cassandra/bin$ ccm list
>   demo_1node
>  *demo2
> whiterabbit@whiterabbit:~/cassandra/bin$ ccm status
> Cluster: 'demo2'
> ----------------
> node1: UP
> node3: UP
> node2: UP
> whiterabbit@whiterabbit:~/cassandra/bin$ ccm node2 nodetool version
> ReleaseVersion: 2.1.7
> whiterabbit@whiterabbit:~/cassandra/bin$ ccm node2 stop
> whiterabbit@whiterabbit:~/cassandra/bin$ ccm status
> Cluster: 'demo2'
> ----------------
> node1: UP
> node3: UP
> node2: DOWN
> whiterabbit@whiterabbit:~/cassandra/bin$ ccm node1 cqlsh
> Connected to demo2 at 127.0.0.1:9042.
> [cqlsh 5.0.1 | Cassandra 2.1.7 | CQL spec 3.2.0 | Native protocol v3]
> Use HELP for help.
> cqlsh> describe keyspaces;
> system_traces  system
> cqlsh> create keyspace training with replication={'class':'SimpleStrategy','replication_factor':1};
> OperationTimedOut: errors={}, last_host=127.0.0.1
> cqlsh> create keyspace training with replication={'class':'SimpleStrategy','replication_factor':1};
> AlreadyExists: Keyspace 'training' already exists
> cqlsh> describe keyspaces;
> system_traces  system
> cqlsh> 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)