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

brandonwilliams pushed a commit to branch cassandra-4.1
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit cd7ff04e729d1c383149cdfd911bb2cfd19e7d09
Merge: 8709b28224 1e450dbb1a
Author: Brandon Williams <brandonwilli...@apache.org>
AuthorDate: Fri Feb 2 07:24:28 2024 -0600

    Merge branch 'cassandra-4.0' into cassandra-4.1

 .circleci/config.yml          | 58 +++++++++++++++++++++----------------------
 .circleci/config.yml.FREE     | 58 +++++++++++++++++++++----------------------
 .circleci/config.yml.PAID     | 58 +++++++++++++++++++++----------------------
 .circleci/config_template.yml |  2 +-
 4 files changed, 88 insertions(+), 88 deletions(-)

diff --cc .circleci/config.yml
index bb65172476,96c4b69887..6e48d91b50
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@@ -2359,7 -2633,7 +2359,7 @@@ jobs
      - run:
          name: Run dtests (j11_large_without_vnodes)
          no_output_timeout: 15m
-         command: "echo \"cat 
/tmp/split_dtest_tests_j11_large_without_vnodes_final.txt\"\ncat 
/tmp/split_dtest_tests_j11_large_without_vnodes_final.txt\n\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\nif [ -n '' ]; then\n  
export \nfi\n\njava -version\ncd ~/cassandra-dtest\nmkdir -p /tmp/dtest\n\necho 
\"env: $(env)\"\necho \"** done env\"\nmkdir -p /tmp/results/dtests\n# we need 
the \"set -o pipefail\" here so that the exit code that circleci will actually 
use is from  [...]
 -        command: "echo \"cat 
/tmp/split_dtest_tests_j11_large_without_vnodes_final.txt\"\ncat 
/tmp/split_dtest_tests_j11_large_without_vnodes_final.txt\n\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\nif [ -n '' ]; then\n  
export \nfi\n\njava -version\ncd ~/cassandra-dtest\nmkdir -p /tmp/dtest\n\necho 
\"env: $(env)\"\necho \"** done env\"\nmkdir -p /tmp/results/dtests\n# we need 
the \"set -o pipefail\" here so that the exit code that circleci will actually 
use is from  [...]
++        command: "echo \"cat 
/tmp/split_dtest_tests_j11_large_without_vnodes_final.txt\"\ncat 
/tmp/split_dtest_tests_j11_large_without_vnodes_final.txt\n\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\nif [ -n '' ]; then\n  
export \nfi\n\njava -version\ncd ~/cassandra-dtest\nmkdir -p /tmp/dtest\n\necho 
\"env: $(env)\"\necho \"** done env\"\nmkdir -p /tmp/results/dtests\n# we need 
the \"set -o pipefail\" here so that the exit code that circleci will actually 
use is from  [...]
      - store_test_results:
          path: /tmp/results
      - store_artifacts:
@@@ -4053,13 -4386,37 +4053,13 @@@
            pip3 uninstall -y cqlsh
            pip3 freeze
      - run:
 -        name: Determine Tests to Run (j8_without_vnodes)
 +        name: Determine Tests to Run (j8_large_without_vnodes)
          no_output_timeout: 5m
 -        command: "# reminder: this code (along with all the steps) is 
independently executed on every circle container\n# so the goal here is to get 
the circleci script to return the tests *this* container will run\n# which we 
do via the `circleci` cli tool.\n\ncd cassandra-dtest\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\n\nif [ -n '' ]; then\n 
 export \nfi\n\necho \"***Collected DTests (j8_without_vnodes)***\"\nset -eo 
pipefail && ./run_dtests.py --skip-resource-i [...]
 +        command: "# reminder: this code (along with all the steps) is 
independently executed on every circle container\n# so the goal here is to get 
the circleci script to return the tests *this* container will run\n# which we 
do via the `circleci` cli tool.\n\ncd cassandra-dtest\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\n\nif [ -n '' ]; then\n 
 export \nfi\n\necho \"***Collected DTests (j8_large_without_vnodes)***\"\nset 
-eo pipefail && ./run_dtests.py --only-reso [...]
      - run:
 -        name: Run dtests (j8_without_vnodes)
 +        name: Run dtests (j8_large_without_vnodes)
          no_output_timeout: 15m
-         command: "echo \"cat 
/tmp/split_dtest_tests_j8_large_without_vnodes_final.txt\"\ncat 
/tmp/split_dtest_tests_j8_large_without_vnodes_final.txt\n\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\nif [ -n '' ]; then\n  
export \nfi\n\njava -version\ncd ~/cassandra-dtest\nmkdir -p /tmp/dtest\n\necho 
\"env: $(env)\"\necho \"** done env\"\nmkdir -p /tmp/results/dtests\n# we need 
the \"set -o pipefail\" here so that the exit code that circleci will actually 
use is from py [...]
 -        command: |
 -          echo "cat /tmp/split_dtest_tests_j8_without_vnodes_final.txt"
 -          cat /tmp/split_dtest_tests_j8_without_vnodes_final.txt
 -
 -          source ~/env3.6/bin/activate
 -          export PATH=$JAVA_HOME/bin:$PATH
 -          if [ -n 'CQLSH_PYTHON=/usr/bin/python2.7' ]; then
 -            export CQLSH_PYTHON=/usr/bin/python2.7
 -          fi
 -
 -          java -version
 -          cd ~/cassandra-dtest
 -          mkdir -p /tmp/dtest
 -
 -          echo "env: $(env)"
 -          echo "** done env"
 -          mkdir -p /tmp/results/dtests
 -          # we need the "set -o pipefail" here so that the exit code that 
circleci will actually use is from pytest and not the exit code from tee
 -          export SPLIT_TESTS=`cat 
/tmp/split_dtest_tests_j8_without_vnodes_final.txt`
 -          if [ ! -z "$SPLIT_TESTS" ]; then
 -            set -o pipefail && cd ~/cassandra-dtest && pytest 
--skip-resource-intensive-tests --log-cli-level="DEBUG" 
--junit-xml=/tmp/results/dtests/pytest_result_j8_without_vnodes.xml -s 
--cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | 
tee /tmp/dtest/stdout.txt
 -          else
 -            echo "Tune your parallelism, there are more containers than test 
classes. Nothing to do in this container"
 -            (exit 1)
 -          fi
++        command: "echo \"cat 
/tmp/split_dtest_tests_j8_large_without_vnodes_final.txt\"\ncat 
/tmp/split_dtest_tests_j8_large_without_vnodes_final.txt\n\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\nif [ -n '' ]; then\n  
export \nfi\n\njava -version\ncd ~/cassandra-dtest\nmkdir -p /tmp/dtest\n\necho 
\"env: $(env)\"\necho \"** done env\"\nmkdir -p /tmp/results/dtests\n# we need 
the \"set -o pipefail\" here so that the exit code that circleci will actually 
use is from py [...]
      - store_test_results:
          path: /tmp/results
      - store_artifacts:
@@@ -5135,120 -5690,28 +5135,120 @@@
            fi
  
            java -version
 -          cd ~/cassandra-dtest
 -          mkdir -p /tmp/dtest
 -
 -          echo "env: $(env)"
 -          echo "** done env"
 -          mkdir -p /tmp/results/dtests
 -          # we need the "set -o pipefail" here so that the exit code that 
