You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by bd...@apache.org on 2019/05/10 20:47:01 UTC

[cassandra-dtest] branch master updated: fix dtests for 15108/java11

This is an automated email from the ASF dual-hosted git repository.

bdeggleston pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cassandra-dtest.git


The following commit(s) were added to refs/heads/master by this push:
     new b1167be  fix dtests for 15108/java11
b1167be is described below

commit b1167bef169d657dbd7d1eb09c4d4a6fa8ecf6a9
Author: Blake Eggleston <bd...@gmail.com>
AuthorDate: Thu Apr 11 15:22:21 2019 -0700

    fix dtests for 15108/java11
---
 bootstrap_test.py                                | 12 ++++++++----
 byteman/{ => 4.0}/repair_validation_sleep.btm    |  4 ++--
 byteman/{ => pre4.0}/repair_validation_sleep.btm |  0
 disk_balance_test.py                             |  1 +
 jmx_test.py                                      |  2 +-
 read_repair_test.py                              |  6 +++---
 repair_tests/repair_test.py                      | 12 ++++++++++--
 seed_test.py                                     | 23 ++++-------------------
 transient_replication_test.py                    |  1 +
 9 files changed, 30 insertions(+), 31 deletions(-)

diff --git a/bootstrap_test.py b/bootstrap_test.py
index 940bef5..70d54a3 100644
--- a/bootstrap_test.py
+++ b/bootstrap_test.py
@@ -451,17 +451,21 @@ class TestBootstrap(Tester):
         with tempfile.NamedTemporaryFile(mode='w+') as stress_config:
             stress_config.write(yaml_config)
             stress_config.flush()
-            node1.stress(['user', 'profile=' + stress_config.name, 'n=2M', 'no-warmup',
-                          'ops(insert=1)', '-rate', 'threads=50'])
+            node1.stress(['user', 'profile=' + stress_config.name, 'n=200K', 'no-warmup',
+                          'ops(insert=1)', '-rate', 'threads=10'])
 
             node3 = new_node(cluster, data_center='dc2')
             node3.start(no_wait=True)
             time.sleep(3)
 
+            ntout = node1.nodetool('status').stdout
+            assert re.search(r'UJ\s+' + node3.ip_addr, ntout), ntout
             out, err, _ = node1.stress(['user', 'profile=' + stress_config.name, 'ops(insert=1)',
-                                        'n=500K', 'no-warmup', 'cl=LOCAL_QUORUM',
-                                        '-rate', 'threads=5',
+                                        'n=10k', 'no-warmup', 'cl=LOCAL_QUORUM',
+                                        '-rate', 'threads=10',
                                         '-errors', 'retries=2'])
+            ntout = node1.nodetool('status').stdout
+            assert re.search(r'UJ\s+' + node3.ip_addr, ntout), ntout
 
         logger.debug(out)
         assert_stderr_clean(err)
diff --git a/byteman/repair_validation_sleep.btm b/byteman/4.0/repair_validation_sleep.btm
similarity index 68%
copy from byteman/repair_validation_sleep.btm
copy to byteman/4.0/repair_validation_sleep.btm
index 224f74c..9ee788b 100644
--- a/byteman/repair_validation_sleep.btm
+++ b/byteman/4.0/repair_validation_sleep.btm
@@ -2,8 +2,8 @@
 # Sleep 60s during validation compaction
 #
 RULE sleep 60s on validation
-CLASS org.apache.cassandra.db.compaction.CompactionManager
-METHOD doValidationCompaction
+CLASS org.apache.cassandra.repair.ValidationManager
+METHOD doValidation
 AT ENTRY
 # set flag to only run this rule once.
 IF NOT flagged("done")
