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

edimitrova pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit 4795e23c82b26fddf1dbfb10447aa9f7eeb26d87
Merge: 29e4612 80beb83
Author: Ekaterina Dimitrova <[email protected]>
AuthorDate: Thu Apr 8 18:22:41 2021 -0400

    Merge branch 'cassandra-3.11' into trunk

 .circleci/config-2_1.yml     | 3 +++
 .circleci/config.yml         | 3 +++
 .circleci/config.yml.HIGHRES | 3 +++
 .circleci/config.yml.LOWRES  | 3 +++
 .circleci/config.yml.MIDRES  | 3 +++
 5 files changed, 15 insertions(+)

diff --cc .circleci/config.yml.HIGHRES
index fa2448c,a08f93f..27c67cb
--- a/.circleci/config.yml.HIGHRES
+++ b/.circleci/config.yml.HIGHRES
@@@ -2358,6 -778,7 +2358,7 @@@ jobs
              git remote set-branches --add apache '$branch'
              git fetch --depth 1 apache $branch
              git checkout $branch
 -            it clean -fd
++            git clean -fd
              # Loop to prevent failure due to maven-ant-tasks not downloading 
a jar..
              for x in $(seq 1 3); do
                  ${ANT_HOME}/bin/ant realclean; ${ANT_HOME}/bin/ant jar 
dtest-jar
@@@ -2374,7 -795,9 +2375,9 @@@
              fi
            done
            # and build the dtest-jar for the branch under test
+           ${ANT_HOME}/bin/ant realclean
            git checkout origin/$CIRCLE_BRANCH
 -          it clean -fd
++          git clean -fd
            for x in $(seq 1 3); do
                ${ANT_HOME}/bin/ant realclean; ${ANT_HOME}/bin/ant jar dtest-jar
                RETURN="$?"
diff --cc .circleci/config.yml.MIDRES
index fc51b2b,0000000..258bc3e
mode 100644,000000..100644
--- a/.circleci/config.yml.MIDRES
+++ b/.circleci/config.yml.MIDRES
@@@ -1,2608 -1,0 +1,2611 @@@
 +version: 2
 +jobs:
 +  j8_jvm_upgrade_dtests:
 +    docker:
 +    - image: 
apache/cassandra-testing-ubuntu2004-java11-w-dependencies:20210304
 +    resource_class: large
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 4
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Determine distributed Tests to Run
 +        command: |
 +          # reminder: this code (along with all the steps) is independently 
executed on every circle container
 +          # so the goal here is to get the circleci script to return the 
tests *this* container will run
 +          # which we do via the `circleci` cli tool.
 +
 +          rm -fr ~/cassandra-dtest/upgrade_tests
 +          echo "***java tests***"
 +
 +          # get all of our unit test filenames
 +          set -eo pipefail && circleci tests glob 
"$HOME/cassandra/test/distributed/**/*.java" > /tmp/all_java_unit_tests.txt
 +
 +          # split up the unit tests into groups based on the number of 
containers we have
 +          set -eo pipefail && circleci tests split --split-by=timings 
--timings-type=filename --index=${CIRCLE_NODE_INDEX} 
--total=${CIRCLE_NODE_TOTAL} /tmp/all_java_unit_tests.txt > 
/tmp/java_tests_${CIRCLE_NODE_INDEX}.txt
 +          set -eo pipefail && cat /tmp/java_tests_${CIRCLE_NODE_INDEX}.txt | 
sed "s;^/home/cassandra/cassandra/test/distributed/;;g" | grep "Test\.java$" | 
grep upgrade > /tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt
 +          echo "** /tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt"
 +          cat /tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt
 +        no_output_timeout: 15m
 +    - 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: Run Unit Tests (testclasslist)
 +        command: |
 +          set -x
 +          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
 +          test_timeout=$(grep 'name="test.distributed.timeout"' build.xml | 
awk -F'"' '{print $4}' || true)
 +          if [ -z "$test_timeout" ]; then
 +            test_timeout=$(grep 'name="test.timeout"' build.xml | awk -F'"' 
'{print $4}')
 +          fi
 +          ant testclasslist -Dtest.timeout="$test_timeout" 
-Dtest.classlistfile=/tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt  
-Dtest.classlistprefix=distributed -Dtest.runners=1
 +        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
 +    - 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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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_cqlsh-dtests-py2-with-vnodes:
 +    docker:
 +    - image: 
apache/cassandra-testing-ubuntu2004-java11-w-dependencies:20210304
 +    resource_class: large
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 50
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Clone Cassandra dtest Repository (via git)
 +        command: |
 +          git clone --single-branch --branch $DTEST_BRANCH --depth 1 
$DTEST_REPO ~/cassandra-dtest
 +    - run:
 +        name: Configure virtualenv and python Dependencies
 +        command: |
 +          # note, this should be super quick as all dependencies should be 
pre-installed in the docker image
 +          # if additional dependencies were added to requirmeents.txt and the 
docker image hasn't been updated
 +          # we'd have to install it here at runtime -- which will make things 
slow, so do yourself a favor and
 +          # rebuild the docker image! (it automatically pulls the latest 
requirements.txt on build)
 +          source ~/env3.6/bin/activate
 +          export PATH=$JAVA_HOME/bin:$PATH
 +          pip3 install --exists-action w --upgrade -r 
~/cassandra-dtest/requirements.txt
 +          pip3 uninstall -y cqlsh
 +          pip3 freeze
 +    - run:
 +        name: Determine Tests to Run (j8_with_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_with_vnodes)***\"\nset -eo 
pipefail && ./run_dtests.py --use-vnodes --skip- [...]
 +    - run:
 +        name: Run dtests (j8_with_vnodes)
 +        no_output_timeout: 15m
 +        command: |
 +          echo "cat /tmp/split_dtest_tests_j8_with_vnodes_final.txt"
 +          cat /tmp/split_dtest_tests_j8_with_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_with_vnodes_final.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
 +    - store_test_results:
 +        path: /tmp/results
 +    - store_artifacts:
 +        path: /tmp/dtest
 +        destination: dtest_j8_with_vnodes
 +    - store_artifacts:
 +        path: ~/cassandra-dtest/logs
 +        destination: dtest_j8_with_vnodes_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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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:
 +    docker:
 +    - image: apache/cassandra-testing-ubuntu2004-java11:20210304
 +    resource_class: medium
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 25
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Determine unit Tests to Run
 +        command: |
 +          # reminder: this code (along with all the steps) is independently 
executed on every circle container
 +          # so the goal here is to get the circleci script to return the 
tests *this* container will run
 +          # which we do via the `circleci` cli tool.
 +
 +          rm -fr ~/cassandra-dtest/upgrade_tests
 +          echo "***java tests***"
 +
 +          # get all of our unit test filenames
 +          set -eo pipefail && circleci tests glob 
"$HOME/cassandra/test/unit/**/*.java" > /tmp/all_java_unit_tests.txt
 +
 +          # split up the unit tests into groups based on the number of 
containers we have
 +          set -eo pipefail && circleci tests split --split-by=timings 
--timings-type=filename --index=${CIRCLE_NODE_INDEX} 
--total=${CIRCLE_NODE_TOTAL} /tmp/all_java_unit_tests.txt > 
/tmp/java_tests_${CIRCLE_NODE_INDEX}.txt
 +          set -eo pipefail && cat /tmp/java_tests_${CIRCLE_NODE_INDEX}.txt | 
sed "s;^/home/cassandra/cassandra/test/unit/;;g" | grep "Test\.java$"  > 
/tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt
 +          echo "** /tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt"
 +          cat /tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt
 +        no_output_timeout: 15m
 +    - 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: Run Unit Tests (testclasslist)
 +        command: |
 +          set -x
 +          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
 +          test_timeout=$(grep 'name="test.unit.timeout"' build.xml | awk 
-F'"' '{print $4}' || true)
 +          if [ -z "$test_timeout" ]; then
 +            test_timeout=$(grep 'name="test.timeout"' build.xml | awk -F'"' 
'{print $4}')
 +          fi
 +          ant testclasslist -Dtest.timeout="$test_timeout" 