circleci will actually use is from pytest and not the exit code from tee
 -          export SPLIT_TESTS=`cat 
/tmp/split_dtest_tests_j11_dtests_offheap_final.txt`
 -          if [ ! -z "$SPLIT_TESTS" ]; then
 -            set -o pipefail && cd ~/cassandra-dtest && pytest --use-vnodes 
--num-tokens=16 --use-off-heap-memtables --skip-resource-intensive-tests 
--log-cli-level="DEBUG" 
--junit-xml=/tmp/results/dtests/pytest_result_j11_dtests_offheap.xml -s 
--cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | 
tee /tmp/dtest/stdout.txt
 -          else
 -            echo "Tune your parallelism, there are more containers than test 
classes. Nothing to do in this container"
 -            (exit 1)
 -          fi
 +          cd ~/cassandra-dtest
 +          mkdir -p /tmp/dtest
 +
 +          echo "env: $(env)"
 +          echo "** done env"
 +          mkdir -p /tmp/results/dtests
 +          # we need the "set -o pipefail" here so that the exit code that 
circleci will actually use is from pytest and not the exit code from tee
 +          export SPLIT_TESTS=`cat 
/tmp/split_dtest_tests_j11_dtests_offheap_final.txt`
 +          if [ ! -z "$SPLIT_TESTS" ]; then
-             set -o pipefail && cd ~/cassandra-dtest && pytest --use-vnodes 
--num-tokens=16 --use-off-heap-memtables --skip-resource-intensive-tests 
--log-level="DEBUG" 
--junit-xml=/tmp/results/dtests/pytest_result_j11_dtests_offheap.xml -s 
--cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | 
tee /tmp/dtest/stdout.txt
++            set -o pipefail && cd ~/cassandra-dtest && pytest --use-vnodes 
--num-tokens=16 --use-off-heap-memtables --skip-resource-intensive-tests 
--log-cli-level="DEBUG" 
--junit-xml=/tmp/results/dtests/pytest_result_j11_dtests_offheap.xml -s 
--cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | 
tee /tmp/dtest/stdout.txt
 +          else
 +            echo "Tune your parallelism, there are more containers than test 
classes. Nothing to do in this container"
 +            (exit 1)
 +          fi
 +    - store_test_results:
 +        path: /tmp/results
 +    - store_artifacts:
 +        path: /tmp/dtest
 +        destination: dtest_j11_dtests_offheap
 +    - store_artifacts:
 +        path: ~/cassandra-dtest/logs
 +        destination: dtest_j11_dtests_offheap_logs
 +    environment:
 +    - ANT_HOME: /usr/share/ant
 +    - JAVA11_HOME: /usr/lib/jvm/java-11-openjdk-amd64
 +    - JAVA8_HOME: /usr/lib/jvm/java-8-openjdk-amd64
 +    - 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: https://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - CCM_MAX_HEAP_SIZE: 1024M
 +    - CCM_HEAP_NEWSIZE: 256M
 +    - REPEATED_TESTS_STOP_ON_FAILURE: false
 +    - REPEATED_UTESTS: null
 +    - REPEATED_UTESTS_COUNT: 500
 +    - REPEATED_UTESTS_FQLTOOL: null
 +    - REPEATED_UTESTS_FQLTOOL_COUNT: 500
 +    - REPEATED_UTESTS_LONG: null
 +    - REPEATED_UTESTS_LONG_COUNT: 100
 +    - REPEATED_UTESTS_STRESS: null
 +    - REPEATED_UTESTS_STRESS_COUNT: 500
 +    - REPEATED_SIMULATOR_DTESTS: null
 +    - REPEATED_SIMULATOR_DTESTS_COUNT: 500
 +    - REPEATED_JVM_DTESTS: null
 +    - REPEATED_JVM_DTESTS_COUNT: 500
 +    - REPEATED_JVM_UPGRADE_DTESTS: null
 +    - REPEATED_JVM_UPGRADE_DTESTS_COUNT: 500
 +    - REPEATED_DTESTS: null
 +    - REPEATED_DTESTS_COUNT: 500
 +    - REPEATED_LARGE_DTESTS: null
 +    - REPEATED_LARGE_DTESTS_COUNT: 100
 +    - REPEATED_UPGRADE_DTESTS: null
 +    - REPEATED_UPGRADE_DTESTS_COUNT: 25
 +    - REPEATED_ANT_TEST_TARGET: testsome
 +    - REPEATED_ANT_TEST_CLASS: null
 +    - REPEATED_ANT_TEST_METHODS: null
 +    - REPEATED_ANT_TEST_VNODES: false
 +    - REPEATED_ANT_TEST_COUNT: 500
 +    - JAVA_HOME: /usr/lib/jvm/java-11-openjdk-amd64
 +    - JDK_HOME: /usr/lib/jvm/java-11-openjdk-amd64
 +    - CASSANDRA_USE_JDK11: true
 +  j8_simulator_dtests_repeat:
 +    docker:
 +    - image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:latest
 +    resource_class: medium
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 4
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Log Environment Information
 +        command: |
 +          echo '*** id ***'
 +          id
 +          echo '*** cat /proc/cpuinfo ***'
 +          cat /proc/cpuinfo
 +          echo '*** free -m ***'
 +          free -m
 +          echo '*** df -m ***'
 +          df -m
 +          echo '*** ifconfig -a ***'
 +          ifconfig -a
 +          echo '*** uname -a ***'
 +          uname -a
 +          echo '*** mount ***'
 +          mount
 +          echo '*** env ***'
 +          env
 +          echo '*** java ***'
 +          which java
 +          java -version
 +    - run:
 +        name: Repeatedly run new or modifed JUnit tests
 +        no_output_timeout: 15m
 +        command: "set -x\nexport PATH=$JAVA_HOME/bin:$PATH\ntime mv 
~/cassandra /tmp\ncd /tmp/cassandra\nif [ -d ~/dtest_jars ]; then\n  cp 
~/dtest_jars/dtest* /tmp/cassandra/build/\nfi\n\n# Calculate the number of test 
iterations to be run by the current parallel 
runner.\ncount=$((${REPEATED_SIMULATOR_DTESTS_COUNT} / CIRCLE_NODE_TOTAL))\nif 
(($CIRCLE_NODE_INDEX < (${REPEATED_SIMULATOR_DTESTS_COUNT} % 
CIRCLE_NODE_TOTAL))); then\n  count=$((count+1))\nfi\n\n# Put manually 
specified tests [...]
      - store_test_results:
 -        path: /tmp/results
 +        path: /tmp/results/repeated_utests/output
      - store_artifacts:
 -        path: /tmp/dtest
 -        destination: dtest_j11_dtests_offheap
 +        path: /tmp/results/repeated_utests/stdout
 +        destination: stdout
      - store_artifacts:
 -        path: ~/cassandra-dtest/logs
 -        destination: dtest_j11_dtests_offheap_logs
 +        path: /tmp/results/repeated_utests/output
 +        destination: junitxml
 +    - store_artifacts:
 +        path: /tmp/results/repeated_utests/logs
 +        destination: logs
      environment:
      - ANT_HOME: /usr/share/ant
      - JAVA11_HOME: /usr/lib/jvm/java-11-openjdk-amd64
@@@ -7320,13 -8238,37 +7320,13 @@@
            pip3 uninstall -y cqlsh
            pip3 freeze
      - run:
 -        name: Determine Tests to Run (j11_without_vnodes)
 +        name: Determine Tests to Run (j8_without_vnodes)
          no_output_timeout: 5m
 -        command: "# reminder: this code (along with all the steps) is 
