This is an automated email from the ASF dual-hosted git repository. bdeggleston pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/cassandra.git
The following commit(s) were added to refs/heads/trunk by this push: new 1f7e3c2 Fix in-jvm dtest java 11 compatibility 1f7e3c2 is described below commit 1f7e3c2835c79363025a01a8470ee85d17457cf8 Author: Blake Eggleston <bdeggles...@gmail.com> AuthorDate: Thu Dec 19 14:24:13 2019 -0800 Fix in-jvm dtest java 11 compatibility Patch by Blake Eggleston; Reviewed by Alex Petrov and David Capwell for CASSANDRA-15463 --- .circleci/config-2_1.yml | 17 ++++ .circleci/config-2_1.yml.high_res.patch | 16 ++- .circleci/config.yml | 46 +++++++++ .circleci/config.yml.HIGHRES | 113 +++++++++++++++------ .circleci/config.yml.LOWRES | 49 +++++++++ CHANGES.txt | 1 + build.xml | 1 + .../distributed/test/MessageForwardingTest.java | 4 +- 8 files changed, 204 insertions(+), 43 deletions(-) diff --git a/.circleci/config-2_1.yml b/.circleci/config-2_1.yml index ee0b914..99a0390 100644 --- a/.circleci/config-2_1.yml +++ b/.circleci/config-2_1.yml @@ -34,6 +34,12 @@ j11_par_executor: &j11_par_executor #exec_resource_class: xlarge parallelism: 4 +j11_seq_executor: &j11_seq_executor + executor: + name: java11-executor + #exec_resource_class: xlarge + parallelism: 1 # sequential, single container tests: no parallelism benefits + j8_with_dtests_jobs: &j8_with_dtests_jobs jobs: - j8_build @@ -133,6 +139,9 @@ j11_with_dtests_jobs: &j11_with_dtests_jobs - j11_unit_tests: requires: - start_j11_unit_tests + - j11_jvm_dtests: + requires: + - j11_build # Java 11 dtests (on request) - start_j11_dtests: type: approval @@ -264,6 +273,14 @@ jobs: - log_environment - run_parallel_junit_tests + j11_jvm_dtests: + <<: *j11_seq_executor + steps: + - attach_workspace: + at: /home/cassandra + - run_junit_tests: + target: test-jvm-dtest-forking + j8_jvm_upgrade_dtests: <<: *j8_seq_executor steps: diff --git a/.circleci/config-2_1.yml.high_res.patch b/.circleci/config-2_1.yml.high_res.patch index 083f3a5..4d5e9e1 100644 --- a/.circleci/config-2_1.yml.high_res.patch +++ b/.circleci/config-2_1.yml.high_res.patch @@ -1,22 +1,20 @@ -18,19c18,19 -< CCM_MAX_HEAP_SIZE: 1024M -< CCM_HEAP_NEWSIZE: 256M ---- -> CCM_MAX_HEAP_SIZE: 2048M -> CCM_HEAP_NEWSIZE: 512M -24,25c24,25 +22,23c22,23 < #exec_resource_class: xlarge < parallelism: 4 --- > exec_resource_class: xlarge > parallelism: 100 -30c30 +28c28 < #exec_resource_class: xlarge --- > exec_resource_class: xlarge -36,37c36,37 +34,35c34,35 < #exec_resource_class: xlarge < parallelism: 4 --- > exec_resource_class: xlarge > parallelism: 100 +40c40 +< #exec_resource_class: xlarge +--- +> exec_resource_class: xlarge diff --git a/.circleci/config.yml b/.circleci/config.yml index 0a02e3a..d23d344 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -492,6 +492,49 @@ jobs: - CCM_HEAP_NEWSIZE: 256M - JAVA_HOME: /usr/lib/jvm/java-8-openjdk-amd64 - JDK_HOME: /usr/lib/jvm/java-8-openjdk-amd64 + j11_jvm_dtests: + docker: + - image: spod/cassandra-testing-ubuntu1810-java11:20181210 + resource_class: medium + working_directory: ~/ + shell: /bin/bash -eo pipefail -l + parallelism: 1 + steps: + - attach_workspace: + at: /home/cassandra + - run: + name: Run Unit Tests (test-jvm-dtest-forking) + command: | + export PATH=$JAVA_HOME/bin:$PATH + time mv ~/cassandra /tmp + cd /tmp/cassandra + ant test-jvm-dtest-forking + no_output_timeout: 15m + - store_test_results: + path: /tmp/cassandra/build/test/output/ + - store_artifacts: + path: /tmp/cassandra/build/test/output + destination: junitxml + - store_artifacts: + path: /tmp/cassandra/build/test/logs + destination: logs + environment: + - ANT_HOME: /usr/share/ant + - LANG: en_US.UTF-8 + - KEEP_TEST_DIR: true + - DEFAULT_DIR: /home/cassandra/cassandra-dtest + - PYTHONIOENCODING: utf-8 + - PYTHONUNBUFFERED: true + - CASS_DRIVER_NO_EXTENSIONS: true + - CASS_DRIVER_NO_CYTHON: true + - CASSANDRA_SKIP_SYNC: true + - DTEST_REPO: git://github.com/apache/cassandra-dtest.git + - DTEST_BRANCH: master + - CCM_MAX_HEAP_SIZE: 1024M + - CCM_HEAP_NEWSIZE: 256M + - JAVA_HOME: /usr/lib/jvm/java-11-openjdk-amd64 + - JDK_HOME: /usr/lib/jvm/java-11-openjdk-amd64 + - CASSANDRA_USE_JDK11: true j11_build: docker: - image: spod/cassandra-testing-ubuntu1810-java11:20181210 @@ -1169,6 +1212,9 @@ workflows: - j11_unit_tests: requires: - start_j11_unit_tests + - j11_jvm_dtests: + requires: + - j11_build - start_j11_dtests: type: approval requires: diff --git a/.circleci/config.yml.HIGHRES b/.circleci/config.yml.HIGHRES index b96a718..4bf09f0 100644 --- a/.circleci/config.yml.HIGHRES +++ b/.circleci/config.yml.HIGHRES @@ -41,8 +41,8 @@ jobs: - CASSANDRA_SKIP_SYNC: true - DTEST_REPO: git://github.com/apache/cassandra-dtest.git - DTEST_BRANCH: master - - CCM_MAX_HEAP_SIZE: 2048M - - CCM_HEAP_NEWSIZE: 512M + - CCM_MAX_HEAP_SIZE: 1024M + - CCM_HEAP_NEWSIZE: 256M - JAVA_HOME: /usr/lib/jvm/java-8-openjdk-amd64 - JDK_HOME: /usr/lib/jvm/java-8-openjdk-amd64 j11_unit_tests: @@ -124,8 +124,8 @@ jobs: - CASSANDRA_SKIP_SYNC: true - DTEST_REPO: git://github.com/apache/cassandra-dtest.git - DTEST_BRANCH: master - - CCM_MAX_HEAP_SIZE: 2048M - - CCM_HEAP_NEWSIZE: 512M + - CCM_MAX_HEAP_SIZE: 1024M + - CCM_HEAP_NEWSIZE: 256M - JAVA_HOME: /usr/lib/jvm/java-11-openjdk-amd64 - JDK_HOME: /usr/lib/jvm/java-11-openjdk-amd64 - CASSANDRA_USE_JDK11: true @@ -204,8 +204,8 @@ jobs: - CASSANDRA_SKIP_SYNC: true - DTEST_REPO: git://github.com/apache/cassandra-dtest.git - DTEST_BRANCH: master - - CCM_MAX_HEAP_SIZE: 2048M - - CCM_HEAP_NEWSIZE: 512M + - CCM_MAX_HEAP_SIZE: 1024M + - CCM_HEAP_NEWSIZE: 256M - JAVA_HOME: /usr/lib/jvm/java-11-openjdk-amd64 - JDK_HOME: /usr/lib/jvm/java-11-openjdk-amd64 - CASSANDRA_USE_JDK11: true @@ -262,8 +262,8 @@ jobs: - CASSANDRA_SKIP_SYNC: true - DTEST_REPO: git://github.com/apache/cassandra-dtest.git - DTEST_BRANCH: master - - CCM_MAX_HEAP_SIZE: 2048M - - CCM_HEAP_NEWSIZE: 512M + - CCM_MAX_HEAP_SIZE: 1024M + - CCM_HEAP_NEWSIZE: 256M - JAVA_HOME: /usr/lib/jvm/java-8-openjdk-amd64 - JDK_HOME: /usr/lib/jvm/java-8-openjdk-amd64 j8_upgradetests-no-vnodes: @@ -360,8 +360,8 @@ jobs: - CASSANDRA_SKIP_SYNC: true - DTEST_REPO: git://github.com/apache/cassandra-dtest.git - DTEST_BRANCH: master - - CCM_MAX_HEAP_SIZE: 2048M - - CCM_HEAP_NEWSIZE: 512M + - CCM_MAX_HEAP_SIZE: 1024M + - CCM_HEAP_NEWSIZE: 256M - JAVA_HOME: /usr/lib/jvm/java-8-openjdk-amd64 - JDK_HOME: /usr/lib/jvm/java-8-openjdk-amd64 utests_stress: @@ -405,8 +405,8 @@ jobs: - CASSANDRA_SKIP_SYNC: true - DTEST_REPO: git://github.com/apache/cassandra-dtest.git - DTEST_BRANCH: master - - CCM_MAX_HEAP_SIZE: 2048M - - CCM_HEAP_NEWSIZE: 512M + - CCM_MAX_HEAP_SIZE: 1024M + - CCM_HEAP_NEWSIZE: 256M - JAVA_HOME: /usr/lib/jvm/java-8-openjdk-amd64 - JDK_HOME: /usr/lib/jvm/java-8-openjdk-amd64 j8_unit_tests: @@ -488,10 +488,56 @@ jobs: - CASSANDRA_SKIP_SYNC: true - DTEST_REPO: git://github.com/apache/cassandra-dtest.git - DTEST_BRANCH: master - - CCM_MAX_HEAP_SIZE: 2048M - - CCM_HEAP_NEWSIZE: 512M + - CCM_MAX_HEAP_SIZE: 1024M + - CCM_HEAP_NEWSIZE: 256M - JAVA_HOME: /usr/lib/jvm/java-8-openjdk-amd64 - JDK_HOME: /usr/lib/jvm/java-8-openjdk-amd64 + j11_jvm_dtests: + docker: + - image: spod/cassandra-testing-ubuntu1810-java11:20181210 + resource_class: xlarge + working_directory: ~/ + shell: /bin/bash -eo pipefail -l + parallelism: 1 + steps: + - attach_workspace: + at: /home/cassandra + - run: + name: Run Unit Tests (test-jvm-dtest-forking) + command: | + export PATH=$JAVA_HOME/bin:$PATH + time mv ~/cassandra /tmp + cd /tmp/cassandra + if [ -d ~/dtest_jars ]; then + cp ~/dtest_jars/dtest* /tmp/cassandra/build/ + fi + ant test-jvm-dtest-forking + no_output_timeout: 15m + - store_test_results: + path: /tmp/cassandra/build/test/output/ + - store_artifacts: + path: /tmp/cassandra/build/test/output + destination: junitxml + - store_artifacts: + path: /tmp/cassandra/build/test/logs + destination: logs + environment: + - ANT_HOME: /usr/share/ant + - LANG: en_US.UTF-8 + - KEEP_TEST_DIR: true + - DEFAULT_DIR: /home/cassandra/cassandra-dtest + - PYTHONIOENCODING: utf-8 + - PYTHONUNBUFFERED: true + - CASS_DRIVER_NO_EXTENSIONS: true + - CASS_DRIVER_NO_CYTHON: true + - CASSANDRA_SKIP_SYNC: true + - DTEST_REPO: git://github.com/apache/cassandra-dtest.git + - DTEST_BRANCH: master + - CCM_MAX_HEAP_SIZE: 1024M + - CCM_HEAP_NEWSIZE: 256M + - JAVA_HOME: /usr/lib/jvm/java-11-openjdk-amd64 + - JDK_HOME: /usr/lib/jvm/java-11-openjdk-amd64 + - CASSANDRA_USE_JDK11: true j11_build: docker: - image: spod/cassandra-testing-ubuntu1810-java11:20181210 @@ -568,8 +614,8 @@ jobs: - CASSANDRA_SKIP_SYNC: true - DTEST_REPO: git://github.com/apache/cassandra-dtest.git - DTEST_BRANCH: master - - CCM_MAX_HEAP_SIZE: 2048M - - CCM_HEAP_NEWSIZE: 512M + - CCM_MAX_HEAP_SIZE: 1024M + - CCM_HEAP_NEWSIZE: 256M - JAVA_HOME: /usr/lib/jvm/java-11-openjdk-amd64 - JDK_HOME: /usr/lib/jvm/java-11-openjdk-amd64 - CASSANDRA_USE_JDK11: true @@ -626,8 +672,8 @@ jobs: - CASSANDRA_SKIP_SYNC: true - DTEST_REPO: git://github.com/apache/cassandra-dtest.git - DTEST_BRANCH: master - - CCM_MAX_HEAP_SIZE: 2048M - - CCM_HEAP_NEWSIZE: 512M + - CCM_MAX_HEAP_SIZE: 1024M + - CCM_HEAP_NEWSIZE: 256M - JAVA_HOME: /usr/lib/jvm/java-8-openjdk-amd64 - JDK_HOME: /usr/lib/jvm/java-8-openjdk-amd64 j8_jvm_dtests: @@ -671,8 +717,8 @@ jobs: - CASSANDRA_SKIP_SYNC: true - DTEST_REPO: git://github.com/apache/cassandra-dtest.git - DTEST_BRANCH: master - - CCM_MAX_HEAP_SIZE: 2048M - - CCM_HEAP_NEWSIZE: 512M + - CCM_MAX_HEAP_SIZE: 1024M + - CCM_HEAP_NEWSIZE: 256M - JAVA_HOME: /usr/lib/jvm/java-8-openjdk-amd64 - JDK_HOME: /usr/lib/jvm/java-8-openjdk-amd64 j8_build: @@ -751,8 +797,8 @@ jobs: - CASSANDRA_SKIP_SYNC: true - DTEST_REPO: git://github.com/apache/cassandra-dtest.git - DTEST_BRANCH: master - - CCM_MAX_HEAP_SIZE: 2048M - - CCM_HEAP_NEWSIZE: 512M + - CCM_MAX_HEAP_SIZE: 1024M + - CCM_HEAP_NEWSIZE: 256M - JAVA_HOME: /usr/lib/jvm/java-8-openjdk-amd64 - JDK_HOME: /usr/lib/jvm/java-8-openjdk-amd64 utests_long: @@ -796,8 +842,8 @@ jobs: - CASSANDRA_SKIP_SYNC: true - DTEST_REPO: git://github.com/apache/cassandra-dtest.git - DTEST_BRANCH: master - - CCM_MAX_HEAP_SIZE: 2048M - - CCM_HEAP_NEWSIZE: 512M + - CCM_MAX_HEAP_SIZE: 1024M + - CCM_HEAP_NEWSIZE: 256M - JAVA_HOME: /usr/lib/jvm/java-8-openjdk-amd64 - JDK_HOME: /usr/lib/jvm/java-8-openjdk-amd64 utests_fqltool: @@ -841,8 +887,8 @@ jobs: - CASSANDRA_SKIP_SYNC: true - DTEST_REPO: git://github.com/apache/cassandra-dtest.git - DTEST_BRANCH: master - - CCM_MAX_HEAP_SIZE: 2048M - - CCM_HEAP_NEWSIZE: 512M + - CCM_MAX_HEAP_SIZE: 1024M + - CCM_HEAP_NEWSIZE: 256M - JAVA_HOME: /usr/lib/jvm/java-8-openjdk-amd64 - JDK_HOME: /usr/lib/jvm/java-8-openjdk-amd64 j11_dtests-no-vnodes: @@ -920,8 +966,8 @@ jobs: - CASSANDRA_SKIP_SYNC: true - DTEST_REPO: git://github.com/apache/cassandra-dtest.git - DTEST_BRANCH: master - - CCM_MAX_HEAP_SIZE: 2048M - - CCM_HEAP_NEWSIZE: 512M + - CCM_MAX_HEAP_SIZE: 1024M + - CCM_HEAP_NEWSIZE: 256M - JAVA_HOME: /usr/lib/jvm/java-11-openjdk-amd64 - JDK_HOME: /usr/lib/jvm/java-11-openjdk-amd64 - CASSANDRA_USE_JDK11: true @@ -1004,8 +1050,8 @@ jobs: - CASSANDRA_SKIP_SYNC: true - DTEST_REPO: git://github.com/apache/cassandra-dtest.git - DTEST_BRANCH: master - - CCM_MAX_HEAP_SIZE: 2048M - - CCM_HEAP_NEWSIZE: 512M + - CCM_MAX_HEAP_SIZE: 1024M + - CCM_HEAP_NEWSIZE: 256M - JAVA_HOME: /usr/lib/jvm/java-8-openjdk-amd64 - JDK_HOME: /usr/lib/jvm/java-8-openjdk-amd64 dtest_jars_build: @@ -1072,8 +1118,8 @@ jobs: - CASSANDRA_SKIP_SYNC: true - DTEST_REPO: git://github.com/apache/cassandra-dtest.git - DTEST_BRANCH: master - - CCM_MAX_HEAP_SIZE: 2048M - - CCM_HEAP_NEWSIZE: 512M + - CCM_MAX_HEAP_SIZE: 1024M + - CCM_HEAP_NEWSIZE: 256M - JAVA_HOME: /usr/lib/jvm/java-8-openjdk-amd64 - JDK_HOME: /usr/lib/jvm/java-8-openjdk-amd64 workflows: @@ -1169,6 +1215,9 @@ workflows: - j11_unit_tests: requires: - start_j11_unit_tests + - j11_jvm_dtests: + requires: + - j11_build - start_j11_dtests: type: approval requires: diff --git a/.circleci/config.yml.LOWRES b/.circleci/config.yml.LOWRES index 0a02e3a..f0f8e03 100644 --- a/.circleci/config.yml.LOWRES +++ b/.circleci/config.yml.LOWRES @@ -492,6 +492,52 @@ jobs: - CCM_HEAP_NEWSIZE: 256M - JAVA_HOME: /usr/lib/jvm/java-8-openjdk-amd64 - JDK_HOME: /usr/lib/jvm/java-8-openjdk-amd64 + j11_jvm_dtests: + docker: + - image: spod/cassandra-testing-ubuntu1810-java11:20181210 + resource_class: medium + working_directory: ~/ + shell: /bin/bash -eo pipefail -l + parallelism: 1 + steps: + - attach_workspace: + at: /home/cassandra + - run: + name: Run Unit Tests (test-jvm-dtest-forking) + command: | + export PATH=$JAVA_HOME/bin:$PATH + time mv ~/cassandra /tmp + cd /tmp/cassandra + if [ -d ~/dtest_jars ]; then + cp ~/dtest_jars/dtest* /tmp/cassandra/build/ + fi + ant test-jvm-dtest-forking + no_output_timeout: 15m + - store_test_results: + path: /tmp/cassandra/build/test/output/ + - store_artifacts: + path: /tmp/cassandra/build/test/output + destination: junitxml + - store_artifacts: + path: /tmp/cassandra/build/test/logs + destination: logs + environment: + - ANT_HOME: /usr/share/ant + - LANG: en_US.UTF-8 + - KEEP_TEST_DIR: true + - DEFAULT_DIR: /home/cassandra/cassandra-dtest + - PYTHONIOENCODING: utf-8 + - PYTHONUNBUFFERED: true + - CASS_DRIVER_NO_EXTENSIONS: true + - CASS_DRIVER_NO_CYTHON: true + - CASSANDRA_SKIP_SYNC: true + - DTEST_REPO: git://github.com/apache/cassandra-dtest.git + - DTEST_BRANCH: master + - CCM_MAX_HEAP_SIZE: 1024M + - CCM_HEAP_NEWSIZE: 256M + - JAVA_HOME: /usr/lib/jvm/java-11-openjdk-amd64 + - JDK_HOME: /usr/lib/jvm/java-11-openjdk-amd64 + - CASSANDRA_USE_JDK11: true j11_build: docker: - image: spod/cassandra-testing-ubuntu1810-java11:20181210 @@ -1169,6 +1215,9 @@ workflows: - j11_unit_tests: requires: - start_j11_unit_tests + - j11_jvm_dtests: + requires: + - j11_build - start_j11_dtests: type: approval requires: diff --git a/CHANGES.txt b/CHANGES.txt index ec056e2..396b11a 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0-alpha3 + * Fix in-jvm dtest java 11 compatibility (CASSANDRA-15463) * Remove joda time dependency (CASSANDRA-15257) * Exclude purgeable tombstones from repaired data tracking (CASSANDRA-15462) * Exclude legacy counter shards from repaired data tracking (CASSANDRA-15461) diff --git a/build.xml b/build.xml index 0c95687..3af3163 100644 --- a/build.xml +++ b/build.xml @@ -185,6 +185,7 @@ <string>--add-exports java.sql/java.sql=ALL-UNNAMED</string> <string>--add-opens java.base/java.lang.module=ALL-UNNAMED</string> + <string>--add-opens java.base/java.net=ALL-UNNAMED</string> <string>--add-opens java.base/jdk.internal.loader=ALL-UNNAMED</string> <string>--add-opens java.base/jdk.internal.ref=ALL-UNNAMED</string> <string>--add-opens java.base/jdk.internal.reflect=ALL-UNNAMED</string> diff --git a/test/distributed/org/apache/cassandra/distributed/test/MessageForwardingTest.java b/test/distributed/org/apache/cassandra/distributed/test/MessageForwardingTest.java index 7c3d7a2..17bd6e1 100644 --- a/test/distributed/org/apache/cassandra/distributed/test/MessageForwardingTest.java +++ b/test/distributed/org/apache/cassandra/distributed/test/MessageForwardingTest.java @@ -25,6 +25,7 @@ import java.util.List; import java.util.Map; import java.util.UUID; import java.util.concurrent.Future; +import java.util.stream.Collectors; import java.util.stream.IntStream; import java.util.stream.Stream; @@ -35,7 +36,6 @@ import org.apache.cassandra.db.ConsistencyLevel; import org.apache.cassandra.distributed.Cluster; import org.apache.cassandra.distributed.impl.IsolatedExecutor; import org.apache.cassandra.distributed.impl.TracingUtil; -import org.apache.cassandra.locator.InetAddressAndPort; import org.apache.cassandra.utils.UUIDGen; public class MessageForwardingTest extends DistributedTestBase @@ -66,7 +66,7 @@ public class MessageForwardingTest extends DistributedTestBase // Wait for each of the futures to complete before checking the traces, don't care // about the result so //noinspection ResultOfMethodCallIgnored - inserts.map(IsolatedExecutor::waitOn).count(); + inserts.map(IsolatedExecutor::waitOn).collect(Collectors.toList()); cluster.stream("dc1").forEach(instance -> forwardFromCounts.put(instance.broadcastAddressAndPort().address, 0)); cluster.forEach(instance -> commitCounts.put(instance.broadcastAddressAndPort().address, 0)); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org