-Dtest.classlistfile=/tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt  
-Dtest.classlistprefix=unit
 +        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
 +    - 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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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
 +  j8_cqlsh-dtests-py38-no-vnodes:
 +    docker:
 +    - image: 
apache/cassandra-testing-ubuntu2004-java11-w-dependencies:20210304
 +    resource_class: large
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 50
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Clone Cassandra dtest Repository (via git)
 +        command: |
 +          git clone --single-branch --branch $DTEST_BRANCH --depth 1 
$DTEST_REPO ~/cassandra-dtest
 +    - run:
 +        name: Configure virtualenv and python Dependencies
 +        command: |
 +          # note, this should be super quick as all dependencies should be 
pre-installed in the docker image
 +          # if additional dependencies were added to requirmeents.txt and the 
docker image hasn't been updated
 +          # we'd have to install it here at runtime -- which will make things 
slow, so do yourself a favor and
 +          # rebuild the docker image! (it automatically pulls the latest 
requirements.txt on build)
 +          source ~/env3.8/bin/activate
 +          export PATH=$JAVA_HOME/bin:$PATH
 +          pip3 install --exists-action w --upgrade -r 
~/cassandra-dtest/requirements.txt
 +          pip3 uninstall -y cqlsh
 +          pip3 freeze
 +    - run:
 +        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.8/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 (j8_without_vnodes)
 +        no_output_timeout: 15m
 +        command: |
 +          echo "cat /tmp/split_dtest_tests_j8_without_vnodes_final.txt"
 +          cat /tmp/split_dtest_tests_j8_without_vnodes_final.txt
 +
 +          source ~/env3.8/bin/activate
 +          export PATH=$JAVA_HOME/bin:$PATH
 +          if [ -n 'CQLSH_PYTHON=/usr/bin/python3.8' ]; then
 +            export CQLSH_PYTHON=/usr/bin/python3.8
 +          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`
 +          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
 +    - store_test_results:
 +        path: /tmp/results
 +    - store_artifacts:
 +        path: /tmp/dtest
 +        destination: dtest_j8_without_vnodes
 +    - store_artifacts:
 +        path: ~/cassandra-dtest/logs
 +        destination: dtest_j8_without_vnodes_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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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_cqlsh-dtests-py3-with-vnodes:
 +    docker:
 +    - image: apache/cassandra-testing-ubuntu2004-java11:20210304
 +    resource_class: large
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 50
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Clone Cassandra dtest Repository (via git)
 +        command: |
 +          git clone --single-branch --branch $DTEST_BRANCH --depth 1 
$DTEST_REPO ~/cassandra-dtest
 +    - run:
 +        name: Configure virtualenv and python Dependencies
 +        command: |
 +          # note, this should be super quick as all dependencies should be 
pre-installed in the docker image
 +          # if additional dependencies were added to requirmeents.txt and the 
docker image hasn't been updated
 +          # we'd have to install it here at runtime -- which will make things 
slow, so do yourself a favor and
 +          # rebuild the docker image! (it automatically pulls the latest 
requirements.txt on build)
 +          source ~/env3.6/bin/activate
 +          export PATH=$JAVA_HOME/bin:$PATH
 +          pip3 install --exists-action w --upgrade -r 
~/cassandra-dtest/requirements.txt
 +          pip3 uninstall -y cqlsh
 +          pip3 freeze
 +    - run:
 +        name: Determine Tests to Run (j11_with_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_with_vnodes)***\"\nset -eo 
pipefail && ./run_dtests.py --use-vnodes --skip [...]
 +    - run:
 +        name: Run dtests (j11_with_vnodes)
 +        no_output_timeout: 15m
 +        command: |
 +          echo "cat /tmp/split_dtest_tests_j11_with_vnodes_final.txt"
 +          cat /tmp/split_dtest_tests_j11_with_vnodes_final.txt
 +
 +          source ~/env3.6/bin/activate
 +          export PATH=$JAVA_HOME/bin:$PATH
 +          if [ -n 'CQLSH_PYTHON=/usr/bin/python3.6' ]; then
 +            export CQLSH_PYTHON=/usr/bin/python3.6
 +          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_with_vnodes_final.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_j11_with_vnodes.xml -s 
--cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | 
tee /tmp/dtest/stdout.txt
 +    - store_test_results:
 +        path: /tmp/results
 +    - store_artifacts:
 +        path: /tmp/dtest
 +        destination: dtest_j11_with_vnodes
 +    - store_artifacts:
 +        path: ~/cassandra-dtest/logs
 +        destination: dtest_j11_with_vnodes_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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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_cqlsh-dtests-py3-no-vnodes:
 +    docker:
 +    - image: apache/cassandra-testing-ubuntu2004-java11:20210304
 +    resource_class: large
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 50
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Clone Cassandra dtest Repository (via git)
 +        command: |
 +          git clone --single-branch --branch $DTEST_BRANCH --depth 1 
$DTEST_REPO ~/cassandra-dtest
 +    - run:
 +        name: Configure virtualenv and python Dependencies
 +        command: |
 +          # note, this should be super quick as all dependencies should be 
pre-installed in the docker image
 +          # if additional dependencies were added to requirmeents.txt and the 
docker image hasn't been updated
 +          # we'd have to install it here at runtime -- which will make things 
slow, so do yourself a favor and
 +          # rebuild the docker image! (it automatically pulls the latest 
requirements.txt on build)
 +          source ~/env3.6/bin/activate
 +          export PATH=$JAVA_HOME/bin:$PATH
 +          pip3 install --exists-action w --upgrade -r 
~/cassandra-dtest/requirements.txt
 +          pip3 uninstall -y cqlsh
 +          pip3 freeze
 +    - run:
 +        name: Determine Tests to Run (j11_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- [...]
 +    - run:
 +        name: Run dtests (j11_without_vnodes)
 +        no_output_timeout: 15m
 +        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/python3.6' ]; then
 +            export CQLSH_PYTHON=/usr/bin/python3.6
 +          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`
 +          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
 +    - store_test_results:
 +        path: /tmp/results
 +    - store_artifacts:
 +        path: /tmp/dtest
 +        destination: dtest_j11_without_vnodes
 +    - store_artifacts:
 +        path: ~/cassandra-dtest/logs
 +        destination: dtest_j11_without_vnodes_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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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_cqlsh-dtests-py38-with-vnodes:
 +    docker:
 +    - image: apache/cassandra-testing-ubuntu2004-java11:20210304
 +    resource_class: large
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 50
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Clone Cassandra dtest Repository (via git)
 +        command: |
 +          git clone --single-branch --branch $DTEST_BRANCH --depth 1 
$DTEST_REPO ~/cassandra-dtest
 +    - run:
 +        name: Configure virtualenv and python Dependencies
 +        command: |
 +          # note, this should be super quick as all dependencies should be 
pre-installed in the docker image
 +          # if additional dependencies were added to requirmeents.txt and the 
docker image hasn't been updated
 +          # we'd have to install it here at runtime -- which will make things 
slow, so do yourself a favor and
 +          # rebuild the docker image! (it automatically pulls the latest 
requirements.txt on build)
 +          source ~/env3.8/bin/activate
 +          export PATH=$JAVA_HOME/bin:$PATH
 +          pip3 install --exists-action w --upgrade -r 