independently executed on every circle container\n# so the goal here is to get 
the circleci script to return the tests *this* container will run\n# which we 
do via the `circleci` cli tool.\n\ncd cassandra-dtest\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\n\nif [ -n '' ]; then\n 
 export \nfi\n\necho \"***Collected DTests (j11_without_vnodes)***\"\nset -eo 
pipefail && ./run_dtests.py --skip-resource- [...]
 +        command: "# reminder: this code (along with all the steps) is 
independently executed on every circle container\n# so the goal here is to get 
the circleci script to return the tests *this* container will run\n# which we 
do via the `circleci` cli tool.\n\ncd cassandra-dtest\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\n\nif [ -n '' ]; then\n 
 export \nfi\n\necho \"***Collected DTests (j8_without_vnodes)***\"\nset -eo 
pipefail && ./run_dtests.py --skip-resource-i [...]
      - run:
 -        name: Run dtests (j11_without_vnodes)
 +        name: Run dtests (j8_without_vnodes)
          no_output_timeout: 15m
-         command: "echo \"cat 
/tmp/split_dtest_tests_j8_without_vnodes_final.txt\"\ncat 
/tmp/split_dtest_tests_j8_without_vnodes_final.txt\n\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\nif [ -n '' ]; then\n  
export \nfi\n\njava -version\ncd ~/cassandra-dtest\nmkdir -p /tmp/dtest\n\necho 
\"env: $(env)\"\necho \"** done env\"\nmkdir -p /tmp/results/dtests\n# we need 
the \"set -o pipefail\" here so that the exit code that circleci will actually 
use is from pytest and not [...]
 -        command: |
 -          echo "cat /tmp/split_dtest_tests_j11_without_vnodes_final.txt"
 -          cat /tmp/split_dtest_tests_j11_without_vnodes_final.txt
 -
 -          source ~/env3.6/bin/activate
 -          export PATH=$JAVA_HOME/bin:$PATH
 -          if [ -n 'CQLSH_PYTHON=/usr/bin/python2.7' ]; then
 -            export CQLSH_PYTHON=/usr/bin/python2.7
 -          fi
 -
 -          java -version
 -          cd ~/cassandra-dtest
 -          mkdir -p /tmp/dtest
 -
 -          echo "env: $(env)"
 -          echo "** done env"
 -          mkdir -p /tmp/results/dtests
 -          # we need the "set -o pipefail" here so that the exit code that 
circleci will actually use is from pytest and not the exit code from tee
 -          export SPLIT_TESTS=`cat 
/tmp/split_dtest_tests_j11_without_vnodes_final.txt`
 -          if [ ! -z "$SPLIT_TESTS" ]; then
 -            set -o pipefail && cd ~/cassandra-dtest && pytest 
--skip-resource-intensive-tests --log-cli-level="DEBUG" 
--junit-xml=/tmp/results/dtests/pytest_result_j11_without_vnodes.xml -s 
--cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | 
tee /tmp/dtest/stdout.txt
 -          else
 -            echo "Tune your parallelism, there are more containers than test 
classes. Nothing to do in this container"
 -            (exit 1)
 -          fi
++        command: "echo \"cat 
/tmp/split_dtest_tests_j8_without_vnodes_final.txt\"\ncat 
/tmp/split_dtest_tests_j8_without_vnodes_final.txt\n\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\nif [ -n '' ]; then\n  
export \nfi\n\njava -version\ncd ~/cassandra-dtest\nmkdir -p /tmp/dtest\n\necho 
\"env: $(env)\"\necho \"** done env\"\nmkdir -p /tmp/results/dtests\n# we need 
the \"set -o pipefail\" here so that the exit code that circleci will actually 
use is from pytest and not [...]
      - store_test_results:
          path: /tmp/results
      - store_artifacts:
@@@ -8639,9 -9750,9 +8639,9 @@@
            echo "** done env"
            mkdir -p /tmp/results/dtests
            # we need the "set -o pipefail" here so that the exit code that 
circleci will actually use is from pytest and not the exit code from tee
 -          export SPLIT_TESTS=`cat 
/tmp/split_dtest_tests_j11_dtests_offheap_final.txt`
 +          export SPLIT_TESTS=`cat 
/tmp/split_dtest_tests_j8_with_vnodes_final.txt`
            if [ ! -z "$SPLIT_TESTS" ]; then
-             set -o pipefail && cd ~/cassandra-dtest && pytest --use-vnodes 
--num-tokens=16 --skip-resource-intensive-tests --log-level="DEBUG" 
--junit-xml=/tmp/results/dtests/pytest_result_j8_with_vnodes.xml -s 
--cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | 
tee /tmp/dtest/stdout.txt
 -            set -o pipefail && cd ~/cassandra-dtest && pytest --use-vnodes 
--num-tokens=16 --use-off-heap-memtables --skip-resource-intensive-tests 
--log-cli-level="DEBUG" 
--junit-xml=/tmp/results/dtests/pytest_result_j11_dtests_offheap.xml -s 
--cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | 
tee /tmp/dtest/stdout.txt
++            set -o pipefail && cd ~/cassandra-dtest && pytest --use-vnodes 
--num-tokens=16 --skip-resource-intensive-tests --log-cli-level="DEBUG" 
--junit-xml=/tmp/results/dtests/pytest_result_j8_with_vnodes.xml -s 
--cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | 
tee /tmp/dtest/stdout.txt
            else
              echo "Tune your parallelism, there are more containers than test 
classes. Nothing to do in this container"
              (exit 1)
diff --cc .circleci/config.yml.FREE
index bb65172476,96c4b69887..6e48d91b50
--- a/.circleci/config.yml.FREE
+++ b/.circleci/config.yml.FREE
@@@ -2359,7 -2633,7 +2359,7 @@@ jobs
      - run:
          name: Run dtests (j11_large_without_vnodes)
          no_output_timeout: 15m
-         command: "echo \"cat 
/tmp/split_dtest_tests_j11_large_without_vnodes_final.txt\"\ncat 
/tmp/split_dtest_tests_j11_large_without_vnodes_final.txt\n\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\nif [ -n '' ]; then\n  
export \nfi\n\njava -version\ncd ~/cassandra-dtest\nmkdir -p /tmp/dtest\n\necho 
\"env: $(env)\"\necho \"** done env\"\nmkdir -p /tmp/results/dtests\n# we need 
the \"set -o pipefail\" here so that the exit code that circleci will actually 
use is from  [...]
 -        command: "echo \"cat 
/tmp/split_dtest_tests_j11_large_without_vnodes_final.txt\"\ncat 
/tmp/split_dtest_tests_j11_large_without_vnodes_final.txt\n\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\nif [ -n '' ]; then\n  
export \nfi\n\njava -version\ncd ~/cassandra-dtest\nmkdir -p /tmp/dtest\n\necho 
\"env: $(env)\"\necho \"** done env\"\nmkdir -p /tmp/results/dtests\n# we need 
the \"set -o pipefail\" here so that the exit code that circleci will actually 
use is from  [...]
++        command: "echo \"cat 
/tmp/split_dtest_tests_j11_large_without_vnodes_final.txt\"\ncat 
/tmp/split_dtest_tests_j11_large_without_vnodes_final.txt\n\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\nif [ -n '' ]; then\n  
export \nfi\n\njava -version\ncd ~/cassandra-dtest\nmkdir -p /tmp/dtest\n\necho 
\"env: $(env)\"\necho \"** done env\"\nmkdir -p /tmp/results/dtests\n# we need 
the \"set -o pipefail\" here so that the exit code that circleci will actually 
use is from  [...]
      - store_test_results:
          path: /tmp/results
      - store_artifacts:
