cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (CASSANDRA-5096) Transient schema disagreement error while under high concurrency
Date Tue, 01 Jan 2013 13:08:12 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-5096?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Jonathan Ellis resolved CASSANDRA-5096.
---------------------------------------

    Resolution: Not A Problem

First, multiple create/drop are not guaranteed to resolve at all until 1.2, so fundamentally
this is a Bad Idea that will probably bite you harder with a permanent disagreement (I wonder
if the GIL is "helping" you here).

Second, it's totally normal and expected for there to be temporary disagreements as the schema
propagates through the cluster.  That's the nature of the beast; the coordinator will get
it first, and everyone some time later (possibly much later if nodes are down).
                
> Transient schema disagreement error while under high concurrency
> ----------------------------------------------------------------
>
>                 Key: CASSANDRA-5096
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5096
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 1.1.8
>         Environment: ccm, dtest, ubuntu, C*1.1 (commit 8a3b291)
>            Reporter: Tyler Patterson
>
> To duplicate:
>  - Create a 4-node cluster
>  - Create 4 threads, then create keyspaces or columnfamilies as fast as possible from
each thread
>  - You will usually get an error "Schema versions disagree, (try again later)"
>  - Here is example code to duplicate the issue: https://github.com/tpatterson/cassandra-dtest/commit/f1fee7ef4296de5cb9e346568ba39123104b5f87
> Notes: 
>  - Hamilton originally found this error while testing solr.
>  - No errors were observed in the log of any of the nodes
>  - The schemas do not disagree after the failure
> Exception:
> {code}
> ======================================================================
> ERROR: apply changes to many nodes concurrently.
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/local/lib/python2.7/dist-packages/nose/case.py", line 197, in runTest
>     self.test(*self.arg)
>   File "/home/automaton/cassandra-dtest/tools.py", line 206, in wrapped
>     f(obj)
>   File "/home/automaton/cassandra-dtest/concurrent_schema_changes_test.py", line 398,
in inner_func
>     self.create_ks(cursor, ks_name, node_num)
>   File "/home/automaton/cassandra-dtest/dtest.py", line 191, in create_ks
>     cursor.execute(query % (name, 'SimpleStrategy', 'strategy_options:replication_factor=%d'
% rf))
>   File "/usr/local/lib/python2.7/dist-packages/cql/cursor.py", line 80, in execute
>     response = self.get_response(prepared_q, cl)
>   File "/usr/local/lib/python2.7/dist-packages/cql/thrifteries.py", line 80, in get_response
>     return self.handle_cql_execution_errors(doquery, compressed_q, compress)
>   File "/usr/local/lib/python2.7/dist-packages/cql/thrifteries.py", line 100, in handle_cql_execution_errors
>     raise cql.IntegrityError("Schema versions disagree, (try again later).")
> IntegrityError: Schema versions disagree, (try again later).
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message