~/cassandra-dtest/requirements.txt
 +          pip3 uninstall -y cqlsh
 +          pip3 freeze
 +    - run:
 +        name: Determine Tests to Run (j11_with_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.8/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\n\nif [ -n '' ]; then\n 
 export \nfi\n\necho \"***Collected DTests (j11_with_vnodes)***\"\nset -eo 
pipefail && ./run_dtests.py --use-vnodes --skip [...]
 +    - run:
 +        name: Run dtests (j11_with_vnodes)
 +        no_output_timeout: 15m
 +        command: |
 +          echo "cat /tmp/split_dtest_tests_j11_with_vnodes_final.txt"
 +          cat /tmp/split_dtest_tests_j11_with_vnodes_final.txt
 +
 +          source ~/env3.8/bin/activate
 +          export PATH=$JAVA_HOME/bin:$PATH
 +          if [ -n 'CQLSH_PYTHON=/usr/bin/python3.8' ]; then
 +            export CQLSH_PYTHON=/usr/bin/python3.8
 +          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_with_vnodes_final.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_j11_with_vnodes.xml -s 
--cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | 
tee /tmp/dtest/stdout.txt
 +    - store_test_results:
 +        path: /tmp/results
 +    - store_artifacts:
 +        path: /tmp/dtest
 +        destination: dtest_j11_with_vnodes
 +    - store_artifacts:
 +        path: ~/cassandra-dtest/logs
 +        destination: dtest_j11_with_vnodes_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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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
 +  j8_cqlsh-dtests-py3-with-vnodes:
 +    docker:
 +    - image: 
apache/cassandra-testing-ubuntu2004-java11-w-dependencies:20210304
 +    resource_class: large
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 50
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Clone Cassandra dtest Repository (via git)
 +        command: |
 +          git clone --single-branch --branch $DTEST_BRANCH --depth 1 
$DTEST_REPO ~/cassandra-dtest
 +    - run:
 +        name: Configure virtualenv and python Dependencies
 +        command: |
 +          # note, this should be super quick as all dependencies should be 
pre-installed in the docker image
 +          # if additional dependencies were added to requirmeents.txt and the 
docker image hasn't been updated
 +          # we'd have to install it here at runtime -- which will make things 
slow, so do yourself a favor and
 +          # rebuild the docker image! (it automatically pulls the latest 
requirements.txt on build)
 +          source ~/env3.6/bin/activate
 +          export PATH=$JAVA_HOME/bin:$PATH
 +          pip3 install --exists-action w --upgrade -r 
~/cassandra-dtest/requirements.txt
 +          pip3 uninstall -y cqlsh
 +          pip3 freeze
 +    - run:
 +        name: Determine Tests to Run (j8_with_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_with_vnodes)***\"\nset -eo 
pipefail && ./run_dtests.py --use-vnodes --skip- [...]
 +    - run:
 +        name: Run dtests (j8_with_vnodes)
 +        no_output_timeout: 15m
 +        command: |
 +          echo "cat /tmp/split_dtest_tests_j8_with_vnodes_final.txt"
 +          cat /tmp/split_dtest_tests_j8_with_vnodes_final.txt
 +
 +          source ~/env3.6/bin/activate
 +          export PATH=$JAVA_HOME/bin:$PATH
 +          if [ -n 'CQLSH_PYTHON=/usr/bin/python3.6' ]; then
 +            export CQLSH_PYTHON=/usr/bin/python3.6
 +          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_with_vnodes_final.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
 +    - store_test_results:
 +        path: /tmp/results
 +    - store_artifacts:
 +        path: /tmp/dtest
 +        destination: dtest_j8_with_vnodes
 +    - store_artifacts:
 +        path: ~/cassandra-dtest/logs
 +        destination: dtest_j8_with_vnodes_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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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_cqlsh-dtests-py2-no-vnodes:
 +    docker:
 +    - image: 
apache/cassandra-testing-ubuntu2004-java11-w-dependencies:20210304
 +    resource_class: large
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 50
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Clone Cassandra dtest Repository (via git)
 +        command: |
 +          git clone --single-branch --branch $DTEST_BRANCH --depth 1 
$DTEST_REPO ~/cassandra-dtest
 +    - run:
 +        name: Configure virtualenv and python Dependencies
 +        command: |
 +          # note, this should be super quick as all dependencies should be 
pre-installed in the docker image
 +          # if additional dependencies were added to requirmeents.txt and the 
docker image hasn't been updated
 +          # we'd have to install it here at runtime -- which will make things 
slow, so do yourself a favor and
 +          # rebuild the docker image! (it automatically pulls the latest 
requirements.txt on build)
 +          source ~/env3.6/bin/activate
 +          export PATH=$JAVA_HOME/bin:$PATH
 +          pip3 install --exists-action w --upgrade -r 
~/cassandra-dtest/requirements.txt
 +          pip3 uninstall -y cqlsh
 +          pip3 freeze
 +    - run:
 +        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 (j8_without_vnodes)***\"\nset -eo 