@@@ -4053,13 -4386,37 +4053,13 @@@
            pip3 uninstall -y cqlsh
            pip3 freeze
      - run:
 -        name: Determine Tests to Run (j8_without_vnodes)
 +        name: Determine Tests to Run (j8_large_without_vnodes)
          no_output_timeout: 5m
 -        command: "# reminder: this code (along with all the steps) is 
independently executed on every circle container\n# so the goal here is to get 
the circleci script to return the tests *this* container will run\n# which we 
do via the `circleci` cli tool.\n\ncd cassandra-dtest\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\n\nif [ -n '' ]; then\n 
 export \nfi\n\necho \"***Collected DTests (j8_without_vnodes)***\"\nset -eo 
pipefail && ./run_dtests.py --skip-resource-i [...]
 +        command: "# reminder: this code (along with all the steps) is 
independently executed on every circle container\n# so the goal here is to get 
the circleci script to return the tests *this* container will run\n# which we 
do via the `circleci` cli tool.\n\ncd cassandra-dtest\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\n\nif [ -n '' ]; then\n 
 export \nfi\n\necho \"***Collected DTests (j8_large_without_vnodes)***\"\nset 
-eo pipefail && ./run_dtests.py --only-reso [...]
      - run:
 -        name: Run dtests (j8_without_vnodes)
 +        name: Run dtests (j8_large_without_vnodes)
          no_output_timeout: 15m
-         command: "echo \"cat 
/tmp/split_dtest_tests_j8_large_without_vnodes_final.txt\"\ncat 
/tmp/split_dtest_tests_j8_large_without_vnodes_final.txt\n\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\nif [ -n '' ]; then\n  
export \nfi\n\njava -version\ncd ~/cassandra-dtest\nmkdir -p /tmp/dtest\n\necho 
\"env: $(env)\"\necho \"** done env\"\nmkdir -p /tmp/results/dtests\n# we need 
the \"set -o pipefail\" here so that the exit code that circleci will actually 
use is from py [...]
 -        command: |
 -          echo "cat /tmp/split_dtest_tests_j8_without_vnodes_final.txt"
 -          cat /tmp/split_dtest_tests_j8_without_vnodes_final.txt
 -
 -          source ~/env3.6/bin/activate
 -          export PATH=$JAVA_HOME/bin:$PATH
 -          if [ -n 'CQLSH_PYTHON=/usr/bin/python2.7' ]; then
 -            export CQLSH_PYTHON=/usr/bin/python2.7
 -          fi
 -
 -          java -version
 -          cd ~/cassandra-dtest
 -          mkdir -p /tmp/dtest
 -
 -          echo "env: $(env)"
 -          echo "** done env"
 -          mkdir -p /tmp/results/dtests
 -          # we need the "set -o pipefail" here so that the exit code that 
circleci will actually use is from pytest and not the exit code from tee
 -          export SPLIT_TESTS=`cat 
/tmp/split_dtest_tests_j8_without_vnodes_final.txt`
 -          if [ ! -z "$SPLIT_TESTS" ]; then
 -            set -o pipefail && cd ~/cassandra-dtest && pytest 
--skip-resource-intensive-tests --log-cli-level="DEBUG" 
--junit-xml=/tmp/results/dtests/pytest_result_j8_without_vnodes.xml -s 
--cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | 
tee /tmp/dtest/stdout.txt
 -          else
 -            echo "Tune your parallelism, there are more containers than test 
classes. Nothing to do in this container"
 -            (exit 1)
 -          fi
++        command: "echo \"cat 
/tmp/split_dtest_tests_j8_large_without_vnodes_final.txt\"\ncat 
/tmp/split_dtest_tests_j8_large_without_vnodes_final.txt\n\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\nif [ -n '' ]; then\n  
export \nfi\n\njava -version\ncd ~/cassandra-dtest\nmkdir -p /tmp/dtest\n\necho 
\"env: $(env)\"\necho \"** done env\"\nmkdir -p /tmp/results/dtests\n# we need 
the \"set -o pipefail\" here so that the exit code that circleci will actually 
use is from py [...]
      - store_test_results:
          path: /tmp/results
      - store_artifacts:
@@@ -5135,120 -5690,28 +5135,120 @@@
            fi
  
            java -version
 -          cd ~/cassandra-dtest
 -          mkdir -p /tmp/dtest
 -
 -          echo "env: $(env)"
 -          echo "** done env"
 -          mkdir -p /tmp/results/dtests
 -          # we need the "set -o pipefail" here so that the exit code that 
circleci will actually use is from pytest and not the exit code from tee
 -          export SPLIT_TESTS=`cat 
/tmp/split_dtest_tests_j11_dtests_offheap_final.txt`
 -          if [ ! -z "$SPLIT_TESTS" ]; then
 -            set -o pipefail && cd ~/cassandra-dtest && pytest --use-vnodes 
--num-tokens=16 --use-off-heap-memtables --skip-resource-intensive-tests 
--log-cli-level="DEBUG" 
--junit-xml=/tmp/results/dtests/pytest_result_j11_dtests_offheap.xml -s 
--cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | 
tee /tmp/dtest/stdout.txt
 -          else
 -            echo "Tune your parallelism, there are more containers than test 
classes. Nothing to do in this container"
 -            (exit 1)
 -          fi
 +          cd ~/cassandra-dtest
 +          mkdir -p /tmp/dtest
 +
 +          echo "env: $(env)"
 +          echo "** done env"
 +          mkdir -p /tmp/results/dtests
 +          # we need the "set -o pipefail" here so that the exit code that 
circleci will actually use is from pytest and not the exit code from tee
 +          export SPLIT_TESTS=`cat 
/tmp/split_dtest_tests_j11_dtests_offheap_final.txt`
 +          if [ ! -z "$SPLIT_TESTS" ]; then
-             set -o pipefail && cd ~/cassandra-dtest && pytest --use-vnodes 
--num-tokens=16 --use-off-heap-memtables --skip-resource-intensive-tests 
--log-level="DEBUG" 
--junit-xml=/tmp/results/dtests/pytest_result_j11_dtests_offheap.xml -s 
--cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | 
tee /tmp/dtest/stdout.txt
++            set -o pipefail && cd ~/cassandra-dtest && pytest --use-vnodes 
--num-tokens=16 --use-off-heap-memtables --skip-resource-intensive-tests 
--log-cli-level="DEBUG" 
--junit-xml=/tmp/results/dtests/pytest_result_j11_dtests_offheap.xml -s 
--cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | 
tee /tmp/dtest/stdout.txt
 +          else
 +            echo "Tune your parallelism, there are more containers than test 
