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/12/20 21:12:46 UTC
[jira] [Commented] (CASSANDRA-10686) cqlsh schema refresh on
timeout dtest is flaky
[ https://issues.apache.org/jira/browse/CASSANDRA-10686?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15065886#comment-15065886 ]
Paulo Motta commented on CASSANDRA-10686:
-----------------------------------------
We assume a {{TimedOutError}} is thrown when there is a schema mismatch after a DDL statement, so we reload the schema best-effort and print a warning message so the user knows there is a schema mismatch happening. However, when {{max_schema_agreement_wait < client_timeout}}, a {{TimedOutError}} is not thrown because the driver gives up reloading the schema and the original request complete successfully.
A funny thing is that when {{max_schema_agreement_wait == client_timeout}}, the behavior is undefined in that most of the times the DDL request fails with {{TimedOutError}} but sometimes it may not throw that. This happens because most of the times the {{client_timeout}} is triggered before the {{max_schema_agreement_wait}}. However, in some edge situations the {{max_schema_agreement_wait}} may give up before the {{client_timeout}} so the update schema does not throw a {{TimedOutError}} as expected.
In our case {{max_schema_agreement_wait == client_timeout == 10}}, so that's why the test is flaky (works most of the times, but fails sometimes). The issue is reproducible by making {{max_schema_agreement_wait}} < {{client_timeout}} to force the {{TimedOutError}} not being thrown, so the test fails.
In order to force {{max_schema_agrement_wait > client_timeout}} we set {{max_schema_agreement_wait = max(default_max_schema_agreement_wait, client_timeout+1)}}. I also opened a python driver issue ([PYTHON-458|https://datastax-oss.atlassian.net/browse/PYTHON-458]) to unify the behavior and always throw an exception on schema mismatch after a DDL regardless of the value of {{max_schema_agreement_wait}}.
Setting [~blerer] as reviewer, since he was the reviewer of the original issue (CASSANDRA-9689).
||2.1||2.2||3.0||trunk||
|[branch|https://github.com/apache/cassandra/compare/cassandra-2.1...pauloricardomg:2.1-10686]|[branch|https://github.com/apache/cassandra/compare/cassandra-2.2...pauloricardomg:2.2-10686]|[branch|https://github.com/apache/cassandra/compare/cassandra-3.0...pauloricardomg:3.0-10686]|[branch|https://github.com/apache/cassandra/compare/trunk...pauloricardomg:trunk-10686]|
|[testall|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-2.1-10686-testall/lastCompletedBuild/testReport/]|[testall|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-2.2-10686-testall/lastCompletedBuild/testReport/]|[testall|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-3.0-10686-testall/lastCompletedBuild/testReport/]|[testall|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-trunk-10686-testall/lastCompletedBuild/testReport/]|
|[dtest|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-2.1-10686-dtest/lastCompletedBuild/testReport/]|[dtest|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-2.2-10686-dtest/lastCompletedBuild/testReport/]|[dtest|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-3.0-10686-dtest/lastCompletedBuild/testReport/]|[dtest|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-trunk-10686-dtest/lastCompletedBuild/testReport/]|
> cqlsh schema refresh on timeout dtest is flaky
> -----------------------------------------------
>
> Key: CASSANDRA-10686
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10686
> Project: Cassandra
> Issue Type: Bug
> Components: Testing, Tools
> Reporter: Joel Knighton
> Assignee: Paulo Motta
> Priority: Minor
>
> [flaky 3.0 runs|http://cassci.datastax.com/view/cassandra-3.0/job/cassandra-3.0_dtest/lastCompletedBuild/testReport/cqlsh_tests.cqlsh_tests/TestCqlsh/test_refresh_schema_on_timeout_error/history/]
> [flaky 2.2 runs|http://cassci.datastax.com/job/cassandra-2.2_dtest/381/testReport/cqlsh_tests.cqlsh_tests/TestCqlsh/test_refresh_schema_on_timeout_error/history/]
> [flaky 2.1 runs|http://cassci.datastax.com/job/cassandra-2.1_dtest/324/testReport/cqlsh_tests.cqlsh_tests/TestCqlsh/test_refresh_schema_on_timeout_error/history/]
> As far as I can tell, the issue could be with the test or the original issue. Pinging [~pauloricardomg] since he knows this best.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)