pipefail && ./run_dtests.py --skip-resource-i [...]
 +    - run:
 +        name: Run dtests (j8_without_vnodes)
 +        no_output_timeout: 15m
 +        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`
 +          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
 +    - store_test_results:
 +        path: /tmp/results
 +    - store_artifacts:
 +        path: /tmp/dtest
 +        destination: dtest_j8_without_vnodes
 +    - store_artifacts:
 +        path: ~/cassandra-dtest/logs
 +        destination: dtest_j8_without_vnodes_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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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_cqlsh-dtests-py2-with-vnodes:
 +    docker:
 +    - image: apache/cassandra-testing-ubuntu2004-java11:20210304
 +    resource_class: large
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 50
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Clone Cassandra dtest Repository (via git)
 +        command: |
 +          git clone --single-branch --branch $DTEST_BRANCH --depth 1 
$DTEST_REPO ~/cassandra-dtest
 +    - run:
 +        name: Configure virtualenv and python Dependencies
 +        command: |
 +          # note, this should be super quick as all dependencies should be 
pre-installed in the docker image
 +          # if additional dependencies were added to requirmeents.txt and the 
docker image hasn't been updated
 +          # we'd have to install it here at runtime -- which will make things 
slow, so do yourself a favor and
 +          # rebuild the docker image! (it automatically pulls the latest 
requirements.txt on build)
 +          source ~/env3.6/bin/activate
 +          export PATH=$JAVA_HOME/bin:$PATH
 +          pip3 install --exists-action w --upgrade -r 
~/cassandra-dtest/requirements.txt
 +          pip3 uninstall -y cqlsh
 +          pip3 freeze
 +    - run:
 +        name: Determine Tests to Run (j11_with_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_with_vnodes)***\"\nset -eo 
pipefail && ./run_dtests.py --use-vnodes --skip [...]
 +    - run:
 +        name: Run dtests (j11_with_vnodes)
 +        no_output_timeout: 15m
 +        command: |
 +          echo "cat /tmp/split_dtest_tests_j11_with_vnodes_final.txt"
 +          cat /tmp/split_dtest_tests_j11_with_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_with_vnodes_final.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_j11_with_vnodes.xml -s 
--cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | 
tee /tmp/dtest/stdout.txt
 +    - store_test_results:
 +        path: /tmp/results
 +    - store_artifacts:
 +        path: /tmp/dtest
 +        destination: dtest_j11_with_vnodes
 +    - store_artifacts:
 +        path: ~/cassandra-dtest/logs
 +        destination: dtest_j11_with_vnodes_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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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_dtests-with-vnodes:
 +    docker:
 +    - image: apache/cassandra-testing-ubuntu2004-java11:20210304
 +    resource_class: large
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 50
 +    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: Clone Cassandra dtest Repository (via git)
 +        command: |
 +          git clone --single-branch --branch $DTEST_BRANCH --depth 1 
$DTEST_REPO ~/cassandra-dtest
 +    - run:
 +        name: Configure virtualenv and python Dependencies
 +        command: |
 +          # note, this should be super quick as all dependencies should be 
pre-installed in the docker image
 +          # if additional dependencies were added to requirmeents.txt and the 
docker image hasn't been updated
 +          # we'd have to install it here at runtime -- which will make things 
slow, so do yourself a favor and
 +          # rebuild the docker image! (it automatically pulls the latest 
requirements.txt on build)
 +          source ~/env3.6/bin/activate
 +          export PATH=$JAVA_HOME/bin:$PATH
 +          pip3 install --exists-action w --upgrade -r 
~/cassandra-dtest/requirements.txt
 +          pip3 uninstall -y cqlsh
 +          pip3 freeze
 +    - run:
 +        name: Determine Tests to Run (j11_with_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_with_vnodes)***\"\nset -eo 
pipefail && ./run_dtests.py --use-vnodes --skip [...]
 +    - run:
 +        name: Run dtests (j11_with_vnodes)
 +        no_output_timeout: 15m
 +        command: "echo \"cat 
/tmp/split_dtest_tests_j11_with_vnodes_final.txt\"\ncat 
/tmp/split_dtest_tests_j11_with_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 the [...]
 +    - store_test_results:
 +        path: /tmp/results
 +    - store_artifacts:
 +        path: /tmp/dtest
 +        destination: dtest_j11_with_vnodes
 +    - store_artifacts:
 +        path: ~/cassandra-dtest/logs
 +        destination: dtest_j11_with_vnodes_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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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
 +  j8_dtests-no-vnodes:
 +    docker:
 +    - image: 
apache/cassandra-testing-ubuntu2004-java11-w-dependencies:20210304
 +    resource_class: large
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 50
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Clone Cassandra dtest Repository (via git)
 +        command: |
 +          git clone --single-branch --branch $DTEST_BRANCH --depth 1 
$DTEST_REPO ~/cassandra-dtest
 +    - run:
 +        name: Configure virtualenv and python Dependencies
 +        command: |
 +          # note, this should be super quick as all dependencies should be 
pre-installed in the docker image
 +          # if additional dependencies were added to requirmeents.txt and the 
docker image hasn't been updated
 +          # we'd have to install it here at runtime -- which will make things 
slow, so do yourself a favor and
 +          # rebuild the docker image! (it automatically pulls the latest 
requirements.txt on build)
 +          source ~/env3.6/bin/activate
 +          export PATH=$JAVA_HOME/bin:$PATH
 +          pip3 install --exists-action w --upgrade -r 
~/cassandra-dtest/requirements.txt
 +          pip3 uninstall -y cqlsh
 +          pip3 freeze
 +    - run:
 +        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 (j8_without_vnodes)***\"\nset -eo 
pipefail && ./run_dtests.py --skip-resource-i [...]
 +    - run:
 +        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 [...]
 +    - store_test_results:
 +        path: /tmp/results
 +    - store_artifacts:
 +        path: /tmp/dtest
 +        destination: dtest_j8_without_vnodes
 +    - store_artifacts:
 +        path: ~/cassandra-dtest/logs
 +        destination: dtest_j8_without_vnodes_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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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:
 +    docker:
 +    - image: 
apache/cassandra-testing-ubuntu2004-java11-w-dependencies:20210304
 +    resource_class: xlarge
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 100
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Clone Cassandra dtest Repository (via git)
 +        command: |
 +          git clone --single-branch --branch $DTEST_BRANCH --depth 1 
$DTEST_REPO ~/cassandra-dtest
 +    - run:
 +        name: Configure virtualenv and python Dependencies
 +        command: |
 +          # note, this should be super quick as all dependencies should be 
pre-installed in the docker image
 +          # if additional dependencies were added to requirmeents.txt and the 
docker image hasn't been updated
 +          # we'd have to install it here at runtime -- which will make things 
slow, so do yourself a favor and
 +          # rebuild the docker image! (it automatically pulls the latest 
requirements.txt on build)
 +          source ~/env3.6/bin/activate
 +          export PATH=$JAVA_HOME/bin:$PATH
 +          pip3 install --exists-action w --upgrade -r 
~/cassandra-dtest/requirements.txt
 +          pip3 uninstall -y cqlsh
 +          pip3 freeze
 +    - run:
 +        name: Determine Tests to Run (j8_upgradetests_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_upgradetests_without_vnodes)***\"\nset -eo pipefail && ./run_dtests.py --ex 
[...]
 +    - run:
 +        name: Run dtests (j8_upgradetests_without_vnodes)
 +        no_output_timeout: 15m
 +        command: "echo \"cat 
/tmp/split_dtest_tests_j8_upgradetests_without_vnodes_final.txt\"\ncat 
/tmp/split_dtest_tests_j8_upgradetests_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  
[...]
 +    - store_test_results:
 +        path: /tmp/results
 +    - store_artifacts:
 +        path: /tmp/dtest
 +        destination: dtest_j8_upgradetests_without_vnodes
 +    - store_artifacts:
 +        path: ~/cassandra-dtest/logs
 +        destination: dtest_j8_upgradetests_without_vnodes_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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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:
 +    docker:
 +    - image: 
apache/cassandra-testing-ubuntu2004-java11-w-dependencies:20210304
 +    resource_class: medium
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 1
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Run Unit Tests (stress-test)
 +        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 stress-test
 +        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
 +    - 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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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:
 +    docker:
 +    - image: 
apache/cassandra-testing-ubuntu2004-java11-w-dependencies:20210304
 +    resource_class: medium
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 25
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Determine unit Tests to Run
 +        command: |
 +          # reminder: this code (along with all the steps) is independently 
executed on every circle container
 +          # so the goal here is to get the circleci script to return the 
tests *this* container will run
 +          # which we do via the `circleci` cli tool.
 +
 +          rm -fr ~/cassandra-dtest/upgrade_tests
 +          echo "***java tests***"
 +
 +          # get all of our unit test filenames
 +          set -eo pipefail && circleci tests glob 
"$HOME/cassandra/test/unit/**/*.java" > /tmp/all_java_unit_tests.txt
 +
 +          # split up the unit tests into groups based on the number of 
containers we have
 +          set -eo pipefail && circleci tests split --split-by=timings 
--timings-type=filename --index=${CIRCLE_NODE_INDEX} 
--total=${CIRCLE_NODE_TOTAL} /tmp/all_java_unit_tests.txt > 
/tmp/java_tests_${CIRCLE_NODE_INDEX}.txt
 +          set -eo pipefail && cat /tmp/java_tests_${CIRCLE_NODE_INDEX}.txt | 
sed "s;^/home/cassandra/cassandra/test/unit/;;g" | grep "Test\.java$"  > 
/tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt
 +          echo "** /tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt"
 +          cat /tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt
 +        no_output_timeout: 15m
 +    - 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: Run Unit Tests (testclasslist)
 +        command: |
 +          set -x
 +          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
 +          test_timeout=$(grep 'name="test.unit.timeout"' build.xml | awk 
-F'"' '{print $4}' || true)
 +          if [ -z "$test_timeout" ]; then
 +            test_timeout=$(grep 'name="test.timeout"' build.xml | awk -F'"' 
'{print $4}')
 +          fi
 +          ant testclasslist -Dtest.timeout="$test_timeout" 
-Dtest.classlistfile=/tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt  
-Dtest.classlistprefix=unit
 +        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
 +    - 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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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: apache/cassandra-testing-ubuntu2004-java11:20210304
 +    resource_class: medium
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 1
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Determine distributed Tests to Run
 +        command: |
 +          # reminder: this code (along with all the steps) is independently 
executed on every circle container
 +          # so the goal here is to get the circleci script to return the 
tests *this* container will run
 +          # which we do via the `circleci` cli tool.
 +
 +          rm -fr ~/cassandra-dtest/upgrade_tests
 +          echo "***java tests***"
 +
 +          # get all of our unit test filenames
 +          set -eo pipefail && circleci tests glob 
"$HOME/cassandra/test/distributed/**/*.java" > /tmp/all_java_unit_tests.txt
 +
 +          # split up the unit tests into groups based on the number of 
containers we have
 +          set -eo pipefail && circleci tests split --split-by=timings 
--timings-type=filename --index=${CIRCLE_NODE_INDEX} 
--total=${CIRCLE_NODE_TOTAL} /tmp/all_java_unit_tests.txt > 
/tmp/java_tests_${CIRCLE_NODE_INDEX}.txt
 +          set -eo pipefail && cat /tmp/java_tests_${CIRCLE_NODE_INDEX}.txt | 
sed "s;^/home/cassandra/cassandra/test/distributed/;;g" | grep "Test\.java$" | 
grep -v upgrade > /tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt
 +          echo "** /tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt"
 +          cat /tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt
 +        no_output_timeout: 15m
 +    - 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: Run Unit Tests (testclasslist)
 +        command: |
 +          set -x
 +          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
 +          test_timeout=$(grep 'name="test.distributed.timeout"' build.xml | 
awk -F'"' '{print $4}' || true)
 +          if [ -z "$test_timeout" ]; then
 +            test_timeout=$(grep 'name="test.timeout"' build.xml | awk -F'"' 
'{print $4}')
 +          fi
 +          ant testclasslist -Dtest.timeout="$test_timeout" 
-Dtest.classlistfile=/tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt  
-Dtest.classlistprefix=distributed -Dtest.runners=1
 +        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
 +    - 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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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: apache/cassandra-testing-ubuntu2004-java11:20210304
 +    resource_class: medium
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 1
 +    steps:
 +    - 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: Clone Cassandra Repository (via git)
 +        command: |
 +          git clone --single-branch --depth 1 --branch $CIRCLE_BRANCH 
git://github.com/$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME.git 
~/cassandra
 +    - run:
 +        name: Build Cassandra
 +        command: |
 +          export PATH=$JAVA_HOME/bin:$PATH
 +          cd ~/cassandra
 +          # Loop to prevent failure due to maven-ant-tasks not downloading a 
jar..
 +          for x in $(seq 1 3); do
 +              ${ANT_HOME}/bin/ant clean realclean jar
 +              RETURN="$?"
 +              if [ "${RETURN}" -eq "0" ]; then
 +                  break
 +              fi
 +          done
 +          # Exit, if we didn't build successfully
 +          if [ "${RETURN}" -ne "0" ]; then
 +              echo "Build failed with exit code: ${RETURN}"
 +              exit ${RETURN}
 +          fi
 +        no_output_timeout: 15m
 +    - run:
 +        name: Run eclipse-warnings
 +        command: |
 +          export PATH=$JAVA_HOME/bin:$PATH
 +          cd ~/cassandra
 +          ant eclipse-warnings
 +    - persist_to_workspace:
 +        root: /home/cassandra
 +        paths:
 +        - cassandra
 +        - .m2
 +    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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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_cqlsh-dtests-py2-no-vnodes:
 +    docker:
 +    - image: apache/cassandra-testing-ubuntu2004-java11:20210304
 +    resource_class: large
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 50
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Clone Cassandra dtest Repository (via git)
 +        command: |
 +          git clone --single-branch --branch $DTEST_BRANCH --depth 1 
$DTEST_REPO ~/cassandra-dtest
 +    - run:
 +        name: Configure virtualenv and python Dependencies
 +        command: |
 +          # note, this should be super quick as all dependencies should be 
pre-installed in the docker image
 +          # if additional dependencies were added to requirmeents.txt and the 
docker image hasn't been updated
 +          # we'd have to install it here at runtime -- which will make things 
slow, so do yourself a favor and
 +          # rebuild the docker image! (it automatically pulls the latest 
requirements.txt on build)
 +          source ~/env3.6/bin/activate
 +          export PATH=$JAVA_HOME/bin:$PATH
 +          pip3 install --exists-action w --upgrade -r 
~/cassandra-dtest/requirements.txt
 +          pip3 uninstall -y cqlsh
 +          pip3 freeze
 +    - run:
 +        name: Determine Tests to Run (j11_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- [...]
 +    - run:
 +        name: Run dtests (j11_without_vnodes)
 +        no_output_timeout: 15m
 +        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`
 +          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
 +    - store_test_results:
 +        path: /tmp/results
 +    - store_artifacts:
 +        path: /tmp/dtest
 +        destination: dtest_j11_without_vnodes
 +    - store_artifacts:
 +        path: ~/cassandra-dtest/logs
 +        destination: dtest_j11_without_vnodes_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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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_cqlshlib_tests:
 +    docker:
 +    - image: apache/cassandra-testing-ubuntu2004-java11:20210304
 +    resource_class: medium
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 1
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Run cqlshlib Unit Tests
 +        command: |
 +          export PATH=$JAVA_HOME/bin:$PATH
 +          time mv ~/cassandra /tmp
 +          cd /tmp/cassandra/pylib
 +          ./cassandra-cqlsh-tests.sh ..
 +        no_output_timeout: 15m
 +    - store_test_results:
 +        path: /tmp/cassandra/pylib
 +    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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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
 +  j8_dtests-with-vnodes:
 +    docker:
 +    - image: 
