Tyler Patterson created CASSANDRA-5096:
------------------------------------------
Summary: 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:
https://datastax.jira.com/browse/DSP-1323
- 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