[
https://issues.apache.org/jira/browse/CASSANDRA-10932?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sylvain Lebresne resolved CASSANDRA-10932.
------------------------------------------
Resolution: Fixed
Assignee: Sylvain Lebresne
Fix Version/s: (was: 3.0.x)
(was: 3.x)
3.3
3.0.3
The test is clearly bogus, and we do want the 8 notifications that are sent, so
I modified the test and committed (207a1e495a745f525b923c8276fa049e59bf1777 in
the dtests).
As to why the test was expecting 14 notifications, I'm not sure, but this could
be related to CASSANDRA-9646. It appears on some version we did sent duplicate
notification and the test might have been written when that was the case. And I
also didn't found a ticket related to fixing this but it's apparently fixed at
least on 3.0 (that particular test doesn't run into 2.2). The CI history also
seems to suggest the test has never ran successfully there so it's hard to
pinpoint a particular fix.
Anyway, the test is fixed so closing and we can verify whether those duplicate
notifications still happen in 2.2 in CASSANDRA-9646.
> pushed_notifications_test.py schema_changes_test is failing
> -----------------------------------------------------------
>
> Key: CASSANDRA-10932
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10932
> Project: Cassandra
> Issue Type: Sub-task
> Reporter: Philip Thompson
> Assignee: Sylvain Lebresne
> Fix For: 3.0.3, 3.3
>
>
> {{pushed_notifications_test.py:TestPushedNotifications.schema_changes_test}}
> is failing on HEAD of cassandra-3.0. It may be simply a problem with the test
> assertions, so someone just needs to double check if the schema change
> notifications pushed to the driver are correct.
> In actuality, the driver gets 8 notifications, listed in the debug output of
> the test failure:
> {code}
> ======================================================================
> FAIL: schema_changes_test (pushed_notifications_test.TestPushedNotifications)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "/Users/philipthompson/cstar/cassandra-dtest/tools.py", line 253, in
> wrapped
> f(obj)
> File
> "/Users/philipthompson/cstar/cassandra-dtest/pushed_notifications_test.py",
> line 244, in schema_changes_test
> self.assertEquals(14, len(notifications))
> AssertionError: 14 != 8
> -------------------- >> begin captured logging << --------------------
> dtest: DEBUG: cluster ccm directory:
> /var/folders/v3/z4wf_34n1q506_xjdy49gb780000gn/T/dtest-93xMe2
> dtest: DEBUG: Source 127.0.0.2 sent {'keyspace': u'ks', 'change_type':
> u'CREATED', 'target_type': uCorrect typo in MV creation query
> 'KEYSPACE'}
> dtest: DEBUG: Source 127.0.0.2 sent {'keyspace': u'ks', 'change_type':
> u'CREATED', 'target_type': u'TABLE', u'table': u't'}
> dtest: DEBUG: Source 127.0.0.2 sent {'keyspace': u'ks', 'change_type':
> u'UPDATED', 'target_type': u'TABLE', u'table': u't'}
> dtest: DEBUG: Source 127.0.0.2 sent {'keyspace': u'ks', 'change_type':
> u'CREATED', 'target_type': u'TABLE', u'table': u'mv'}
> dtest: DEBUG: Source 127.0.0.2 sent {'keyspace': u'ks', 'change_type':
> u'UPDATED', 'target_type': u'TABLE', u'table': u'mv'}
> dtest: DEBUG: Source 127.0.0.2 sent {'keyspace': u'ks', 'change_type':
> u'DROPPED', 'target_type': u'TABLE', u'table': u'mv'}
> dtest: DEBUG: Source 127.0.0.2 sent {'keyspace': u'ks', 'change_type':
> u'DROPPED', 'target_type': u'TABLE', u'table': u't'}
> dtest: DEBUG: Source 127.0.0.2 sent {'keyspace': u'ks', 'change_type':
> u'DROPPED', 'target_type': u'KEYSPACE'}
> dtest: DEBUG: Waiting for notifications from 127.0.0.2
> --------------------- >> end captured logging << ---------------------
> {code}
> The test has been expecting the following 14, though:
> {code}
> self.assertDictContainsSubset({'change_type': u'CREATED', 'target_type':
> u'KEYSPACE'}, notifications[0])
> self.assertDictContainsSubset({'change_type': u'UPDATED',
> 'target_type': u'KEYSPACE'}, notifications[1])
> self.assertDictContainsSubset({'change_type': u'CREATED',
> 'target_type': u'TABLE', u'table': u't'}, notifications[2])
> self.assertDictContainsSubset({'change_type': u'UPDATED',
> 'target_type': u'KEYSPACE'}, notifications[3])
> self.assertDictContainsSubset({'change_type': u'UPDATED',
> 'target_type': u'TABLE', u'table': u't'}, notifications[4])
> self.assertDictContainsSubset({'change_type': u'UPDATED',
> 'target_type': u'KEYSPACE'}, notifications[5])
> self.assertDictContainsSubset({'change_type': u'CREATED',
> 'target_type': u'TABLE', u'table': u'mv'}, notifications[6])
> self.assertDictContainsSubset({'change_type': u'UPDATED',
> 'target_type': u'KEYSPACE'}, notifications[7])
> self.assertDictContainsSubset({'change_type': u'UPDATED',
> 'target_type': u'TABLE', u'table': u'mv'}, notifications[8])
> self.assertDictContainsSubset({'change_type': u'UPDATED',
> 'target_type': u'KEYSPACE'}, notifications[9])
> self.assertDictContainsSubset({'change_type': u'DROPPED',
> 'target_type': u'TABLE', u'table': u'mv'}, notifications[10])
> self.assertDictContainsSubset({'change_type': u'UPDATED',
> 'target_type': u'KEYSPACE'}, notifications[11])
> self.assertDictContainsSubset({'change_type': u'DROPPED',
> 'target_type': u'TABLE', u'table': u't'}, notifications[12])
> self.assertDictContainsSubset({'change_type': u'DROPPED',
> 'target_type': u'KEYSPACE'}, notifications[13])
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)