apache/cassandra-testing-ubuntu2004-java11-w-dependencies:20210304
 +    resource_class: large
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 50
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Clone Cassandra dtest Repository (via git)
 +        command: |
 +          git clone --single-branch --branch $DTEST_BRANCH --depth 1 
$DTEST_REPO ~/cassandra-dtest
 +    - run:
 +        name: Configure virtualenv and python Dependencies
 +        command: |
 +          # note, this should be super quick as all dependencies should be 
pre-installed in the docker image
 +          # if additional dependencies were added to requirmeents.txt and the 
docker image hasn't been updated
 +          # we'd have to install it here at runtime -- which will make things 
slow, so do yourself a favor and
 +          # rebuild the docker image! (it automatically pulls the latest 
requirements.txt on build)
 +          source ~/env3.6/bin/activate
 +          export PATH=$JAVA_HOME/bin:$PATH
 +          pip3 install --exists-action w --upgrade -r 
~/cassandra-dtest/requirements.txt
 +          pip3 uninstall -y cqlsh
 +          pip3 freeze
 +    - run:
 +        name: Determine Tests to Run (j8_with_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_with_vnodes)***\"\nset -eo 
pipefail && ./run_dtests.py --use-vnodes --skip- [...]
 +    - run:
 +        name: Run dtests (j8_with_vnodes)
 +        no_output_timeout: 15m
 +        command: "echo \"cat 
/tmp/split_dtest_tests_j8_with_vnodes_final.txt\"\ncat 
/tmp/split_dtest_tests_j8_with_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 the e [...]
 +    - store_test_results:
 +        path: /tmp/results
 +    - store_artifacts:
 +        path: /tmp/dtest
 +        destination: dtest_j8_with_vnodes
 +    - store_artifacts:
 +        path: ~/cassandra-dtest/logs
 +        destination: dtest_j8_with_vnodes_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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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_cqlsh-dtests-py38-no-vnodes:
 +    docker:
 +    - image: apache/cassandra-testing-ubuntu2004-java11:20210304
 +    resource_class: large
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 50
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Clone Cassandra dtest Repository (via git)
 +        command: |
 +          git clone --single-branch --branch $DTEST_BRANCH --depth 1 
$DTEST_REPO ~/cassandra-dtest
 +    - run:
 +        name: Configure virtualenv and python Dependencies
 +        command: |
 +          # note, this should be super quick as all dependencies should be 
pre-installed in the docker image
 +          # if additional dependencies were added to requirmeents.txt and the 
docker image hasn't been updated
 +          # we'd have to install it here at runtime -- which will make things 
slow, so do yourself a favor and
 +          # rebuild the docker image! (it automatically pulls the latest 
requirements.txt on build)
 +          source ~/env3.8/bin/activate
 +          export PATH=$JAVA_HOME/bin:$PATH
 +          pip3 install --exists-action w --upgrade -r 
