[ https://issues.apache.org/jira/browse/CASSANDRA-19601?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Brandon Williams updated CASSANDRA-19601: ----------------------------------------- Fix Version/s: 5.0.x > Test failure: test_change_durable_writes > ---------------------------------------- > > Key: CASSANDRA-19601 > URL: https://issues.apache.org/jira/browse/CASSANDRA-19601 > Project: Cassandra > Issue Type: Bug > Components: CI > Reporter: Ekaterina Dimitrova > Assignee: Brandon Williams > Priority: Normal > Fix For: 5.0.x, 5.x > > > Failing on trunk: > [https://ci-cassandra.apache.org/job/Cassandra-trunk/1880/testReport/junit/dtest-latest.configuration_test/TestConfiguration/Tests___dtest_latest_jdk11_31_64___test_change_durable_writes/] > [https://app.circleci.com/pipelines/github/blerer/cassandra/400/workflows/893a0edb-9181-4981-b542-77228c8bc975/jobs/10941/tests] > {code:java} > AssertionError: Commitlog was written with durable writes disabled > assert 90112 == 86016 > +90112 > -86016 > self = <configuration_test.TestConfiguration object at 0x7f5eda736550> > @pytest.mark.timeout(60*30) > def test_change_durable_writes(self): > """ > @jira_ticket CASSANDRA-9560 > > Test that changes to the DURABLE_WRITES option on keyspaces is > respected in subsequent writes. > > This test starts by writing a dataset to a cluster and asserting that > the commitlogs have been written to. The subsequent test depends on > the assumption that this dataset triggers an fsync. > > After checking this assumption, the test destroys the cluster and > creates a fresh one. Then it tests that DURABLE_WRITES is respected > by: > > - creating a keyspace with DURABLE_WRITES set to false, > - using ALTER KEYSPACE to set its DURABLE_WRITES option to true, > - writing a dataset to this keyspace that is known to trigger a > commitlog fsync, > - asserting that the commitlog has grown in size since the data was > written. > """ > cluster = self.cluster > cluster.set_batch_commitlog(enabled=True, use_batch_window = > cluster.version() < '5.0') > > cluster.set_configuration_options(values={'commitlog_segment_size_in_mb': 1}) > > cluster.populate(1).start() > durable_node = cluster.nodelist()[0] > > durable_init_size = commitlog_size(durable_node) > durable_session = self.patient_exclusive_cql_connection(durable_node) > > # test assumption that write_to_trigger_fsync actually triggers a > commitlog fsync > durable_session.execute("CREATE KEYSPACE ks WITH REPLICATION = > {'class': 'SimpleStrategy', 'replication_factor': 1} " > "AND DURABLE_WRITES = true") > durable_session.execute('CREATE TABLE ks.tab (key int PRIMARY KEY, a > int, b int, c int)') > logger.debug('commitlog size diff = ' + > str(commitlog_size(durable_node) - durable_init_size)) > write_to_trigger_fsync(durable_session, 'ks', 'tab') > logger.debug('commitlog size diff = ' + > str(commitlog_size(durable_node) - durable_init_size)) > > assert commitlog_size(durable_node) > durable_init_size, \ > "This test will not work in this environment; > write_to_trigger_fsync does not trigger fsync." > > durable_session.shutdown() > cluster.stop() > cluster.clear() > > cluster.set_batch_commitlog(enabled=True, use_batch_window = > cluster.version() < '5.0') > > cluster.set_configuration_options(values={'commitlog_segment_size_in_mb': 1}) > cluster.start() > node = cluster.nodelist()[0] > session = self.patient_exclusive_cql_connection(node) > > # set up a keyspace without durable writes, then alter it to use them > session.execute("CREATE KEYSPACE ks WITH REPLICATION = {'class': > 'SimpleStrategy', 'replication_factor': 1} " > "AND DURABLE_WRITES = false") > session.execute('CREATE TABLE ks.tab (key int PRIMARY KEY, a int, b > int, c int)') > init_size = commitlog_size(node) > write_to_trigger_fsync(session, 'ks', 'tab') > > assert commitlog_size(node) == init_size, "Commitlog was written with > > durable writes disabled" > E AssertionError: Commitlog was written with durable writes disabled > E assert 90112 == 86016 > E +90112 > E -86016 > configuration_test.py:104: AssertionError > {code} > -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org