classes. Nothing to do in this container"
 +            (exit 1)
 +          fi
 +    - store_test_results:
 +        path: /tmp/results
 +    - store_artifacts:
 +        path: /tmp/dtest
 +        destination: dtest_j11_dtests_offheap
 +    - store_artifacts:
 +        path: ~/cassandra-dtest/logs
 +        destination: dtest_j11_dtests_offheap_logs
 +    environment:
 +    - ANT_HOME: /usr/share/ant
 +    - JAVA11_HOME: /usr/lib/jvm/java-11-openjdk-amd64
 +    - JAVA8_HOME: /usr/lib/jvm/java-8-openjdk-amd64
 +    - 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: https://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - CCM_MAX_HEAP_SIZE: 1024M
 +    - CCM_HEAP_NEWSIZE: 256M
 +    - REPEATED_TESTS_STOP_ON_FAILURE: false
 +    - REPEATED_UTESTS: null
 +    - REPEATED_UTESTS_COUNT: 500
 +    - REPEATED_UTESTS_FQLTOOL: null
 +    - REPEATED_UTESTS_FQLTOOL_COUNT: 500
 +    - REPEATED_UTESTS_LONG: null
 +    - REPEATED_UTESTS_LONG_COUNT: 100
 +    - REPEATED_UTESTS_STRESS: null
 +    - REPEATED_UTESTS_STRESS_COUNT: 500
 +    - REPEATED_SIMULATOR_DTESTS: null
 +    - REPEATED_SIMULATOR_DTESTS_COUNT: 500
 +    - REPEATED_JVM_DTESTS: null
 +    - REPEATED_JVM_DTESTS_COUNT: 500
 +    - REPEATED_JVM_UPGRADE_DTESTS: null
 +    - REPEATED_JVM_UPGRADE_DTESTS_COUNT: 500
 +    - REPEATED_DTESTS: null
 +    - REPEATED_DTESTS_COUNT: 500
 +    - REPEATED_LARGE_DTESTS: null
 +    - REPEATED_LARGE_DTESTS_COUNT: 100
 +    - REPEATED_UPGRADE_DTESTS: null
 +    - REPEATED_UPGRADE_DTESTS_COUNT: 25
 +    - REPEATED_ANT_TEST_TARGET: testsome
 +    - REPEATED_ANT_TEST_CLASS: null
 +    - REPEATED_ANT_TEST_METHODS: null
 +    - REPEATED_ANT_TEST_VNODES: false
 +    - REPEATED_ANT_TEST_COUNT: 500
 +    - JAVA_HOME: /usr/lib/jvm/java-11-openjdk-amd64
 +    - JDK_HOME: /usr/lib/jvm/java-11-openjdk-amd64
 +    - CASSANDRA_USE_JDK11: true
 +  j8_simulator_dtests_repeat:
 +    docker:
 +    - image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:latest
 +    resource_class: medium
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 4
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Log Environment Information
 +        command: |
 +          echo '*** id ***'
 +          id
 +          echo '*** cat /proc/cpuinfo ***'
 +          cat /proc/cpuinfo
 +          echo '*** free -m ***'
 +          free -m
 +          echo '*** df -m ***'
 +          df -m
 +          echo '*** ifconfig -a ***'
 +          ifconfig -a
 +          echo '*** uname -a ***'
 +          uname -a
 +          echo '*** mount ***'
 +          mount
 +          echo '*** env ***'
 +          env
 +          echo '*** java ***'
 +          which java
 +          java -version
 +    - run:
 +        name: Repeatedly run new or modifed JUnit tests
 +        no_output_timeout: 15m
 +        command: "set -x\nexport PATH=$JAVA_HOME/bin:$PATH\ntime mv 
~/cassandra /tmp\ncd /tmp/cassandra\nif [ -d ~/dtest_jars ]; then\n  cp 
~/dtest_jars/dtest* /tmp/cassandra/build/\nfi\n\n# Calculate the number of test 
iterations to be run by the current parallel 
runner.\ncount=$((${REPEATED_SIMULATOR_DTESTS_COUNT} / CIRCLE_NODE_TOTAL))\nif 
(($CIRCLE_NODE_INDEX < (${REPEATED_SIMULATOR_DTESTS_COUNT} % 
CIRCLE_NODE_TOTAL))); then\n  count=$((count+1))\nfi\n\n# Put manually 
specified tests [...]
      - store_test_results:
 -        path: /tmp/results
 +        path: /tmp/results/repeated_utests/output
      - store_artifacts:
 -        path: /tmp/dtest
 -        destination: dtest_j11_dtests_offheap
 +        path: /tmp/results/repeated_utests/stdout
 +        destination: stdout
      - store_artifacts:
 -        path: ~/cassandra-dtest/logs
 -        destination: dtest_j11_dtests_offheap_logs
 +        path: /tmp/results/repeated_utests/output
 +        destination: junitxml
 +    - store_artifacts:
 +        path: /tmp/results/repeated_utests/logs
 +        destination: logs
      environment:
      - ANT_HOME: /usr/share/ant
      - JAVA11_HOME: /usr/lib/jvm/java-11-openjdk-amd64
@@@ -7320,13 -8238,37 +7320,13 @@@
            pip3 uninstall -y cqlsh
            pip3 freeze
      - run:
 -        name: Determine Tests to Run (j11_without_vnodes)
 +        name: Determine Tests to Run (j8_without_vnodes)
          no_output_timeout: 5m
 -        command: "# reminder: this code (along with all the steps) is 
independently executed on every circle container\n# so the goal here is to get 
the circleci script to return the tests *this* container will run\n# which we 
do via the `circleci` cli tool.\n\ncd cassandra-dtest\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\n\nif [ -n '' ]; then\n 
 export \nfi\n\necho \"***Collected DTests (j11_without_vnodes)***\"\nset -eo 
pipefail && ./run_dtests.py --skip-resource- [...]
 +        command: "# reminder: this code (along with all the steps) is 
independently executed on every circle container\n# so the goal here is to get 
the circleci script to return the tests *this* container will run\n# which we 
do via the `circleci` cli tool.\n\ncd cassandra-dtest\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\n\nif [ -n '' ]; then\n 
 export \nfi\n\necho \"***Collected DTests (j8_without_vnodes)***\"\nset -eo 
pipefail && ./run_dtests.py --skip-resource-i [...]
      - run:
 -        name: Run dtests (j11_without_vnodes)
 +        name: Run dtests (j8_without_vnodes)
          no_output_timeout: 15m
-         command: "echo \"cat 
/tmp/split_dtest_tests_j8_without_vnodes_final.txt\"\ncat 
/tmp/split_dtest_tests_j8_without_vnodes_final.txt\n\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\nif [ -n '' ]; then\n  
export \nfi\n\njava -version\ncd ~/cassandra-dtest\nmkdir -p /tmp/dtest\n\necho 
\"env: $(env)\"\necho \"** done env\"\nmkdir -p /tmp/results/dtests\n# we need 
the \"set -o pipefail\" here so that the exit code that circleci will actually 
use is from pytest and not [...]
 -        command: |
 -          echo "cat /tmp/split_dtest_tests_j11_without_vnodes_final.txt"
 -          cat /tmp/split_dtest_tests_j11_without_vnodes_final.txt
 -
 -          source ~/env3.6/bin/activate
 -          export PATH=$JAVA_HOME/bin:$PATH
 -          if [ -n 'CQLSH_PYTHON=/usr/bin/python2.7' ]; then
 -            export CQLSH_PYTHON=/usr/bin/python2.7
 -          fi
 -
 -          java -version
 -          cd ~/cassandra-dtest
 -          mkdir -p /tmp/dtest
 -
 -          echo "env: $(env)"
 -          echo "** done env"
 -          mkdir -p /tmp/results/dtests
 -          # we need the "set -o pipefail" here so that the exit code that 
circleci will actually use is from pytest and not the exit code from tee
 -          export SPLIT_TESTS=`cat 
/tmp/split_dtest_tests_j11_without_vnodes_final.txt`
 -          if [ ! -z "$SPLIT_TESTS" ]; then
 -            set -o pipefail && cd ~/cassandra-dtest && pytest 