~/cassandra-dtest/requirements.txt
 +          pip3 uninstall -y cqlsh
 +          pip3 freeze
 +    - run:
 +        name: Determine Tests to Run (j11_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.8/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- [...]
 +    - run:
 +        name: Run dtests (j11_without_vnodes)
 +        no_output_timeout: 15m
 +        command: |
 +          echo "cat /tmp/split_dtest_tests_j11_without_vnodes_final.txt"
 +          cat /tmp/split_dtest_tests_j11_without_vnodes_final.txt
 +
 +          source ~/env3.8/bin/activate
 +          export PATH=$JAVA_HOME/bin:$PATH
 +          if [ -n 'CQLSH_PYTHON=/usr/bin/python3.8' ]; then
 +            export CQLSH_PYTHON=/usr/bin/python3.8
 +          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`
 +          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
 +    - store_test_results:
 +        path: /tmp/results
 +    - store_artifacts:
 +        path: /tmp/dtest
 +        destination: dtest_j11_without_vnodes
 +    - store_artifacts:
 +        path: ~/cassandra-dtest/logs
 +        destination: dtest_j11_without_vnodes_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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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
 +  j8_jvm_dtests:
 +    docker:
 +    - image: 
apache/cassandra-testing-ubuntu2004-java11-w-dependencies:20210304
 +    resource_class: large
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 10
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Determine distributed Tests to Run
 +        command: |
 +          # reminder: this code (along with all the steps) is independently 
executed on every circle container
 +          # so the goal here is to get the circleci script to return the 
tests *this* container will run
 +          # which we do via the `circleci` cli tool.
 +
 +          rm -fr ~/cassandra-dtest/upgrade_tests
 +          echo "***java tests***"
 +
 +          # get all of our unit test filenames
 +          set -eo pipefail && circleci tests glob 
"$HOME/cassandra/test/distributed/**/*.java" > /tmp/all_java_unit_tests.txt
 +
 +          # split up the unit tests into groups based on the number of 
containers we have
 +          set -eo pipefail && circleci tests split --split-by=timings 
--timings-type=filename --index=${CIRCLE_NODE_INDEX} 
--total=${CIRCLE_NODE_TOTAL} /tmp/all_java_unit_tests.txt > 
/tmp/java_tests_${CIRCLE_NODE_INDEX}.txt
 +          set -eo pipefail && cat /tmp/java_tests_${CIRCLE_NODE_INDEX}.txt | 
sed "s;^/home/cassandra/cassandra/test/distributed/;;g" | grep "Test\.java$" | 
grep -v upgrade > /tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt
 +          echo "** /tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt"
 +          cat /tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt
 +        no_output_timeout: 15m
 +    - 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: Run Unit Tests (testclasslist)
 +        command: |
 +          set -x
 +          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
 +          test_timeout=$(grep 'name="test.distributed.timeout"' build.xml | 
awk -F'"' '{print $4}' || true)
 +          if [ -z "$test_timeout" ]; then
 +            test_timeout=$(grep 'name="test.timeout"' build.xml | awk -F'"' 
'{print $4}')
 +          fi
 +          ant testclasslist -Dtest.timeout="$test_timeout" 
-Dtest.classlistfile=/tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt  
-Dtest.classlistprefix=distributed -Dtest.runners=1
 +        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
 +    - 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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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:
 +    docker:
 +    - image: 
apache/cassandra-testing-ubuntu2004-java11-w-dependencies:20210304
 +    resource_class: medium
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 1
 +    steps:
 +    - 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: Clone Cassandra Repository (via git)
 +        command: |
 +          git clone --single-branch --depth 1 --branch $CIRCLE_BRANCH 
git://github.com/$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME.git 
~/cassandra
 +    - run:
 +        name: Build Cassandra
 +        command: |
 +          export PATH=$JAVA_HOME/bin:$PATH
 +          cd ~/cassandra
 +          # Loop to prevent failure due to maven-ant-tasks not downloading a 
jar..
 +          for x in $(seq 1 3); do
 +              ${ANT_HOME}/bin/ant clean realclean jar
 +              RETURN="$?"
 +              if [ "${RETURN}" -eq "0" ]; then
 +                  break
 +              fi
 +          done
 +          # Exit, if we didn't build successfully
 +          if [ "${RETURN}" -ne "0" ]; then
 +              echo "Build failed with exit code: ${RETURN}"
 +              exit ${RETURN}
 +          fi
 +        no_output_timeout: 15m
 +    - run:
 +        name: Run eclipse-warnings
 +        command: |
 +          export PATH=$JAVA_HOME/bin:$PATH
 +          cd ~/cassandra
 +          ant eclipse-warnings
 +    - persist_to_workspace:
 +        root: /home/cassandra
 +        paths:
 +        - cassandra
 +        - .m2
 +    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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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_cqlsh-dtests-py3-no-vnodes:
 +    docker:
 +    - image: 
apache/cassandra-testing-ubuntu2004-java11-w-dependencies:20210304
 +    resource_class: large
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 50
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Clone Cassandra dtest Repository (via git)
 +        command: |
 +          git clone --single-branch --branch $DTEST_BRANCH --depth 1 
$DTEST_REPO ~/cassandra-dtest
 +    - run:
 +        name: Configure virtualenv and python Dependencies
 +        command: |
 +          # note, this should be super quick as all dependencies should be 
pre-installed in the docker image
 +          # if additional dependencies were added to requirmeents.txt and the 
docker image hasn't been updated
 +          # we'd have to install it here at runtime -- which will make things 
slow, so do yourself a favor and
 +          # rebuild the docker image! (it automatically pulls the latest 
requirements.txt on build)
 +          source ~/env3.6/bin/activate
 +          export PATH=$JAVA_HOME/bin:$PATH
 +          pip3 install --exists-action w --upgrade -r 
~/cassandra-dtest/requirements.txt
 +          pip3 uninstall -y cqlsh
 +          pip3 freeze
 +    - run:
 +        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 (j8_without_vnodes)***\"\nset -eo 
pipefail && ./run_dtests.py --skip-resource-i [...]
 +    - run:
 +        name: Run dtests (j8_without_vnodes)
 +        no_output_timeout: 15m
 +        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/python3.6' ]; then
 +            export CQLSH_PYTHON=/usr/bin/python3.6
 +          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`
 +          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
 +    - store_test_results:
 +        path: /tmp/results
 +    - store_artifacts:
 +        path: /tmp/dtest
 +        destination: dtest_j8_without_vnodes
 +    - store_artifacts:
 +        path: ~/cassandra-dtest/logs
 +        destination: dtest_j8_without_vnodes_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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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_cqlsh-dtests-py38-with-vnodes:
 +    docker:
 +    - image: 
apache/cassandra-testing-ubuntu2004-java11-w-dependencies:20210304
 +    resource_class: large
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 50
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Clone Cassandra dtest Repository (via git)
 +        command: |
 +          git clone --single-branch --branch $DTEST_BRANCH --depth 1 
$DTEST_REPO ~/cassandra-dtest
 +    - run:
 +        name: Configure virtualenv and python Dependencies
 +        command: |
 +          # note, this should be super quick as all dependencies should be 
pre-installed in the docker image
 +          # if additional dependencies were added to requirmeents.txt and the 
docker image hasn't been updated
 +          # we'd have to install it here at runtime -- which will make things 
slow, so do yourself a favor and
 +          # rebuild the docker image! (it automatically pulls the latest 
requirements.txt on build)
 +          source ~/env3.8/bin/activate
 +          export PATH=$JAVA_HOME/bin:$PATH
 +          pip3 install --exists-action w --upgrade -r 