diff --git a/byteman/repair_validation_sleep.btm b/byteman/pre4.0/repair_validation_sleep.btm
similarity index 100%
rename from byteman/repair_validation_sleep.btm
rename to byteman/pre4.0/repair_validation_sleep.btm
diff --git a/disk_balance_test.py b/disk_balance_test.py
index 2b28fd5..5d9918d 100644
--- a/disk_balance_test.py
+++ b/disk_balance_test.py
@@ -47,6 +47,7 @@ class TestDiskBalance(Tester):
         for node in cluster.nodelist():
             self.assert_balanced(node)
 
+    @pytest.mark.resource_intensive
     def test_disk_balance_bootstrap(self):
         cluster = self.cluster
         if self.dtest_config.use_vnodes:
diff --git a/jmx_test.py b/jmx_test.py
index caf1d04..f99fed0 100644
--- a/jmx_test.py
+++ b/jmx_test.py
@@ -328,7 +328,7 @@ class TestJMXSSL(Tester):
         self.assert_insecure_connection_rejected(node)
 
         # specifying only the truststore containing the server cert should fail
-        with pytest.raises(ToolError, match=".*SSLHandshakeException.*"):
+        with pytest.raises(ToolError):
             node.nodetool("info --ssl -Djavax.net.ssl.trustStore={ts} -Djavax.net.ssl.trustStorePassword={ts_pwd}"
                           .format(ts=self.truststore(), ts_pwd=self.truststore_password))
 
diff --git a/read_repair_test.py b/read_repair_test.py
index ed72ada..64e3b55 100644
--- a/read_repair_test.py
+++ b/read_repair_test.py
@@ -413,15 +413,15 @@ class TestSpeculativeReadRepair(Tester):
         cluster = fixture_dtest_setup.cluster
         cluster.set_configuration_options(values={'hinted_handoff_enabled': False,
                                                   'dynamic_snitch': False,
-                                                  'write_request_timeout_in_ms': 500,
-                                                  'read_request_timeout_in_ms': 500})
+                                                  'write_request_timeout_in_ms': 1000,
+                                                  'read_request_timeout_in_ms': 1000})
         cluster.populate(3, install_byteman=True, debug=True)
         byteman_validate(cluster.nodelist()[0], './byteman/read_repair/sorted_live_endpoints.btm', verbose=True)
         cluster.start(wait_for_binary_proto=True, jvm_args=['-XX:-PerfDisableSharedMem'])
         session = fixture_dtest_setup.patient_exclusive_cql_connection(cluster.nodelist()[0], timeout=2)
 
         session.execute("CREATE KEYSPACE ks WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 3}")
-        session.execute("CREATE TABLE ks.tbl (k int, c int, v int, primary key (k, c)) WITH speculative_retry = '250ms';")
+        session.execute("CREATE TABLE ks.tbl (k int, c int, v int, primary key (k, c)) WITH speculative_retry = '400ms';")
 
     def get_cql_connection(self, node, **kwargs):
         return self.patient_exclusive_cql_connection(node, retry_policy=None, **kwargs)
diff --git a/repair_tests/repair_test.py b/repair_tests/repair_test.py
index 9ebceae..b28ec49 100644
--- a/repair_tests/repair_test.py
+++ b/repair_tests/repair_test.py
@@ -1186,7 +1186,8 @@ class TestRepair(BaseRepairTest):
         node_to_kill.import_config_files()
 
         logger.debug("Starting cluster..")
-        cluster.start(wait_other_notice=True)
+        cluster.start(wait_other_notice=True, jvm_args=['-Djdk.attach.allowAttachSelf=true'])
+        # cluster.start(wait_other_notice=True)
 
         logger.debug("stopping node3")
         node3.stop(gently=False, wait_other_notice=True)
@@ -1201,7 +1202,14 @@ class TestRepair(BaseRepairTest):
         logger.debug("bring back node3")
         node3.start(wait_other_notice=True, wait_for_binary_proto=True)
 