--skip-resource-intensive-tests --log-cli-level="DEBUG" 
--junit-xml=/tmp/results/dtests/pytest_result_j11_without_vnodes.xml -s 
--cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | 
tee /tmp/dtest/stdout.txt
 -          else
 -            echo "Tune your parallelism, there are more containers than test 
classes. Nothing to do in this container"
 -            (exit 1)
 -          fi
++        command: "echo \"cat 
/tmp/split_dtest_tests_j8_without_vnodes_final.txt\"\ncat 
/tmp/split_dtest_tests_j8_without_vnodes_final.txt\n\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\nif [ -n '' ]; then\n  
export \nfi\n\njava -version\ncd ~/cassandra-dtest\nmkdir -p /tmp/dtest\n\necho 
\"env: $(env)\"\necho \"** done env\"\nmkdir -p /tmp/results/dtests\n# we need 
the \"set -o pipefail\" here so that the exit code that circleci will actually 
use is from pytest and not [...]
      - store_test_results:
          path: /tmp/results
      - store_artifacts:
@@@ -8639,9 -9750,9 +8639,9 @@@
            echo "** done env"
            mkdir -p /tmp/results/dtests
            # we need the "set -o pipefail" here so that the exit code that 
circleci will actually use is from pytest and not the exit code from tee
 -          export SPLIT_TESTS=`cat 
/tmp/split_dtest_tests_j11_dtests_offheap_final.txt`
 +          export SPLIT_TESTS=`cat 
/tmp/split_dtest_tests_j8_with_vnodes_final.txt`
            if [ ! -z "$SPLIT_TESTS" ]; then
-             set -o pipefail && cd ~/cassandra-dtest && pytest --use-vnodes 
--num-tokens=16 --skip-resource-intensive-tests --log-level="DEBUG" 
--junit-xml=/tmp/results/dtests/pytest_result_j8_with_vnodes.xml -s 
--cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | 
tee /tmp/dtest/stdout.txt
 -            set -o pipefail && cd ~/cassandra-dtest && pytest --use-vnodes 
--num-tokens=16 --use-off-heap-memtables --skip-resource-intensive-tests 
--log-cli-level="DEBUG" 
--junit-xml=/tmp/results/dtests/pytest_result_j11_dtests_offheap.xml -s 
--cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | 
tee /tmp/dtest/stdout.txt
++            set -o pipefail && cd ~/cassandra-dtest && pytest --use-vnodes 
--num-tokens=16 --skip-resource-intensive-tests --log-cli-level="DEBUG" 
--junit-xml=/tmp/results/dtests/pytest_result_j8_with_vnodes.xml -s 
--cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | 
tee /tmp/dtest/stdout.txt
            else
              echo "Tune your parallelism, there are more containers than test 
classes. Nothing to do in this container"
              (exit 1)
diff --cc .circleci/config.yml.PAID
index 9802037eb7,cc4eb2302d..79f1ef86e3
--- a/.circleci/config.yml.PAID
+++ b/.circleci/config.yml.PAID
@@@ -2359,7 -2633,7 +2359,7 @@@ jobs
      - run:
          name: Run dtests (j11_large_without_vnodes)
          no_output_timeout: 15m
-         command: "echo \"cat 
/tmp/split_dtest_tests_j11_large_without_vnodes_final.txt\"\ncat 
/tmp/split_dtest_tests_j11_large_without_vnodes_final.txt\n\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\nif [ -n '' ]; then\n  
export \nfi\n\njava -version\ncd ~/cassandra-dtest\nmkdir -p /tmp/dtest\n\necho 
\"env: $(env)\"\necho \"** done env\"\nmkdir -p /tmp/results/dtests\n# we need 
the \"set -o pipefail\" here so that the exit code that circleci will actually 
use is from  [...]
 -        command: "echo \"cat 
/tmp/split_dtest_tests_j11_large_without_vnodes_final.txt\"\ncat 
/tmp/split_dtest_tests_j11_large_without_vnodes_final.txt\n\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\nif [ -n '' ]; then\n  
export \nfi\n\njava -version\ncd ~/cassandra-dtest\nmkdir -p /tmp/dtest\n\necho 
\"env: $(env)\"\necho \"** done env\"\nmkdir -p /tmp/results/dtests\n# we need 
the \"set -o pipefail\" here so that the exit code that circleci will actually 
use is from  [...]
++        command: "echo \"cat 
/tmp/split_dtest_tests_j11_large_without_vnodes_final.txt\"\ncat 
/tmp/split_dtest_tests_j11_large_without_vnodes_final.txt\n\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\nif [ -n '' ]; then\n  
export \nfi\n\njava -version\ncd ~/cassandra-dtest\nmkdir -p /tmp/dtest\n\necho 
\"env: $(env)\"\necho \"** done env\"\nmkdir -p /tmp/results/dtests\n# we need 
the \"set -o pipefail\" here so that the exit code that circleci will actually 
use is from  [...]
      - store_test_results:
          path: /tmp/results
      - store_artifacts:
@@@ -4053,13 -4386,37 +4053,13 @@@
            pip3 uninstall -y cqlsh
            pip3 freeze
      - run:
 -        name: Determine Tests to Run (j8_without_vnodes)
 +        name: Determine Tests to Run (j8_large_without_vnodes)
          no_output_timeout: 5m
 -        command: "# reminder: this code (along with all the steps) is 
independently executed on every circle container\n# so the goal here is to get 
the circleci script to return the tests *this* container will run\n# which we 
do via the `circleci` cli tool.\n\ncd cassandra-dtest\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\n\nif [ -n '' ]; then\n 
 export \nfi\n\necho \"***Collected DTests (j8_without_vnodes)***\"\nset -eo 
pipefail && ./run_dtests.py --skip-resource-i [...]
 +        command: "# reminder: this code (along with all the steps) is 
independently executed on every circle container\n# so the goal here is to get 
the circleci script to return the tests *this* container will run\n# which we 
do via the `circleci` cli tool.\n\ncd cassandra-dtest\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\n\nif [ -n '' ]; then\n 
 export \nfi\n\necho \"***Collected DTests (j8_large_without_vnodes)***\"\nset 
-eo pipefail && ./run_dtests.py --only-reso [...]
      - run:
 -        name: Run dtests (j8_without_vnodes)
 +        name: Run dtests (j8_large_without_vnodes)
          no_output_timeout: 15m
-         command: "echo \"cat 
/tmp/split_dtest_tests_j8_large_without_vnodes_final.txt\"\ncat 
/tmp/split_dtest_tests_j8_large_without_vnodes_final.txt\n\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\nif [ -n '' ]; then\n  
export \nfi\n\njava -version\ncd ~/cassandra-dtest\nmkdir -p /tmp/dtest\n\necho 
\"env: $(env)\"\necho \"** done env\"\nmkdir -p /tmp/results/dtests\n# we need 
the \"set -o pipefail\" here so that the exit code that circleci will actually 
use is from py [...]
 -        command: |
 -          echo "cat /tmp/split_dtest_tests_j8_without_vnodes_final.txt"
 -          cat /tmp/split_dtest_tests_j8_without_vnodes_final.txt
 -
 -          source ~/env3.6/bin/activate
 -          export PATH=$JAVA_HOME/bin:$PATH
 -          if [ -n 'CQLSH_PYTHON=/usr/bin/python2.7' ]; then
 -            export CQLSH_PYTHON=/usr/bin/python2.7
 -          fi
 -
 -          java -version
 -          cd ~/cassandra-dtest
 -          mkdir -p /tmp/dtest
 -
 -          echo "env: $(env)"
 -          echo "** done env"
 -          mkdir -p /tmp/results/dtests
 -          # we need the "set -o pipefail" here so that the exit code that 