~/cassandra-dtest/requirements.txt
 +          pip3 uninstall -y cqlsh
 +          pip3 freeze
 +    - run:
 +        name: Determine Tests to Run (j8_with_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.8/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\n\nif [ -n '' ]; then\n 
 export \nfi\n\necho \"***Collected DTests (j8_with_vnodes)***\"\nset -eo 
pipefail && ./run_dtests.py --use-vnodes --skip- [...]
 +    - run:
 +        name: Run dtests (j8_with_vnodes)
 +        no_output_timeout: 15m
 +        command: |
 +          echo "cat /tmp/split_dtest_tests_j8_with_vnodes_final.txt"
 +          cat /tmp/split_dtest_tests_j8_with_vnodes_final.txt
 +
 +          source ~/env3.8/bin/activate
 +          export PATH=$JAVA_HOME/bin:$PATH
 +          if [ -n 'CQLSH_PYTHON=/usr/bin/python3.8' ]; then
 +            export CQLSH_PYTHON=/usr/bin/python3.8
 +          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_with_vnodes_final.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
 +    - store_test_results:
 +        path: /tmp/results
 +    - store_artifacts:
 +        path: /tmp/dtest
 +        destination: dtest_j8_with_vnodes
 +    - store_artifacts:
 +        path: ~/cassandra-dtest/logs
 +        destination: dtest_j8_with_vnodes_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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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:
 +    docker:
 +    - image: 
apache/cassandra-testing-ubuntu2004-java11-w-dependencies:20210304
 +    resource_class: medium
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 1
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Run Unit Tests (long-test)
 +        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 long-test
 +        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
 +    - 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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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_system_keyspace_directory:
 +    docker:
 +    - image: 
apache/cassandra-testing-ubuntu2004-java11-w-dependencies:20210304
 +    resource_class: medium
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 25
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Determine unit Tests to Run
 +        command: |
 +          # reminder: this code (along with all the steps) is independently 
executed on every circle container
 +          # so the goal here is to get the circleci script to return the 
tests *this* container will run
 +          # which we do via the `circleci` cli tool.
 +
 +          rm -fr ~/cassandra-dtest/upgrade_tests
 +          echo "***java tests***"
 +
 +          # get all of our unit test filenames
 +          set -eo pipefail && circleci tests glob 
"$HOME/cassandra/test/unit/**/*.java" > /tmp/all_java_unit_tests.txt
 +
 +          # split up the unit tests into groups based on the number of 
containers we have
 +          set -eo pipefail && circleci tests split --split-by=timings 
--timings-type=filename --index=${CIRCLE_NODE_INDEX} 
--total=${CIRCLE_NODE_TOTAL} /tmp/all_java_unit_tests.txt > 
/tmp/java_tests_${CIRCLE_NODE_INDEX}.txt
 +          set -eo pipefail && cat /tmp/java_tests_${CIRCLE_NODE_INDEX}.txt | 
sed "s;^/home/cassandra/cassandra/test/unit/;;g" | grep "Test\.java$"  > 
/tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt
 +          echo "** /tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt"
 +          cat /tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt
 +        no_output_timeout: 15m
 +    - 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: Run Unit Tests (testclasslist-system-keyspace-directory)
 +        command: |
 +          set -x
 +          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
 +          test_timeout=$(grep 'name="test.unit.timeout"' build.xml | awk 
-F'"' '{print $4}' || true)
 +          if [ -z "$test_timeout" ]; then
 +            test_timeout=$(grep 'name="test.timeout"' build.xml | awk -F'"' 
'{print $4}')
 +          fi
 +          ant testclasslist-system-keyspace-directory 
-Dtest.timeout="$test_timeout" 
-Dtest.classlistfile=/tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt  
-Dtest.classlistprefix=unit
 +        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
 +    - 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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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_cqlshlib_tests:
 +    docker:
 +    - image: 
apache/cassandra-testing-ubuntu2004-java11-w-dependencies:20210304
 +    resource_class: medium
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 1
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Run cqlshlib Unit Tests
 +        command: |
 +          export PATH=$JAVA_HOME/bin:$PATH
 +          time mv ~/cassandra /tmp
 +          cd /tmp/cassandra/pylib
 +          ./cassandra-cqlsh-tests.sh ..
 +        no_output_timeout: 15m
 +    - store_test_results:
 +        path: /tmp/cassandra/pylib
 +    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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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:
 +    docker:
 +    - image: 
apache/cassandra-testing-ubuntu2004-java11-w-dependencies:20210304
 +    resource_class: medium
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 1
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Run Unit Tests (fqltool-test)
 +        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 fqltool-test
 +        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
 +    - 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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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:
 +    docker:
 +    - image: apache/cassandra-testing-ubuntu2004-java11:20210304
 +    resource_class: large
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 50
 +    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: Clone Cassandra dtest Repository (via git)
 +        command: |
 +          git clone --single-branch --branch $DTEST_BRANCH --depth 1 
$DTEST_REPO ~/cassandra-dtest
 +    - run:
 +        name: Configure virtualenv and python Dependencies
 +        command: |
 +          # note, this should be super quick as all dependencies should be 
pre-installed in the docker image
 +          # if additional dependencies were added to requirmeents.txt and the 
docker image hasn't been updated
 +          # we'd have to install it here at runtime -- which will make things 
slow, so do yourself a favor and
 +          # rebuild the docker image! (it automatically pulls the latest 
requirements.txt on build)
 +          source ~/env3.6/bin/activate
 +          export PATH=$JAVA_HOME/bin:$PATH
 +          pip3 install --exists-action w --upgrade -r 
