You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Philip Thompson (JIRA)" <ji...@apache.org> on 2016/07/21 15:25:20 UTC

[jira] [Commented] (CASSANDRA-12250) dtest failure in upgrade_tests.cql_tests.TestCQLNodes2RF1_Upgrade_current_3_x_To_indev_3_x.bug_5732_test

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

Philip Thompson commented on CASSANDRA-12250:
---------------------------------------------

Okay, I've figured this out. The problem is with the following chunk of test code:

{code}
        cursor.execute("CREATE INDEX testindex on test(v)")

        # wait for the index to be fully built
        start = time.time()
        while True:
            if self.node_version_above('3.0'):
                results = cursor.execute("""SELECT * FROM system_schema.indexes WHERE keyspace_name = 'ks' AND table_name = 'test' AND index_name = 'testindex'""")
            else:
                results = cursor.execute("""SELECT * FROM system."IndexInfo" WHERE table_name = 'ks' AND index_name = 'test.testindex'""")
            if results:
                break

            if time.time() - start > 10.0:
                if self.node_version_above('3.0'):
                    results = list(cursor.execute('SELECT * FROM system_schema.indexes'))
                else:
                    results = list(cursor.execute('SELECT * FROM system."IndexInfo"'))
                raise Exception("Failed to build secondary index within ten seconds: %s" % (results,))
            time.sleep(0.1)

        assert_all(cursor, "SELECT k FROM test WHERE v = 0", [[0]])
{code}
It seems to me that what happened is we exit the "is the index fully built yet?" loop, but the index is not fully built yet, at least on node1. [~rhatch] or [~mambocab], do we think that it's possible that this loop is exiting because the index is built on node2? And we aren't properly checking it's built on both nodes? Or do we think we're checking in some way that doesn't guarantee the index is really built.

> dtest failure in upgrade_tests.cql_tests.TestCQLNodes2RF1_Upgrade_current_3_x_To_indev_3_x.bug_5732_test
> --------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-12250
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12250
>             Project: Cassandra
>          Issue Type: Test
>            Reporter: Philip Thompson
>            Assignee: DS Test Eng
>              Labels: dtest
>
> example failure:
> http://cassci.datastax.com/job/cassandra-3.8_dtest_upgrade/1/testReport/upgrade_tests.cql_tests/TestCQLNodes2RF1_Upgrade_current_3_x_To_indev_3_x/bug_5732_test
> Failed on CassCI build cassandra-3.8_dtest_upgrade #1
> The error failing the test is:
> {code}
> ERROR [SharedPool-Worker-1] 2016-07-20 05:06:04,982 MessageDeliveryTask.java:74 - The secondary index 'testindex' is not yet available
> {code}



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