circleci will actually use is from pytest and not the exit code from tee
 -          export SPLIT_TESTS=`cat 
/tmp/split_dtest_tests_j8_without_vnodes_final.txt`
 -          if [ ! -z "$SPLIT_TESTS" ]; then
 -            set -o pipefail && cd ~/cassandra-dtest && pytest 
--skip-resource-intensive-tests --log-cli-level="DEBUG" 
--junit-xml=/tmp/results/dtests/pytest_result_j8_without_vnodes.xml -s 
--cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | 
tee /tmp/dtest/stdout.txt
 -          else
 -            echo "Tune your parallelism, there are more containers than test 
classes. Nothing to do in this container"
 -            (exit 1)
 -          fi
++        command: "echo \"cat 
/tmp/split_dtest_tests_j8_large_without_vnodes_final.txt\"\ncat 
/tmp/split_dtest_tests_j8_large_without_vnodes_final.txt\n\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\nif [ -n '' ]; then\n  
export \nfi\n\njava -version\ncd ~/cassandra-dtest\nmkdir -p /tmp/dtest\n\necho 
\"env: $(env)\"\necho \"** done env\"\nmkdir -p /tmp/results/dtests\n# we need 
the \"set -o pipefail\" here so that the exit code that circleci will actually 
use is from py [...]
      - store_test_results:
          path: /tmp/results
      - store_artifacts:
@@@ -5135,120 -5690,28 +5135,120 @@@
            fi
  
            java -version
 -          cd ~/cassandra-dtest
 -          mkdir -p /tmp/dtest
 -
 -          echo "env: $(env)"
 -          echo "** done env"
 -          mkdir -p /tmp/results/dtests
 -          # we need the "set -o pipefail" here so that the exit code that 
circleci will actually use is from pytest and not the exit code from tee
 -          export SPLIT_TESTS=`cat 
/tmp/split_dtest_tests_j11_dtests_offheap_final.txt`
 -          if [ ! -z "$SPLIT_TESTS" ]; then
 -            set -o pipefail && cd ~/cassandra-dtest && pytest --use-vnodes 
--num-tokens=16 --use-off-heap-memtables --skip-resource-intensive-tests 
--log-cli-level="DEBUG" 
--junit-xml=/tmp/results/dtests/pytest_result_j11_dtests_offheap.xml -s 
--cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | 
tee /tmp/dtest/stdout.txt
 -          else
 -            echo "Tune your parallelism, there are more containers than test 
classes. Nothing to do in this container"
 -            (exit 1)
 -          fi
 +          cd ~/cassandra-dtest
 +          mkdir -p /tmp/dtest
 +
 +          echo "env: $(env)"
 +          echo "** done env"
 +          mkdir -p /tmp/results/dtests
 +          # we need the "set -o pipefail" here so that the exit code that 
circleci will actually use is from pytest and not the exit code from tee
 +          export SPLIT_TESTS=`cat 
/tmp/split_dtest_tests_j11_dtests_offheap_final.txt`
 +          if [ ! -z "$SPLIT_TESTS" ]; then
-             set -o pipefail && cd ~/cassandra-dtest && pytest --use-vnodes 
--num-tokens=16 --use-off-heap-memtables --skip-resource-intensive-tests 
--log-level="DEBUG" 
--junit-xml=/tmp/results/dtests/pytest_result_j11_dtests_offheap.xml -s 
--cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | 
tee /tmp/dtest/stdout.txt
++            set -o pipefail && cd ~/cassandra-dtest && pytest --use-vnodes 
--num-tokens=16 --use-off-heap-memtables --skip-resource-intensive-tests 
--log-cli-level="DEBUG" 
--junit-xml=/tmp/results/dtests/pytest_result_j11_dtests_offheap.xml -s 
--cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | 
tee /tmp/dtest/stdout.txt
 +          else
 +            echo "Tune your parallelism, there are more containers than test 
classes. Nothing to do in this container"
 +            (exit 1)
 +          fi
 +    - store_test_results:
 +        path: /tmp/results
 +    - store_artifacts:
 +        path: /tmp/dtest
 +        destination: dtest_j11_dtests_offheap
 +    - store_artifacts:
 +        path: ~/cassandra-dtest/logs
 +        destination: dtest_j11_dtests_offheap_logs
 +    environment:
 +    - ANT_HOME: /usr/share/ant
 +    - JAVA11_HOME: /usr/lib/jvm/java-11-openjdk-amd64
 +    - JAVA8_HOME: /usr/lib/jvm/java-8-openjdk-amd64
 +    - 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: https://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - CCM_MAX_HEAP_SIZE: 1024M
 +    - CCM_HEAP_NEWSIZE: 256M
 +    - REPEATED_TESTS_STOP_ON_FAILURE: false
 +    - REPEATED_UTESTS: null
 +    - REPEATED_UTESTS_COUNT: 500
 +    - REPEATED_UTESTS_FQLTOOL: null
 +    - REPEATED_UTESTS_FQLTOOL_COUNT: 500
 +    - REPEATED_UTESTS_LONG: null
 +    - REPEATED_UTESTS_LONG_COUNT: 100
 +    - REPEATED_UTESTS_STRESS: null
 +    - REPEATED_UTESTS_STRESS_COUNT: 500
 +    - REPEATED_SIMULATOR_DTESTS: null
 +    - REPEATED_SIMULATOR_DTESTS_COUNT: 500
 +    - REPEATED_JVM_DTESTS: null
 +    - REPEATED_JVM_DTESTS_COUNT: 500
 +    - REPEATED_JVM_UPGRADE_DTESTS: null
 +    - REPEATED_JVM_UPGRADE_DTESTS_COUNT: 500
 +    - REPEATED_DTESTS: null
 +    - REPEATED_DTESTS_COUNT: 500
 +    - REPEATED_LARGE_DTESTS: null
 +    - REPEATED_LARGE_DTESTS_COUNT: 100
 +    - REPEATED_UPGRADE_DTESTS: null
 +    - REPEATED_UPGRADE_DTESTS_COUNT: 25
 +    - REPEATED_ANT_TEST_TARGET: testsome
 +    - REPEATED_ANT_TEST_CLASS: null
 +    - REPEATED_ANT_TEST_METHODS: null
 +    - REPEATED_ANT_TEST_VNODES: false
 +    - REPEATED_ANT_TEST_COUNT: 500
 +    - JAVA_HOME: /usr/lib/jvm/java-11-openjdk-amd64
 +    - JDK_HOME: /usr/lib/jvm/java-11-openjdk-amd64
 +    - CASSANDRA_USE_JDK11: true
 +  j8_simulator_dtests_repeat:
 +    docker:
 +    - image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:latest
 +    resource_class: medium
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 25
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Log Environment Information
 +        command: |
 +          echo '*** id ***'
 +          id
 +          echo '*** cat /proc/cpuinfo ***'
 +          cat /proc/cpuinfo
 +          echo '*** free -m ***'
 +          free -m
 +          echo '*** df -m ***'
 +          df -m
 +          echo '*** ifconfig -a ***'
 +          ifconfig -a
 +          echo '*** uname -a ***'
 +          uname -a
 +          echo '*** mount ***'
 +          mount
 +          echo '*** env ***'
 +          env
 +          echo '*** java ***'
 +          which java
 +          java -version
 +    - run:
 +        name: Repeatedly run new or modifed JUnit tests
 +        no_output_timeout: 15m
 +        command: "set -x\nexport PATH=$JAVA_HOME/bin:$PATH\ntime mv 