~/cassandra-dtest/requirements.txt
 +          pip3 uninstall -y cqlsh
 +          pip3 freeze
 +    - run:
 +        name: Determine Tests to Run (j11_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- [...]
 +    - run:
 +        name: Run dtests (j11_without_vnodes)
 +        no_output_timeout: 15m
 +        command: "echo \"cat 
/tmp/split_dtest_tests_j11_without_vnodes_final.txt\"\ncat 
/tmp/split_dtest_tests_j11_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 n [...]
 +    - store_test_results:
 +        path: /tmp/results
 +    - store_artifacts:
 +        path: /tmp/dtest
 +        destination: dtest_j11_without_vnodes
 +    - store_artifacts:
 +        path: ~/cassandra-dtest/logs
 +        destination: dtest_j11_without_vnodes_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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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
 +  utests_compression:
 +    docker:
 +    - image: 
apache/cassandra-testing-ubuntu2004-java11-w-dependencies:20210304
 +    resource_class: medium
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 25
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Determine unit Tests to Run
 +        command: |
 +          # reminder: this code (along with all the steps) is independently 
executed on every circle container
 +          # so the goal here is to get the circleci script to return the 
tests *this* container will run
 +          # which we do via the `circleci` cli tool.
 +
 +          rm -fr ~/cassandra-dtest/upgrade_tests
 +          echo "***java tests***"
 +
 +          # get all of our unit test filenames
 +          set -eo pipefail && circleci tests glob 
"$HOME/cassandra/test/unit/**/*.java" > /tmp/all_java_unit_tests.txt
 +
 +          # split up the unit tests into groups based on the number of 
containers we have
 +          set -eo pipefail && circleci tests split --split-by=timings 
--timings-type=filename --index=${CIRCLE_NODE_INDEX} 
--total=${CIRCLE_NODE_TOTAL} /tmp/all_java_unit_tests.txt > 
/tmp/java_tests_${CIRCLE_NODE_INDEX}.txt
 +          set -eo pipefail && cat /tmp/java_tests_${CIRCLE_NODE_INDEX}.txt | 
sed "s;^/home/cassandra/cassandra/test/unit/;;g" | grep "Test\.java$"  > 
/tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt
 +          echo "** /tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt"
 +          cat /tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt
 +        no_output_timeout: 15m
 +    - 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: Run Unit Tests (testclasslist-compression)
 +        command: |
 +          set -x
 +          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
 +          test_timeout=$(grep 'name="test.unit.timeout"' build.xml | awk 
-F'"' '{print $4}' || true)
 +          if [ -z "$test_timeout" ]; then
 +            test_timeout=$(grep 'name="test.timeout"' build.xml | awk -F'"' 
'{print $4}')
 +          fi
 +          ant testclasslist-compression -Dtest.timeout="$test_timeout" 
-Dtest.classlistfile=/tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt  
-Dtest.classlistprefix=unit
 +        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
 +    - 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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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_dtest_jars_build:
 +    docker:
 +    - image: 
apache/cassandra-testing-ubuntu2004-java11-w-dependencies:20210304
 +    resource_class: medium
 +    working_directory: ~/
 +    shell: /bin/bash -eo pipefail -l
 +    parallelism: 1
 +    steps:
 +    - attach_workspace:
 +        at: /home/cassandra
 +    - run:
 +        name: Build Cassandra DTest jars
 +        command: |
 +          export PATH=$JAVA_HOME/bin:$PATH
 +          cd ~/cassandra
 +          mkdir ~/dtest_jars
 +          git remote add apache git://github.com/apache/cassandra.git
 +          for branch in cassandra-2.2 cassandra-3.0 cassandra-3.11 trunk; do
 +            # check out the correct cassandra version:
 +            git remote set-branches --add apache '$branch'
 +            git fetch --depth 1 apache $branch
 +            git checkout $branch
++            git clean -fd
 +            # Loop to prevent failure due to maven-ant-tasks not downloading 
a jar..
 +            for x in $(seq 1 3); do
 +                ${ANT_HOME}/bin/ant realclean; ${ANT_HOME}/bin/ant jar 
dtest-jar
 +                RETURN="$?"
 +                if [ "${RETURN}" -eq "0" ]; then
 +                    cp build/dtest*.jar ~/dtest_jars
 +                    break
 +                fi
 +            done
 +            # Exit, if we didn't build successfully
 +            if [ "${RETURN}" -ne "0" ]; then
 +                echo "Build failed with exit code: ${RETURN}"
 +                exit ${RETURN}
 +            fi
 +          done
 +          # and build the dtest-jar for the branch under test
++          ${ANT_HOME}/bin/ant realclean
 +          git checkout origin/$CIRCLE_BRANCH
++          git clean -fd
 +          for x in $(seq 1 3); do
 +              ${ANT_HOME}/bin/ant realclean; ${ANT_HOME}/bin/ant jar dtest-jar
 +              RETURN="$?"
 +              if [ "${RETURN}" -eq "0" ]; then
 +                  cp build/dtest*.jar ~/dtest_jars
 +                  break
 +              fi
 +          done
 +          # Exit, if we didn't build successfully
 +          if [ "${RETURN}" -ne "0" ]; then
 +              echo "Build failed with exit code: ${RETURN}"
 +              exit ${RETURN}
 +          fi
 +          ls -l ~/dtest_jars
 +        no_output_timeout: 15m
 +    - persist_to_workspace:
 +        root: /home/cassandra
 +        paths:
 +        - dtest_jars
 +    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: git://github.com/apache/cassandra-dtest.git
 +    - DTEST_BRANCH: trunk
 +    - 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:
 +  version: 2
 +  java8_build_and_run_tests:
 +    jobs:
 +    - j8_build
 +    - j8_unit_tests:
 +        requires:
 +        - j8_build
 +    - j8_jvm_dtests:
 +        requires:
 +        - j8_build
 +    - start_j11_unit_tests:
 +        type: approval
 +    - j11_unit_tests:
 +        requires:
 +        - start_j11_unit_tests
 +        - j8_build
 +    - j8_cqlshlib_tests:
 +        requires:
 +        - j8_build
 +    - start_utests_long:
 +        type: approval
 +    - utests_long:
 +        requires:
 +        - start_utests_long
 +        - j8_build
 +    - start_utests_compression:
 +        type: approval
 +    - utests_compression:
 +        requires:
 +        - start_utests_compression
 +        - j8_build
 +    - start_utests_stress:
 +        type: approval
 +    - utests_stress:
 +        requires:
 +        - start_utests_stress
 +        - j8_build
 +    - start_utests_fqltool:
 +        type: approval
 +    - utests_fqltool:
 +        requires:
 +        - start_utests_fqltool
 +        - j8_build
 +    - start_utests_system_keyspace_directory:
 +        type: approval
 +    - utests_system_keyspace_directory:
 +        requires:
 +        - start_utests_system_keyspace_directory
 +        - j8_build
 +    - start_jvm_upgrade_dtest:
 +        type: approval
 +    - j8_dtest_jars_build:
 +        requires:
 +        - j8_build
 +        - start_jvm_upgrade_dtest
 +    - j8_jvm_upgrade_dtests:
 +        requires:
 +        - j8_dtest_jars_build
 +    - start_j8_dtests:
 +        type: approval
 +    - j8_dtests-with-vnodes:
 +        requires:
 +        - start_j8_dtests
 +        - j8_build
 +    - j8_dtests-no-vnodes:
 +        requires:
 +        - start_j8_dtests
 +        - j8_build
 +    - start_j11_dtests:
 +        type: approval
 +    - j11_dtests-with-vnodes:
 +        requires:
 +        - start_j11_dtests
 +        - j8_build
 +    - j11_dtests-no-vnodes:
 +        requires:
 +        - start_j11_dtests
 +        - j8_build
 +    - start_upgrade_tests:
 +        type: approval
 +    - j8_upgradetests-no-vnodes:
 +        requires:
 +        - start_upgrade_tests
 +        - j8_build
 +    - start_j8_cqlsh_tests-with-vnodes:
 +        type: approval
 +    - j8_cqlsh-dtests-py2-with-vnodes:
 +        requires:
 +        - start_j8_cqlsh_tests-with-vnodes
 +        - j8_build
 +    - j8_cqlsh-dtests-py3-with-vnodes:
 +        requires:
 +        - start_j8_cqlsh_tests-with-vnodes
 +        - j8_build
 +    - j8_cqlsh-dtests-py38-with-vnodes:
 +        requires:
 +        - start_j8_cqlsh_tests-with-vnodes
 +        - j8_build
 +    - start_j8_cqlsh_tests-no-vnodes:
 +        type: approval
 +    - j8_cqlsh-dtests-py2-no-vnodes:
 +        requires:
 +        - start_j8_cqlsh_tests-no-vnodes
 +        - j8_build
 +    - j8_cqlsh-dtests-py3-no-vnodes:
 +        requires:
 +        - start_j8_cqlsh_tests-no-vnodes
 +        - j8_build
 +    - j8_cqlsh-dtests-py38-no-vnodes:
 +        requires:
 +        - start_j8_cqlsh_tests-no-vnodes
 +        - j8_build
 +    - start_j11_cqlsh_tests-with-vnodes:
 +        type: approval
 +    - j11_cqlsh-dtests-py2-with-vnodes:
 +        requires:
 +        - start_j11_cqlsh_tests-with-vnodes
 +        - j8_build
 +    - j11_cqlsh-dtests-py3-with-vnodes:
 +        requires:
 +        - start_j11_cqlsh_tests-with-vnodes
 +        - j8_build
 +    - j11_cqlsh-dtests-py38-with-vnodes:
 +        requires:
 +        - start_j11_cqlsh_tests-with-vnodes
 +        - j8_build
 +    - start_j11_cqlsh_tests-no-vnodes:
 +        type: approval
 +    - j11_cqlsh-dtests-py2-no-vnodes:
 +        requires:
 +        - start_j11_cqlsh_tests-no-vnodes
 +        - j8_build
 +    - j11_cqlsh-dtests-py3-no-vnodes:
 +        requires:
 +        - start_j11_cqlsh_tests-no-vnodes
 +        - j8_build
 +    - j11_cqlsh-dtests-py38-no-vnodes:
 +        requires:
 +        - start_j11_cqlsh_tests-no-vnodes
 +        - j8_build
 +  java11_build_and_run_tests:
 +    jobs:
 +    - j11_build
 +    - start_j11_unit_tests:
 +        type: approval
 +    - j11_unit_tests:
 +        requires:
 +        - start_j11_unit_tests
 +        - j11_build
 +    - j11_jvm_dtests:
 +        requires:
 +        - j11_build
 +    - j11_cqlshlib_tests:
 +        requires:
 +        - j11_build
 +    - start_j11_dtests:
 +        type: approval
 +    - j11_dtests-with-vnodes:
 +        requires:
 +        - start_j11_dtests
 +        - j11_build
 +    - j11_dtests-no-vnodes:
 +        requires:
 +        - start_j11_dtests
 +        - j11_build
 +    - start_j11_cqlsh_tests-with-vnodes:
 +        type: approval
 +    - j11_cqlsh-dtests-py2-with-vnodes:
 +        requires:
 +        - start_j11_cqlsh_tests-with-vnodes
 +        - j11_build
 +    - j11_cqlsh-dtests-py3-with-vnodes:
 +        requires:
 +        - start_j11_cqlsh_tests-with-vnodes
 +        - j11_build
 +    - j11_cqlsh-dtests-py38-with-vnodes:
 +        requires:
 +        - start_j11_cqlsh_tests-with-vnodes
 +        - j11_build
 +    - start_j11_cqlsh_tests-no-vnodes:
 +        type: approval
 +    - j11_cqlsh-dtests-py2-no-vnodes:
 +        requires:
 +        - start_j11_cqlsh_tests-no-vnodes
 +        - j11_build
 +    - j11_cqlsh-dtests-py3-no-vnodes:
 +        requires:
 +        - start_j11_cqlsh_tests-no-vnodes
 +        - j11_build
 +    - j11_cqlsh-dtests-py38-no-vnodes:
 +        requires:
 +        - start_j11_cqlsh_tests-no-vnodes
 +        - j11_build

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to