-        script = 'stream_sleep.btm' if phase == 'sync' else 'repair_{}_sleep.btm'.format(phase)
+        if phase == 'sync':
+            script = 'stream_sleep.btm'
+        else:
+            script = 'repair_{}_sleep.btm'.format(phase)
+            if phase == 'validation':
+                prefix = '4.0' if cluster.version() >= '4.0' else 'pre4.0'
+                script = prefix + '/' + script
+
         logger.debug("Submitting byteman script to {}".format(node_to_kill.name))
         # Sleep on anticompaction/stream so there will be time for node to be killed
         node_to_kill.byteman_submit(['./byteman/{}'.format(script)])
diff --git a/seed_test.py b/seed_test.py
index 1f00d8b..1f61504 100644
--- a/seed_test.py
+++ b/seed_test.py
@@ -20,9 +20,7 @@ class TestGossiper(Tester):
         """
 
         self.fixture_dtest_setup.allow_log_errors = True
-        n1 = self.cluster.create_node('node1', True, None, ('127.0.0.1', 7000), '7100',
-                                      None, None, binary_interface=('127.0.0.1', 9042))
-        self.cluster.add(n1, False)
+        self.cluster.populate(1)
         node1 = self.cluster.nodelist()[0]
         self.cluster.set_configuration_options({
             'seed_provider': [{'class_name': 'org.apache.cassandra.locator.SimpleSeedProvider',
@@ -52,15 +50,7 @@ class TestGossiper(Tester):
 
         self.fixture_dtest_setup.allow_log_errors = True
 
-        n1 = self.cluster.create_node('node1', True, None, ('127.0.0.1', 7000), '7100',
-                                      None, None, binary_interface=('127.0.0.1', 9042))
-        n2 = self.cluster.create_node('node2', True, None, ('127.0.0.2', 7000), '7101',
-                                      None, None, binary_interface=('127.0.0.2', 9042))
-        n3 = self.cluster.create_node('node3', True, None, ('127.0.0.3', 7000), '7102',
-                                      None, None, binary_interface=('127.0.0.3', 9042))
-        self.cluster.add(n1, True)
-        self.cluster.add(n2, True)
-        self.cluster.add(n3, True)
+        self.cluster.populate(3)
 
         node1, node2, node3 = self.cluster.nodelist()
 
@@ -93,15 +83,10 @@ class TestGossiper(Tester):
         """
         RING_DELAY = 15000  # ms
         self.fixture_dtest_setup.allow_log_errors = True
-        n1 = self.cluster.create_node('node1', True, None, ('127.0.0.1', 7000), '7100',
-                                      None, None, binary_interface=('127.0.0.1', 9042))
-        n2 = self.cluster.create_node('node2', True, None, ('127.0.0.2', 7000), '7101',
-                                      None, None, binary_interface=('127.0.0.2', 9042))
-        self.cluster.add(n1, True)
-        self.cluster.add(n2, False)
+        self.cluster.populate(2)
         node1, node2 = self.cluster.nodelist()
 
-        node2.start(wait_other_notice=False, jvm_args=['-Dcassandra.ring_delay_ms={}'.format(RING_DELAY)])
+        node2.start(wait_other_notice=False, jvm_args=['-Dcassandra.ring_delay_ms={}'.format(RING_DELAY)], verbose=True)
         node2.watch_log_for('Starting shadow gossip round to check for endpoint collision', filename='debug.log')
         sleep(RING_DELAY / 1000)
         # Start seed, ensure node2 joins before it exits shadow round.
diff --git a/transient_replication_test.py b/transient_replication_test.py
index 7cfd4f3..990a984 100644
--- a/transient_replication_test.py
+++ b/transient_replication_test.py
@@ -618,6 +618,7 @@ class TestMultipleTransientNodes(TransientReplicationBase):
     def tokens(self):
         return [0, 1, 2, 3, 4]
 
+    @pytest.mark.resource_intensive
     @pytest.mark.no_vnodes
     def test_transient_full_merge_read(self):
         """ When reading, transient replica should serve a missing read """


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org