~/cassandra /tmp\ncd /tmp/cassandra\nif [ -d ~/dtest_jars ]; then\n  cp 
~/dtest_jars/dtest* /tmp/cassandra/build/\nfi\n\n# Calculate the number of test 
iterations to be run by the current parallel 
runner.\ncount=$((${REPEATED_SIMULATOR_DTESTS_COUNT} / CIRCLE_NODE_TOTAL))\nif 
(($CIRCLE_NODE_INDEX < (${REPEATED_SIMULATOR_DTESTS_COUNT} % 
CIRCLE_NODE_TOTAL))); then\n  count=$((count+1))\nfi\n\n# Put manually 
specified tests [...]
      - store_test_results:
 -        path: /tmp/results
 +        path: /tmp/results/repeated_utests/output
      - store_artifacts:
 -        path: /tmp/dtest
 -        destination: dtest_j11_dtests_offheap
 +        path: /tmp/results/repeated_utests/stdout
 +        destination: stdout
      - store_artifacts:
 -        path: ~/cassandra-dtest/logs
 -        destination: dtest_j11_dtests_offheap_logs
 +        path: /tmp/results/repeated_utests/output
 +        destination: junitxml
 +    - store_artifacts:
 +        path: /tmp/results/repeated_utests/logs
 +        destination: logs
      environment:
      - ANT_HOME: /usr/share/ant
      - JAVA11_HOME: /usr/lib/jvm/java-11-openjdk-amd64
@@@ -7320,13 -8238,37 +7320,13 @@@
            pip3 uninstall -y cqlsh
            pip3 freeze
      - run:
 -        name: Determine Tests to Run (j11_without_vnodes)
 +        name: Determine Tests to Run (j8_without_vnodes)
          no_output_timeout: 5m
 -        command: "# reminder: this code (along with all the steps) is 
independently executed on every circle container\n# so the goal here is to get 
the circleci script to return the tests *this* container will run\n# which we 
do via the `circleci` cli tool.\n\ncd cassandra-dtest\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\n\nif [ -n '' ]; then\n 
 export \nfi\n\necho \"***Collected DTests (j11_without_vnodes)***\"\nset -eo 
pipefail && ./run_dtests.py --skip-resource- [...]
 +        command: "# reminder: this code (along with all the steps) is 
independently executed on every circle container\n# so the goal here is to get 
the circleci script to return the tests *this* container will run\n# which we 
do via the `circleci` cli tool.\n\ncd cassandra-dtest\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\n\nif [ -n '' ]; then\n 
 export \nfi\n\necho \"***Collected DTests (j8_without_vnodes)***\"\nset -eo 
pipefail && ./run_dtests.py --skip-resource-i [...]
      - run:
 -        name: Run dtests (j11_without_vnodes)
 +        name: Run dtests (j8_without_vnodes)
          no_output_timeout: 15m
-         command: "echo \"cat 
/tmp/split_dtest_tests_j8_without_vnodes_final.txt\"\ncat 
/tmp/split_dtest_tests_j8_without_vnodes_final.txt\n\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\nif [ -n '' ]; then\n  
export \nfi\n\njava -version\ncd ~/cassandra-dtest\nmkdir -p /tmp/dtest\n\necho 
\"env: $(env)\"\necho \"** done env\"\nmkdir -p /tmp/results/dtests\n# we need 
the \"set -o pipefail\" here so that the exit code that circleci will actually 
use is from pytest and not [...]
 -        command: |
 -          echo "cat /tmp/split_dtest_tests_j11_without_vnodes_final.txt"
 -          cat /tmp/split_dtest_tests_j11_without_vnodes_final.txt
 -
 -          source ~/env3.6/bin/activate
 -          export PATH=$JAVA_HOME/bin:$PATH
 -          if [ -n 'CQLSH_PYTHON=/usr/bin/python2.7' ]; then
 -            export CQLSH_PYTHON=/usr/bin/python2.7
 -          fi
 -
 -          java -version
 -          cd ~/cassandra-dtest
 -          mkdir -p /tmp/dtest
 -
 -          echo "env: $(env)"
 -          echo "** done env"
 -          mkdir -p /tmp/results/dtests
 -          # we need the "set -o pipefail" here so that the exit code that 
circleci will actually use is from pytest and not the exit code from tee
 -          export SPLIT_TESTS=`cat 
/tmp/split_dtest_tests_j11_without_vnodes_final.txt`
 -          if [ ! -z "$SPLIT_TESTS" ]; then
 -            set -o pipefail && cd ~/cassandra-dtest && pytest 
--skip-resource-intensive-tests --log-cli-level="DEBUG" 
--junit-xml=/tmp/results/dtests/pytest_result_j11_without_vnodes.xml -s 
--cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | 
tee /tmp/dtest/stdout.txt
 -          else
 -            echo "Tune your parallelism, there are more containers than test 
classes. Nothing to do in this container"
 -            (exit 1)
 -          fi
++        command: "echo \"cat 
/tmp/split_dtest_tests_j8_without_vnodes_final.txt\"\ncat 
/tmp/split_dtest_tests_j8_without_vnodes_final.txt\n\nsource 
~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\nif [ -n '' ]; then\n  
export \nfi\n\njava -version\ncd ~/cassandra-dtest\nmkdir -p /tmp/dtest\n\necho 
\"env: $(env)\"\necho \"** done env\"\nmkdir -p /tmp/results/dtests\n# we need 
the \"set -o pipefail\" here so that the exit code that circleci will actually 
use is from pytest and not [...]
      - store_test_results:
          path: /tmp/results
      - store_artifacts:
@@@ -8639,9 -9750,9 +8639,9 @@@
            echo "** done env"
            mkdir -p /tmp/results/dtests
            # we need the "set -o pipefail" here so that the exit code that 
circleci will actually use is from pytest and not the exit code from tee
 -          export SPLIT_TESTS=`cat 
/tmp/split_dtest_tests_j11_dtests_offheap_final.txt`
 +          export SPLIT_TESTS=`cat 
/tmp/split_dtest_tests_j8_with_vnodes_final.txt`
            if [ ! -z "$SPLIT_TESTS" ]; then
-             set -o pipefail && cd ~/cassandra-dtest && pytest --use-vnodes 
--num-tokens=16 --skip-resource-intensive-tests --log-level="DEBUG" 
--junit-xml=/tmp/results/dtests/pytest_result_j8_with_vnodes.xml -s 
--cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | 
tee /tmp/dtest/stdout.txt
 -            set -o pipefail && cd ~/cassandra-dtest && pytest --use-vnodes 
--num-tokens=16 --use-off-heap-memtables --skip-resource-intensive-tests 
--log-cli-level="DEBUG" 
--junit-xml=/tmp/results/dtests/pytest_result_j11_dtests_offheap.xml -s 
--cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | 
tee /tmp/dtest/stdout.txt
++            set -o pipefail && cd ~/cassandra-dtest && pytest --use-vnodes 
--num-tokens=16 --skip-resource-intensive-tests --log-cli-level="DEBUG" 
--junit-xml=/tmp/results/dtests/pytest_result_j8_with_vnodes.xml -s 
--cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | 
tee /tmp/dtest/stdout.txt
            else
              echo "Tune your parallelism, there are more containers than test 
classes. Nothing to do in this container"
              (exit 1)


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

Reply via email to