(cassandra) 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit c485440de32ef4f68f19ad359e885603bb0b1b53 Merge: 64b1ccf881 8a42556359 Author: Mick Semb Wever AuthorDate: Fri Jul 5 16:39:03 2024 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 * cassandra-2.2: Add termin-8-jdk as a valid jdk8 candidate in the debian package CHANGES.txt| 3 +++ debian/control | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --cc CHANGES.txt index d90593ddfc,c8bb183ef6..7ce9a42507 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,161 -1,9 +1,164 @@@ -2.2.20 +3.0.31 + * Upgrade OWASP to 10.0.0 (CASSANDRA-19738) ++Merged from 2.2: + * Add termin-8-jdk as a valid jdk8 candidate in the debian package (CASSANDRA-19752) - * Remove dh_python use from Debian packaging (CASSANDRA-18558) ++ + +3.0.30 + * Fix SCM URL link (CASSANDRA-19422) + * Backport CASSANDRA-16418 to 3.x (CASSANDRA-18824) + * Suppress CVE-2023-6378 (CASSANDRA-19142) + * Do not set RPC_READY to false on transports shutdown in order to not fail counter updates for deployments with coordinator and storage nodes with transports turned off (CASSANDRA-18935) + * Suppress CVE-2023-44487 (CASSANDRA-18943) + * Fix nodetool enable/disablebinary to correctly set rpc readiness in gossip (CASSANDRA-18935) + * Implement the logic in bin/stop-server (CASSANDRA-18838) + * Upgrade snappy-java to 1.1.10.4 (CASSANDRA-18878) + * Add cqlshrc.sample and credentials.sample into Debian package (CASSANDRA-18818) + * Refactor validation logic in StorageService.rebuild (CASSANDRA-18803) + * Make alternation of a user type validate the same way as creation of a user type does (CASSANDRA-18585) + * Backport of CASSANDRA-16905 Further restrict schema column drop/recreate conversions (CASSANDRA-18760) + * CQLSH emits a warning when the server version doesn't match (CASSANDRA-18745) + * Fix missing speculative retries in tablestats (CASSANDRA-18767) + * Fix Requires for Java for RPM package (CASSANDRA-18751) + * Fix CQLSH online help topic link (CASSANDRA-17534) + * Remove unused suppressions (CASSANDRA-18724) + * Upgrade OWASP to 8.3.1 (CASSANDRA-18650) + * Suppress CVE-2023-34462 (CASSANDRA-18649) + * Add support for AWS Ec2 IMDSv2 (CASSANDRA-16555) + * Suppress CVE-2023-35116 (CASSANDRA-18630) + * Pass taskId from CompactionTask to system.compaction_history (CASSANDRA-12183) + * Suppress CVE-2023-34455, CVE-2023-34454, CVE-2023-34453 (CASSANDRA-18608) + * Backport CASSANDRA-10508: Remove hard-coded SSL cipher suites (CASSANDRA-18575) + * Suppress CVE-2023-2976 (CASSANDRA-18562) + * Remove dh_python use in Debian packaging (CASSANDRA-18558) + * Pass down all contact points to driver for cassandra-stress (CASSANDRA-18025) + * Validate the existence of a datacenter in nodetool rebuild (CASSANDRA-14319) + + +3.0.29 + * Suppress CVE-2023-2251 (CASSANDRA-18497) + * Do not remove SSTables when cause of FSReadError is OutOfMemoryError while using best_effort disk failure policy (CASSANDRA-18336) + * Do not remove truncated_at entry in system.local while dropping an index (CASSANDRA-18105) + * Save host id to system.local and flush immediately after startup (CASSANDRA-18153) + * Fix RepairJob unnecessarily reporting cancellation error (CASSANDRA-17701) + * Fix the ordering of sstables when running sstableupgrade tool (CASSANDRA-18143) + * Fix default file system error handler for disk_failure_policy die (CASSANDRA-18294) + * Introduce check for names of test classes (CASSANDRA-17964) + * Suppress CVE-2022-41915 (CASSANDRA-18147) + * Suppress CVE-2021-1471, CVE-2021-3064, CVE-2021-4235 (CASSANDRA-18149) + * Switch to snakeyaml's SafeConstructor (CASSANDRA-18150) + * Expand build.dir property in rat targets (CASSANDRA-18183) + * Suppress CVE-2022-41881 (CASSANDRA-18148) + * Default role is created with zero timestamp (CASSANDRA-12525) + * Suppress CVE-2021-37533 (CASSANDRA-18146) + * Add to the IntelliJ Git Window issue navigation links to Cassandra's Jira (CASSANDRA-18126) + * Avoid anticompaction mixing data from two different time windows with TWCS (CASSANDRA-17970) + * Do not spam the logs with MigrationCoordinator not being able to pull schemas (CASSANDRA-18096) + * Fix incorrect resource name in LIST PERMISSION output (CASSANDRA-17848) + * Suppress CVE-2022-41854 and similar (CASSANDRA-18083) + * Fix running Ant rat targets without git (CASSANDRA-17974) + * Fix intermittent failure in nodetool toppartitions (CASSANDRA-17254) + + +3.0.28 + * Harden JMX by resolving beanshooter issues (CASSANDRA-17921) + * Suppress CVE-2019-2684 (CASSANDRA-17965) + * Fix auto-completing "WITH" when creating a materialized view (CASSANDRA-17879) + * Fix scrubber falling into infinite loop when the last partition is broken (CASSANDRA-17862) + * Improve libjemalloc resolutio
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit f72df5449a996776c14b21952e69648e4843d980 Merge: 527c0cb3a0 aa671e8f07 Author: Brandon Williams AuthorDate: Thu Jun 1 15:29:53 2023 -0500 Merge branch 'cassandra-2.2' into cassandra-3.0 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit e0331f631e419d82977d94b561cac2411860f279 Merge: 116ce3bc05 bba519501c Author: Brandon Williams AuthorDate: Thu Nov 3 08:07:29 2022 -0500 Merge branch 'cassandra-2.2' into cassandra-3.0 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 87bdbb7182af2db4b868f1001cf10f1d0af763d0 Merge: ba0555e965 e163146fd9 Author: Mick Semb Wever AuthorDate: Sun Jun 19 16:38:34 2022 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 .jenkins/Jenkinsfile | 36 1 file changed, 24 insertions(+), 12 deletions(-) diff --cc .jenkins/Jenkinsfile index ca4a0c7f24,2ecc1a3921..4ea5de3e8a --- a/.jenkins/Jenkinsfile +++ b/.jenkins/Jenkinsfile @@@ -150,36 -154,11 +154,37 @@@ pipeline } } } + stage('cqlsh') { +steps { + script { +def attempt = 1 - retry(2) { ++while (attempt <=2) { + if (attempt > 1) { +sleep(60 * attempt) + } + attempt = attempt + 1 + cqlsh = build job: "${env.JOB_NAME}-cqlsh-tests", propagate: false ++ if (cqlsh.result != 'FAILURE') break +} +if (cqlsh.result != 'SUCCESS') unstable('cqlsh failures') +if (cqlsh.result == 'FAILURE') currentBuild.result='FAILURE' + } +} +post { + always { + warnError('missing test xml files') { + script { + copyTestResults('cqlsh-tests', cqlsh.getNumber()) + } + } + } +} + } +} } -} -stage('Distributed Test') { + stage('Distributed Test') { parallel { - stage('JVM DTests') { + stage('jvm-dtest') { steps { script { def attempt = 1 @@@ -204,31 -184,6 +210,32 @@@ } } } + stage('jvm-dtest-upgrade') { +steps { + script { +def attempt = 1 - retry(2) { ++while (attempt <=2) { + if (attempt > 1) { +sleep(60 * attempt) + } + attempt = attempt + 1 + jvm_dtest_upgrade = build job: "${env.JOB_NAME}-jvm-dtest-upgrade", propagate: false ++ if (jvm_dtest_upgrade.result != 'FAILURE') break +} +if (jvm_dtest_upgrade.result != 'SUCCESS') unstable('jvm-dtest-upgrade failures') +if (jvm_dtest_upgrade.result == 'FAILURE') currentBuild.result='FAILURE' + } +} +post { + always { + warnError('missing test xml files') { + script { + copyTestResults('jvm-dtest-upgrade', jvm_dtest_upgrade.getNumber()) + } + } + } +} + } stage('dtest') { steps { script { @@@ -313,10 -271,11 +323,11 @@@ sleep(60 * attempt) } attempt = attempt + 1 - dtest_offheap = build job: "${env.JOB_NAME}-dtest-offheap", propagate: false - if (dtest_offheap.result != 'FAILURE') break + dtest_large_novnode = build job: "${env.JOB_NAME}-dtest-large-novnode", propagate: false ++ if (dtest_large_novnode.result != 'FAILURE') break } -if (dtest_offheap.result != 'SUCCESS') unstable('dtest-offheap failures') -if (dtest_offheap.result == 'FAILURE') currentBuild.result='FAILURE' +if (dtest_large_novnode.result != 'SUCCESS') unstable('dtest-large-novnode failures') +if (dtest_large_novnode.result == 'FAILURE') currentBuild.result='FAILURE' } } post { @@@ -329,31 -288,6 +340,32 @@@ } } } + stage('dtest-upgrade') { +steps { + script { +def attempt = 1 - retry(2) { ++while (attempt <=2) { + if (attempt > 1) { +sleep(60 * attempt) + } + attempt = attempt + 1 + dtest_upgrade = build job: "${env.JOB_NAME}-dtest-upgrade", propagate: false ++ if (dtest_upgrade.result != 'FAILURE') break +} +if (dtest_upgrade.result != 'SUCCESS') unstable('dtest failures') +if (dtest_upgrade.result == 'FAILURE') currentBuild.result='FAILURE' + } +} +post { + always { +
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 2b533b28c263fce199ae6ab8ed3739d0be7f851f Merge: fb8bf30c6d 136c8c0f65 Author: Mick Semb Wever AuthorDate: Sat May 28 13:52:34 2022 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 .jenkins/Jenkinsfile | 208 +-- 1 file changed, 153 insertions(+), 55 deletions(-) diff --cc .jenkins/Jenkinsfile index 8df18ec7ce,884c1ffbfe..ca4a0c7f24 --- a/.jenkins/Jenkinsfile +++ b/.jenkins/Jenkinsfile @@@ -28,12 -28,24 +28,24 @@@ pipeline stages { stage('Init') { steps { --cleanWs() -script { -currentBuild.result='SUCCESS' -} ++ cleanWs() ++ script { ++ currentBuild.result='SUCCESS' ++ } } } stage('Build') { steps { - build job: "${env.JOB_NAME}-artifacts" + script { + def attempt = 1 + retry(2) { + if (attempt > 1) { + sleep(60 * attempt) + } + attempt = attempt + 1 -build job: "${env.JOB_NAME}-artifacts" ++ build job: "${env.JOB_NAME}-artifacts" + } + } } } stage('Test') { @@@ -110,30 -150,23 +150,48 @@@ } } } - stage('burn') { ++ stage('cqlsh') { +steps { + script { - burn = build job: "${env.JOB_NAME}-test-burn", propagate: false - if (burn.result != 'SUCCESS') unstable('burn test failures') - if (burn.result == 'FAILURE') currentBuild.result='FAILURE' ++def attempt = 1 ++retry(2) { ++ if (attempt > 1) { ++sleep(60 * attempt) ++ } ++ attempt = attempt + 1 ++ cqlsh = build job: "${env.JOB_NAME}-cqlsh-tests", propagate: false ++} ++if (cqlsh.result != 'SUCCESS') unstable('cqlsh failures') ++if (cqlsh.result == 'FAILURE') currentBuild.result='FAILURE' + } +} +post { + always { + warnError('missing test xml files') { + script { - copyTestResults('test-burn', burn.getNumber()) ++ copyTestResults('cqlsh-tests', cqlsh.getNumber()) + } + } + } +} + } - stage('compression') { ++} + } -} -stage('Distributed Test') { ++ stage('Distributed Test') { + parallel { - stage('JVM DTests') { ++ stage('jvm-dtest') { steps { script { - compression = build job: "${env.JOB_NAME}-test-compression", propagate: false - if (compression.result != 'SUCCESS') unstable('compression failures') - if (compression.result == 'FAILURE') currentBuild.result='FAILURE' + def attempt = 1 + retry(2) { + if (attempt > 1) { + sleep(60 * attempt) + } + attempt = attempt + 1 + jvm_dtest = build job: "${env.JOB_NAME}-jvm-dtest", propagate: false + } + if (jvm_dtest.result != 'SUCCESS') unstable('jvm-dtest failures') + if (jvm_dtest.result == 'FAILURE') currentBuild.result='FAILURE' } } post { @@@ -146,28 -179,6 +204,31 @@@ } } } - stage('cqlsh') { ++ stage('jvm-dtest-upgrade') { +steps { + script { - cqlsh = build job: "${env.JOB_NAME}-cqlsh-tests", propagate: false - if (cqlsh.result != 'SUCCESS') unstable('cqlsh failures') - if (cqlsh.result == 'FAILURE') currentBuild.result='FAILURE' ++def attempt = 1 ++retry(2) { ++ if (attempt > 1) { ++sleep(60 * attempt) ++ } ++ attempt = attempt + 1 ++ jvm_dtest_upgrade = build job: "${env.JOB_NAME}-jvm-dtest-upgrade", propagate: false +} ++if (jvm_dtest_upgrade.result != 'SUCCESS') unstable('jvm-dtest-upgrade failures') ++if (jvm_dtest_upgrade.result == 'FAILURE') currentBuild.result='FAILURE' + } - post { - always { - warnError('missing test xml files') { - script { -
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 615372f9087a622e20dfa25159d366e4fc8451f6 Merge: 67eb22e 2e547df Author: Brandon Williams AuthorDate: Fri Sep 3 13:46:52 2021 -0500 Merge branch 'cassandra-2.2' into cassandra-3.0 CHANGES.txt | 2 ++ redhat/cassandra.spec | 5 + 2 files changed, 7 insertions(+) diff --cc CHANGES.txt index 666dd92,a380853..e96e1fa --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,46 -1,7 +1,48 @@@ -2.2.20 +3.0.26: + * Fix materialized view schema backup as table (CASSANDRA-12734) + * Avoid signaling DigestResolver until the minimum number of responses are guaranteed to be visible (CASSANDRA-16883) + * Fix secondary indexes on primary key columns skipping some writes (CASSANDRA-16868) + * Fix incorrect error message in LegacyLayout (CASSANDRA-15136) + * Use JMX to validate nodetool --jobs parameter (CASSANDRA-16104) + * Handle properly UnsatisfiedLinkError in NativeLibrary#getProcessID() (CASSANDRA-16578) + * Remove mutation data from error log message (CASSANDRA-16817) ++Merged from 2.2: + * Add python2 location to RPMs (CASSANDRA-16822) + + +3.0.25: + * Binary releases no longer bundle the apidocs (javadoc) (CASSANDRA-16557) + * Migrate dependency handling from maven-ant-tasks to resolver-ant-tasks, removing lib/ directory from version control (CASSANDRA-16557) + * Don't allow seeds to replace without using unsafe (CASSANDRA-14463) + * Calculate time remaining correctly for all compaction types in compactionstats (CASSANDRA-14701) + * Receipt of gossip shutdown notification updates TokenMetadata (CASSANDRA-16796) + * Count bloom filter misses correctly (CASSANDRA-12922) + * Reject token() in MV WHERE clause (CASSANDRA-13464) + * Ensure java executable is on the path (CASSANDRA-14325) + * Make speculative retry parameter case-insensitive for backward compatibility with 2.1 (CASSANDRA-16467) + * Push digest mismatch exceptions to trace (CASSANDRA-14900) + * Support long names in nodetool output (CASSANDRA-14162) + * Handle correctly the exceptions thrown by custom QueryHandler constructors (CASSANDRA-16703) + * Adding columns via ALTER TABLE can generate corrupt sstables (CASSANDRA-16735) + * Add flag to disable ALTER...DROP COMPACT STORAGE statements (CASSANDRA-16733) + * Clean transaction log leftovers at the beginning of sstablelevelreset and sstableofflinerelevel (CASSANDRA-12519) * CQL shell should prefer newer TLS version by default (CASSANDRA-16695) - * Fix Debian init start/stop (CASSANDRA-15770) + * Ensure that existing empty rows are properly returned (CASSANDRA-16671) + * Invalidate prepared statements on DROP COMPACT (CASSANDRA-16712) + * Failure to execute queries should emit a KPI other than read timeout/unavailable so it can be alerted/tracked (CASSANDRA-16581) + * Don't wait on schema versions from replacement target when replacing (CASSANDRA-16692) + * StandaloneVerifier does not fail when unable to verify SSTables, it only fails if Corruption is thrown (CASSANDRA-16683) + * Fix bloom filter false ratio calculation by including true negatives (CASSANDRA-15834) + * Prevent loss of commit log data when moving sstables between nodes (CASSANDRA-16619) + * Fix materialized view builders inserting truncated data (CASSANDRA-16567) + * Don't wait for schema migrations from removed nodes (CASSANDRA-16577) + * Scheduled (delayed) schema pull tasks should not run after MIGRATION stage shutdown during decommission (CASSANDRA-16495) + * Ignore trailing zeros in hint files (CASSANDRA-16523) + * Refuse DROP COMPACT STORAGE if some 2.x sstables are in use (CASSANDRA-15897) + * Fix ColumnFilter::toString not returning a valid CQL fragment (CASSANDRA-16483) + * Fix ColumnFilter behaviour to prevent digest mitmatches during upgrades (CASSANDRA-16415) + * Avoid pushing schema mutations when setting up distributed system keyspaces locally (CASSANDRA-16387) +Merged from 2.2: * Remove ant targets list-jvm-dtests and ant list-jvm-upgrade-dtests (CASSANDRA-16519) * Fix centos packaging for arm64, >=4.0 rpm's now require python3 (CASSANDRA-16477) * Make TokenMetadata's ring version increments atomic (CASSANDRA-16286) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 0a84dda36a2ec971681f0002b45a00c3432a8024 Merge: eadb171 b3f9921 Author: Mick Semb Wever AuthorDate: Mon Jul 12 22:14:13 2021 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 build.xml | 2 +- .../cassandra/distributed/impl/InstanceConfig.java | 14 ++-- .../upgrade/CompactStorage2to3UpgradeTest.java | 23 +++ .../upgrade/DropCompactStorageTest.java| 7 +- .../upgrade/MigrateDropColumnsTest.java| 3 +- .../upgrade/MixedModeRangeTombstoneTest.java | 2 +- .../upgrade/MixedModeReadRepairTest.java | 4 +- .../cassandra/distributed/upgrade/PagingTest.java | 2 +- .../cassandra/distributed/upgrade/UpgradeTest.java | 27 +--- .../distributed/upgrade/UpgradeTestBase.java | 77 +++--- 10 files changed, 83 insertions(+), 78 deletions(-) diff --cc build.xml index 8dc7dfd,7d1cc58..87851b8 --- a/build.xml +++ b/build.xml @@@ -392,9 -393,8 +392,9 @@@ - + + diff --cc test/distributed/org/apache/cassandra/distributed/impl/InstanceConfig.java index dfd842d,f4ef623..b97cb75 --- a/test/distributed/org/apache/cassandra/distributed/impl/InstanceConfig.java +++ b/test/distributed/org/apache/cassandra/distributed/impl/InstanceConfig.java @@@ -33,7 -32,7 +32,6 @@@ import com.vdurmont.semver4j.Semver import org.slf4j.Logger; import org.slf4j.LoggerFactory; --import org.apache.cassandra.config.YamlConfigurationLoader; import org.apache.cassandra.distributed.api.Feature; import org.apache.cassandra.distributed.api.IInstanceConfig; import org.apache.cassandra.distributed.shared.NetworkTopology; diff --cc test/distributed/org/apache/cassandra/distributed/upgrade/CompactStorage2to3UpgradeTest.java index 37e8bb4,000..9ea54c3 mode 100644,00..100644 --- a/test/distributed/org/apache/cassandra/distributed/upgrade/CompactStorage2to3UpgradeTest.java +++ b/test/distributed/org/apache/cassandra/distributed/upgrade/CompactStorage2to3UpgradeTest.java @@@ -1,363 -1,0 +1,364 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.cassandra.distributed.upgrade; + +import java.util.HashMap; +import java.util.Map; + +import org.junit.Test; + +import org.apache.cassandra.distributed.UpgradeableCluster; +import org.apache.cassandra.distributed.api.ConsistencyLevel; +import org.apache.cassandra.distributed.api.ICoordinator; +import org.apache.cassandra.distributed.api.IMessageFilters; +import org.apache.cassandra.distributed.api.NodeToolResult; +import org.apache.cassandra.distributed.shared.Versions; + +import static org.apache.cassandra.distributed.shared.AssertUtils.assertRows; +import static org.apache.cassandra.distributed.shared.AssertUtils.row; +import static org.junit.Assert.assertEquals; +import static org.apache.cassandra.distributed.api.Feature.GOSSIP; +import static org.apache.cassandra.distributed.api.Feature.NATIVE_PROTOCOL; +import static org.apache.cassandra.distributed.api.Feature.NETWORK; + + +public class CompactStorage2to3UpgradeTest extends UpgradeTestBase +{ +@Test +public void multiColumn() throws Throwable +{ +new TestCase() - .upgrade(Versions.Major.v22, Versions.Major.v30) ++.upgradesFrom(v22) +.setup(cluster -> { +assert cluster.size() == 3; +int rf = cluster.size() - 1; +assert rf == 2; +cluster.schemaChange("CREATE KEYSPACE ks WITH replication = {'class': 'SimpleStrategy', 'replication_factor': " + (cluster.size() - 1) + "};"); +cluster.schemaChange("CREATE TABLE ks.tbl (pk int, v1 int, v2 text, PRIMARY KEY (pk)) WITH COMPACT STORAGE"); +ICoordinator coordinator = cluster.coordinator(1); +// these shouldn't be replicated by the 3rd node +coordinator.execute("INSERT INTO ks.tbl (pk, v1, v2)
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. samt pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 4763d5625ad225beb3d465c35ea1b9b41ac87009 Merge: ad2f41e 26163bb Author: Sam Tunnicliffe AuthorDate: Tue Apr 27 11:56:07 2021 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 .build/build-rat.xml | 18 +- build.xml| 4 +--- 2 files changed, 18 insertions(+), 4 deletions(-) diff --cc build.xml index 89e6937,064d16d..6d533eb --- a/build.xml +++ b/build.xml @@@ -1,4 -1,4 +1,3 @@@ --
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit f804657ef0e3d5938021768a95214aa68bd764c8 Merge: 34267c2 ad16aa1 Author: Mick Semb Wever AuthorDate: Fri Apr 23 14:58:23 2021 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 .build/build-rat.xml | 5 - .gitignore | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 50a97a0d766cf4949580ccf5c98f3697482ba93c Merge: 7a6a709 53b0661 Author: Mick Semb Wever AuthorDate: Mon Apr 19 17:27:59 2021 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 .build/build-rat.xml | 94 ++ .circleci/config-2_1.yml | 18 + .circleci/config.yml | 18 + .circleci/generate.sh | 17 .circleci/readme.md| 20 + .gitignore | 9 ++- .rat-excludes | 33 CONTRIBUTING.md| 20 + build.xml | 90 + debian/cassandra.in.sh | 17 doc/cql3/CQL.textile | 20 + doc/native_protocol_v3.spec| 17 doc/native_protocol_v4.spec| 17 pylib/cqlshlib/test/test_keyspace_init.cql | 18 + redhat/README.md | 20 + redhat/cassandra.in.sh | 17 redhat/cassandra.spec | 18 + test/conf/commitlog_compression.yaml | 18 + test/data/bloom-filter/ka/foo.cql | 18 + test/resources/byteman/stream_failure.btm | 17 .../org/apache/cassandra/stress/WorkManager.java | 17 21 files changed, 411 insertions(+), 122 deletions(-) diff --cc .circleci/config.yml index 43e0f34,acfd6c9..d5fc879 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@@ -1,100 -1,26 +1,118 @@@ + # + # Licensed to the Apache Software Foundation (ASF) under one + # or more contributor license agreements. See the NOTICE file + # distributed with this work for additional information + # regarding copyright ownership. The ASF licenses this file + # to you under the Apache License, Version 2.0 (the + # "License"); you may not use this file except in compliance + # with the License. You may obtain a copy of the License at + # + # http://www.apache.org/licenses/LICENSE-2.0 + # + # Unless required by applicable law or agreed to in writing, software + # distributed under the License is distributed on an "AS IS" BASIS, + # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + # See the License for the specific language governing permissions and + # limitations under the License. + # + version: 2 jobs: + j8_jvm_upgrade_dtests: +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: 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
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 7a6a7099dc9dbbb9054787f431a45461a20cfaa5 Merge: 5f1b538 99b6095 Author: Brandon Williams AuthorDate: Fri Apr 16 08:22:58 2021 -0500 Merge branch 'cassandra-2.2' into cassandra-3.0 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 5f1b538ef55dcebb0fa4ac0ad1728c38469cfae0 Merge: 2a6059e c52f50f Author: Mick Semb Wever AuthorDate: Fri Apr 16 00:40:53 2021 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 build.xml | 66 -- .../cassandra/OffsetAwareConfigurationLoader.java | 64 - 2 files changed, 49 insertions(+), 81 deletions(-) diff --cc build.xml index 9c778ae,95f85c0..c6603a0 --- a/build.xml +++ b/build.xml @@@ -1236,11 -1317,10 +1273,10 @@@ - - + - - + + + + + + - @@@ -1295,10 -1369,10 +1330,10 @@@ - + - - - + + + @@@ -1439,11 -1509,11 +1472,11 @@@ - + - - + + @@@ -1684,10 -1797,10 +1716,10 @@@ - + - - + + @@@ -1714,10 -1827,23 +1746,10 @@@ - - + + - - - - - - - - - - - - - - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 2a6059ef4ae0bcf491aa81a3eab9325282617381 Merge: 4164313 1185593 Author: Mick Semb Wever AuthorDate: Thu Apr 15 12:58:59 2021 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 build.xml | 139 -- 1 file changed, 18 insertions(+), 121 deletions(-) diff --cc build.xml index ad40e59,cbe45ba..9c778ae --- a/build.xml +++ b/build.xml @@@ -1355,18 -1394,19 +1354,16 @@@ - - - + - + - - + - @@@ -1383,11 -1422,10 +1379,10 @@@ - - + + - @@@ -1444,11 -1476,11 +1439,11 @@@ - + - - + + @@@ -1687,111 -1763,12 +1682,12 @@@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - + + @@@ -1817,10 -1795,23 +1714,10 @@@ - - + + - - - - - - - - - - - - - - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 35114d5fccf2285cbaccf316a5a9b742f82cd609 Merge: 1ee18ac cd4aa9f Author: Mick Semb Wever AuthorDate: Sat Mar 27 00:30:34 2021 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 pylib/cassandra-cqlsh-tests.sh | 16 .../apache/cassandra/stress/util/TimingIntervals.java | 18 ++ 2 files changed, 34 insertions(+) diff --cc pylib/cassandra-cqlsh-tests.sh index 8174636,000..a219485 mode 100755,00..100755 --- a/pylib/cassandra-cqlsh-tests.sh +++ b/pylib/cassandra-cqlsh-tests.sh @@@ -1,107 -1,0 +1,123 @@@ +#!/bin/bash -x ++# ++# Licensed to the Apache Software Foundation (ASF) under one ++# or more contributor license agreements. See the NOTICE file ++# distributed with this work for additional information ++# regarding copyright ownership. The ASF licenses this file ++# to you under the Apache License, Version 2.0 (the ++# "License"); you may not use this file except in compliance ++# with the License. You may obtain a copy of the License at ++# ++# http://www.apache.org/licenses/LICENSE-2.0 ++# ++# Unless required by applicable law or agreed to in writing, software ++# distributed under the License is distributed on an "AS IS" BASIS, ++# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++# See the License for the specific language governing permissions and ++# limitations under the License. + + +# +# Prep +# + + +WORKSPACE=$1 + +if [ "${WORKSPACE}" = "" ]; then +echo "Specify Cassandra source directory" +exit +fi + +export PYTHONIOENCODING="utf-8" +export PYTHONUNBUFFERED=true +export CASS_DRIVER_NO_EXTENSIONS=true +export CASS_DRIVER_NO_CYTHON=true +export CCM_MAX_HEAP_SIZE="2048M" +export CCM_HEAP_NEWSIZE="200M" +export CCM_CONFIG_DIR=${WORKSPACE}/.ccm +export NUM_TOKENS="32" +export CASSANDRA_DIR=${WORKSPACE} +export TESTSUITE_NAME="cqlshlib.python2.jdk8" + +# Loop to prevent failure due to maven-ant-tasks not downloading a jar.. +for x in $(seq 1 3); do +ant -buildfile ${CASSANDRA_DIR}/build.xml 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 + +# Set up venv with dtest dependencies +set -e # enable immediate exit if venv setup fails +virtualenv --python=python2 --no-site-packages venv +source venv/bin/activate +pip install -r ${CASSANDRA_DIR}/pylib/requirements.txt +pip freeze + +if [ "$cython" = "yes" ]; then +TESTSUITE_NAME="${TESTSUITE_NAME}.cython" +pip install "Cython>=0.20,<0.25" +cd pylib/; python setup.py build_ext --inplace +cd ${WORKSPACE} +else +TESTSUITE_NAME="${TESTSUITE_NAME}.no_cython" +fi + + +# +# Main +# + + +ccm remove test || true # in case an old ccm cluster is left behind +ccm create test -n 1 --install-dir=${CASSANDRA_DIR} +ccm updateconf "enable_user_defined_functions: true" + +version_from_build=$(ccm node1 versionfrombuild) +export pre_or_post_cdc=$(python -c """from distutils.version import LooseVersion +print \"postcdc\" if LooseVersion(\"${version_from_build}\") >= \"3.8\" else \"precdc\" +""") +case "${pre_or_post_cdc}" in +postcdc) +ccm updateconf "cdc_enabled: true" +;; +precdc) +: +;; +*) +echo "${pre_or_post_cdc}" is an invalid value. +exit 1 +;; +esac + +ccm start --wait-for-binary-proto + +cd ${CASSANDRA_DIR}/pylib/cqlshlib/ + +set +e # disable immediate exit from this point +nosetests + +ccm remove +# hack around --xunit-prefix-with-testsuite-name not being available in nose 1.3.7 +sed -i "s/testsuite name=\"nosetests\"/testsuite name=\"${TESTSUITE_NAME}\"/g" nosetests.xml +sed -i "s/testcase classname=\"cqlshlib./testcase classname=\"${TESTSUITE_NAME}./g" nosetests.xml +mv nosetests.xml ${WORKSPACE}/cqlshlib.xml + + +# +# Clean +# + + +# /virtualenv +deactivate + +# Exit cleanly for usable "Unstable" status +exit 0 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 1ee18ac22d60c6608456f6cdac23eb37dd1ed5e6 Merge: 32394e9 730e89e Author: Mick Semb Wever AuthorDate: Fri Mar 19 17:36:39 2021 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 CHANGES.txt| 1 + build.xml | 46 -- .../cassandra/distributed/test/TestLocator.java| 99 -- 3 files changed, 1 insertion(+), 145 deletions(-) diff --cc CHANGES.txt index 8cf7f32,5199140..c425c25 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,32 -1,7 +1,33 @@@ -2.2.20 +3.0.25: + * Ignore trailing zeros in hint files (CASSANDRA-16523) + * Refuse DROP COMPACT STORAGE if some 2.x sstables are in use (CASSANDRA-15897) + * Fix ColumnFilter::toString not returning a valid CQL fragment (CASSANDRA-16483) + * Fix ColumnFilter behaviour to prevent digest mitmatches during upgrades (CASSANDRA-16415) + * Avoid pushing schema mutations when setting up distributed system keyspaces locally (CASSANDRA-16387) +Merged from 2.2: + * Remove ant targets list-jvm-dtests and ant list-jvm-upgrade-dtests (CASSANDRA-16519) * Fix centos packaging for arm64, >=4.0 rpm's now require python3 (CASSANDRA-16477) * Make TokenMetadata's ring version increments atomic (CASSANDRA-16286) + + +3.0.24: + * Prevent unbounded number of pending flushing tasks; Add PendingFlushTasks metric (CASSANDRA-16261) + * Improve empty hint file handling during startup (CASSANDRA-16162) + * Allow empty string in collections with COPY FROM in cqlsh (CASSANDRA-16372) + * Fix skipping on pre-3.0 created compact storage sstables due to missing primary key liveness (CASSANDRA-16226) + * Fix DecimalDeserializer#toString OOM (CASSANDRA-14925) + * Extend the exclusion of replica filtering protection to other indices instead of just SASI (CASSANDRA-16311) + * Synchronize transaction logs for JBOD (CASSANDRA-16225) + * Fix the counting of cells per partition (CASSANDRA-16259) + * Fix serial read/non-applying CAS linearizability (CASSANDRA-12126) + * Avoid potential NPE in JVMStabilityInspector (CASSANDRA-16294) + * Improved check of num_tokens against the length of initial_token (CASSANDRA-14477) + * Fix a race condition on ColumnFamilyStore and TableMetrics (CASSANDRA-16228) + * Remove the SEPExecutor blocking behavior (CASSANDRA-16186) + * Wait for schema agreement when bootstrapping (CASSANDRA-15158) + * Fix invalid cell value skipping when reading from disk (CASSANDRA-16223) + * Prevent invoking enable/disable gossip when not in NORMAL (CASSANDRA-16146) +Merged from 2.2: * Remove OpenJDK log warning (CASSANDRA-15563) * Fix the histogram merge of the table metrics (CASSANDRA-16259) diff --cc build.xml index 4f1f32e,1b54943..ad40e59 --- a/build.xml +++ b/build.xml @@@ -64,16 -65,16 +64,13 @@@ - - - - - + - - - + @@@ -1816,35 -1846,27 +1813,14 @@@ - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - @@@ -1864,38 -1886,6 +1840,16 @@@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 81e472571a6a6df935986b45b1575a0b8415172d Merge: cf0be97 a7b71eb Author: Mick Semb Wever AuthorDate: Wed Mar 10 10:27:16 2021 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 CHANGES.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --cc CHANGES.txt index e015772,7d1d27b..567764e --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,29 -1,6 +1,29 @@@ -2.2.20 +3.0.25: + * Fix ColumnFilter behaviour to prevent digest mitmatches during upgrades (CASSANDRA-16415) + * Avoid pushing schema mutations when setting up distributed system keyspaces locally (CASSANDRA-16387) +Merged from 2.2: - * Fix centos packaging for arm64, >=3.0 rpm's now require python3 (CASSANDRA-16477) + * Fix centos packaging for arm64, >=4.0 rpm's now require python3 (CASSANDRA-16477) * Make TokenMetadata's ring version increments atomic (CASSANDRA-16286) + + +3.0.24: + * Prevent unbounded number of pending flushing tasks; Add PendingFlushTasks metric (CASSANDRA-16261) + * Improve empty hint file handling during startup (CASSANDRA-16162) + * Allow empty string in collections with COPY FROM in cqlsh (CASSANDRA-16372) + * Fix skipping on pre-3.0 created compact storage sstables due to missing primary key liveness (CASSANDRA-16226) + * Fix DecimalDeserializer#toString OOM (CASSANDRA-14925) + * Extend the exclusion of replica filtering protection to other indices instead of just SASI (CASSANDRA-16311) + * Synchronize transaction logs for JBOD (CASSANDRA-16225) + * Fix the counting of cells per partition (CASSANDRA-16259) + * Fix serial read/non-applying CAS linearizability (CASSANDRA-12126) + * Avoid potential NPE in JVMStabilityInspector (CASSANDRA-16294) + * Improved check of num_tokens against the length of initial_token (CASSANDRA-14477) + * Fix a race condition on ColumnFamilyStore and TableMetrics (CASSANDRA-16228) + * Remove the SEPExecutor blocking behavior (CASSANDRA-16186) + * Wait for schema agreement when bootstrapping (CASSANDRA-15158) + * Fix invalid cell value skipping when reading from disk (CASSANDRA-16223) + * Prevent invoking enable/disable gossip when not in NORMAL (CASSANDRA-16146) +Merged from 2.2: * Remove OpenJDK log warning (CASSANDRA-15563) * Fix the histogram merge of the table metrics (CASSANDRA-16259) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 3018499540b9083b7bec19f0943987270d9bb342 Merge: 2022cfe b41873d Author: Mick Semb Wever AuthorDate: Tue Mar 9 22:30:17 2021 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 CHANGES.txt | 1 + redhat/cassandra.spec | 9 ++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --cc CHANGES.txt index c174cd3,cdb2def..c9aba6a --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,29 -1,6 +1,30 @@@ -2.2.20 +3.0.25: + * Fix ColumnFilter behaviour to prevent digest mitmatches during upgrades (CASSANDRA-16415) + * Update debian packaging for python3 (CASSANDRA-16396) + * Avoid pushing schema mutations when setting up distributed system keyspaces locally (CASSANDRA-16387) +Merged from 2.2: + * Fix centos packaging for arm64, >=3.0 rpm's now require python3 (CASSANDRA-16477) * Make TokenMetadata's ring version increments atomic (CASSANDRA-16286) + + +3.0.24: + * Prevent unbounded number of pending flushing tasks; Add PendingFlushTasks metric (CASSANDRA-16261) + * Improve empty hint file handling during startup (CASSANDRA-16162) + * Allow empty string in collections with COPY FROM in cqlsh (CASSANDRA-16372) + * Fix skipping on pre-3.0 created compact storage sstables due to missing primary key liveness (CASSANDRA-16226) + * Fix DecimalDeserializer#toString OOM (CASSANDRA-14925) + * Extend the exclusion of replica filtering protection to other indices instead of just SASI (CASSANDRA-16311) + * Synchronize transaction logs for JBOD (CASSANDRA-16225) + * Fix the counting of cells per partition (CASSANDRA-16259) + * Fix serial read/non-applying CAS linearizability (CASSANDRA-12126) + * Avoid potential NPE in JVMStabilityInspector (CASSANDRA-16294) + * Improved check of num_tokens against the length of initial_token (CASSANDRA-14477) + * Fix a race condition on ColumnFamilyStore and TableMetrics (CASSANDRA-16228) + * Remove the SEPExecutor blocking behavior (CASSANDRA-16186) + * Wait for schema agreement when bootstrapping (CASSANDRA-15158) + * Fix invalid cell value skipping when reading from disk (CASSANDRA-16223) + * Prevent invoking enable/disable gossip when not in NORMAL (CASSANDRA-16146) +Merged from 2.2: * Remove OpenJDK log warning (CASSANDRA-15563) * Fix the histogram merge of the table metrics (CASSANDRA-16259) diff --cc redhat/cassandra.spec index 2a83b60,73d4a42..bd4cdc9 --- a/redhat/cassandra.spec +++ b/redhat/cassandra.spec @@@ -62,10 -64,9 +65,10 @@@ mkdir -p %{buildroot}/usr/bi mkdir -p %{buildroot}/var/lib/%{username}/commitlog mkdir -p %{buildroot}/var/lib/%{username}/data mkdir -p %{buildroot}/var/lib/%{username}/saved_caches +mkdir -p %{buildroot}/var/lib/%{username}/hints mkdir -p %{buildroot}/var/run/%{username} mkdir -p %{buildroot}/var/log/%{username} - ( cd pylib && python2.7 setup.py install --no-compile --root %{buildroot}; ) + ( cd pylib && %{__python} setup.py install --no-compile --root %{buildroot}; ) # patches for data and log paths patch -p1 < debian/patches/001cassandra_yaml_dirs.dpatch - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. samt pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 88527cd7914ebd7acbc98a17aec1490b58646546 Merge: c775ea3 bad17a8 Author: Sam Tunnicliffe AuthorDate: Thu Mar 4 14:45:37 2021 + Merge branch 'cassandra-2.2' into cassandra-3.0 .circleci/config-2_1.yml | 2 +- .circleci/config.yml.HIGHRES | 20 ++-- .circleci/config.yml.LOWRES | 20 ++-- 3 files changed, 21 insertions(+), 21 deletions(-) diff --cc .circleci/config.yml.HIGHRES index e272801,01cfb5d..6f571be --- a/.circleci/config.yml.HIGHRES +++ b/.circleci/config.yml.HIGHRES @@@ -1,100 -1,8 +1,100 @@@ version: 2 jobs: + j8_jvm_upgrade_dtests: +docker: - - image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:20210105 ++- image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:20210304 +resource_class: xlarge +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 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 +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: +- JAVA8_HOME: /usr/lib/jvm/java-8-openjdk-amd64 +- ANT_HOME: /usr/share/ant +- LANG: en_US.UTF-8 +- KEEP_TEST_DIR: true +- DEFAULT_DIR: /home/cassandra/cassandra-dtest +- PYTHONIOENCODING: utf-8 +- PYTHONUNBUFFERED: true +- CASS_DRIVER_NO_EXTENSIONS: true +- CASS_DRIVER_NO_CYTHON: true +- CASSANDRA_SKIP_SYNC: true +- DTEST_REPO: git://github.com/apache/cassandra-dtest.git +- DTEST_BRANCH: trunk +- CCM_MAX_HEAP_SIZE: 2048M +- CCM_HEAP_NEWSIZE: 512M +- JAVA_HOME: /usr/lib/jvm/java-8-openjdk-amd64 +- JDK_HOME: /usr/lib/jvm/java-8-openjdk-amd64 build: docker: - - image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:20210105 + - image: apache/cassandra-testing-ubuntu2004-java11-w-depend
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 19b3945297303bbaa4d18ae088e53bb65391557f Merge: 4333b5c 9fa2c28 Author: Mick Semb Wever AuthorDate: Mon Feb 8 12:06:06 2021 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 .jenkins/Jenkinsfile | 8 1 file changed, 4 insertions(+), 4 deletions(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 4333b5c7d5127e4bf59c3fc76bd44880a2fe25ea Merge: 08be5e0 d19f352 Author: Mick Semb Wever AuthorDate: Mon Feb 8 11:03:51 2021 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 build.xml | 8 1 file changed, 8 insertions(+) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. adelapena pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 08be5e0c54c84e2828a91ae060c88fb2ebc9354f Merge: f35ab19 d3e48e4 Author: Andrés de la Peña AuthorDate: Mon Feb 1 17:23:37 2021 + Merge branch 'cassandra-2.2' into cassandra-3.0 # Conflicts: # CHANGES.txt # src/java/org/apache/cassandra/locator/TokenMetadata.java CHANGES.txt| 2 ++ .../apache/cassandra/locator/TokenMetadata.java| 40 ++ .../cassandra/locator/TokenMetadataTest.java | 24 + 3 files changed, 59 insertions(+), 7 deletions(-) diff --cc CHANGES.txt index 37ddf28,36a244a..da8ceaa --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,24 -1,5 +1,26 @@@ -2.2.20 +3.0.25: ++Merged from 2.2: + * Make TokenMetadata's ring version increments atomic (CASSANDRA-16286) + + +3.0.24: + * Prevent unbounded number of pending flushing tasks; Add PendingFlushTasks metric (CASSANDRA-16261) + * Improve empty hint file handling during startup (CASSANDRA-16162) + * Allow empty string in collections with COPY FROM in cqlsh (CASSANDRA-16372) + * Fix skipping on pre-3.0 created compact storage sstables due to missing primary key liveness (CASSANDRA-16226) + * Fix DecimalDeserializer#toString OOM (CASSANDRA-14925) + * Extend the exclusion of replica filtering protection to other indices instead of just SASI (CASSANDRA-16311) + * Synchronize transaction logs for JBOD (CASSANDRA-16225) + * Fix the counting of cells per partition (CASSANDRA-16259) + * Fix serial read/non-applying CAS linearizability (CASSANDRA-12126) + * Avoid potential NPE in JVMStabilityInspector (CASSANDRA-16294) + * Improved check of num_tokens against the length of initial_token (CASSANDRA-14477) + * Fix a race condition on ColumnFamilyStore and TableMetrics (CASSANDRA-16228) + * Remove the SEPExecutor blocking behavior (CASSANDRA-16186) + * Wait for schema agreement when bootstrapping (CASSANDRA-15158) + * Fix invalid cell value skipping when reading from disk (CASSANDRA-16223) + * Prevent invoking enable/disable gossip when not in NORMAL (CASSANDRA-16146) +Merged from 2.2: * Remove OpenJDK log warning (CASSANDRA-15563) * Fix the histogram merge of the table metrics (CASSANDRA-16259) diff --cc src/java/org/apache/cassandra/locator/TokenMetadata.java index 3978eeb,44eb925..da5f5e3 --- a/src/java/org/apache/cassandra/locator/TokenMetadata.java +++ b/src/java/org/apache/cassandra/locator/TokenMetadata.java @@@ -26,7 -26,9 +26,9 @@@ import java.util.concurrent.atomic.Atom import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; + import javax.annotation.concurrent.GuardedBy; + -import com.google.common.base.Optional; +import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.*; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@@ -495,9 -465,8 +498,9 @@@ public class TokenMetadat try { logger.info("Updating topology for {}", endpoint); -topology.updateEndpoint(endpoint); +topology = topology.unbuild().updateEndpoint(endpoint).build(); - invalidateCachedRings(); + invalidateCachedRingsUnsafe(); +return topology; } finally { @@@ -515,9 -484,8 +518,9 @@@ try { logger.info("Updating topology for all endpoints that have changed"); -topology.updateEndpoints(); +topology = topology.unbuild().updateEndpoints().build(); - invalidateCachedRings(); + invalidateCachedRingsUnsafe(); +return topology; } finally { @@@ -1133,8 -1090,8 +1136,8 @@@ pendingRanges.clear(); movingEndpoints.clear(); sortedTokens.clear(); -topology.clear(); +topology = Topology.empty(); - invalidateCachedRings(); + invalidateCachedRingsUnsafe(); } finally { diff --cc test/unit/org/apache/cassandra/locator/TokenMetadataTest.java index dab7082,6cd5180..0ec8eeb --- a/test/unit/org/apache/cassandra/locator/TokenMetadataTest.java +++ b/test/unit/org/apache/cassandra/locator/TokenMetadataTest.java @@@ -21,8 -22,10 +21,11 @@@ import java.net.InetAddress import java.net.UnknownHostException; import java.util.ArrayList; import java.util.Map; + import java.util.concurrent.ExecutorService; + import java.util.concurrent.Executors; + import java.util.concurrent.TimeUnit; +import com.google.common.collect.ImmutableMultimap; import com.google.common.collect.Iterators; import com.google.common.collect.Multimap; @@@ -68,6 -70,33 +71,27 @@@ public class TokenMetadataTes
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. samt pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 4d4218c553d11a8ec2cebee570eed1382823dd02 Merge: 0a1e900 732ec77 Author: Sam Tunnicliffe AuthorDate: Fri Jan 22 14:28:10 2021 + Merge branch 'cassandra-2.2' into cassandra-3.0 doc/native_protocol_v4.spec | 17 ++--- 1 file changed, 14 insertions(+), 3 deletions(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. edimitrova pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit f42a4ebb8da71ecd15c39855e969db0cb65410f8 Merge: f02e535 92182bc Author: Ekaterina Dimitrova AuthorDate: Tue Jan 19 09:31:54 2021 -0500 Merge branch 'cassandra-2.2' into cassandra-3.0 build.xml | 1 + 1 file changed, 1 insertion(+) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit c2487f5836f3713bd04d8684cf5d0f07a3b7c70a Merge: a2aa78d 457422a Author: Mick Semb Wever AuthorDate: Thu Jan 7 22:16:54 2021 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 .circleci/config-2_1.yml | 2 +- .circleci/config.yml | 20 ++-- .circleci/config.yml.HIGHRES | 20 ++-- .circleci/config.yml.LOWRES | 20 ++-- 4 files changed, 31 insertions(+), 31 deletions(-) diff --cc .circleci/config.yml index d49ace5,8627e96..43216a5 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@@ -1,100 -1,8 +1,100 @@@ version: 2 jobs: + j8_jvm_upgrade_dtests: +docker: - - image: beobal/cassandra-testing-ubuntu1910-java11-w-dependencies:20201130 ++- image: apache/cassandra-testing-ubuntu2004-java11-w-dependencies:20210105 +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 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 +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: +- JAVA8_HOME: /usr/lib/jvm/java-8-openjdk-amd64 +- ANT_HOME: /usr/share/ant +- LANG: en_US.UTF-8 +- KEEP_TEST_DIR: true +- DEFAULT_DIR: /home/cassandra/cassandra-dtest +- PYTHONIOENCODING: utf-8 +- PYTHONUNBUFFERED: true +- CASS_DRIVER_NO_EXTENSIONS: true +- CASS_DRIVER_NO_CYTHON: true +- CASSANDRA_SKIP_SYNC: true +- DTEST_REPO: git://github.com/apache/cassandra-dtest.git +- DTEST_BRANCH: 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 build: docker: - - image: beobal/cassandra-testing-ubuntu1910-java11-w-dependencies:20201130 + - image: apache/cassandra-tes
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. adelapena pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit ac7df513ac63b8699382f59fa86f5fc72f6779db Merge: 2bcbd92 20d1f9a Author: Andrés de la Peña AuthorDate: Fri Dec 11 15:25:06 2020 + Merge branch 'cassandra-2.2' into cassandra-3.0 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. samt pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit de85f43ddadcf29aefd27b86bcbc0f47b2664aa8 Merge: 2d0b168 466c65a Author: Sam Tunnicliffe AuthorDate: Tue Dec 1 18:53:12 2020 + Merge branch 'cassandra-2.2' into cassandra-3.0 .circleci/config-2_1.yml | 8 .circleci/config.yml | 38 +++--- .circleci/config.yml.HIGHRES | 38 +++--- .circleci/config.yml.LOWRES | 38 +++--- 4 files changed, 61 insertions(+), 61 deletions(-) diff --cc .circleci/config.yml index b8aa6ea,862d4a1..dda7046 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@@ -1,100 -1,8 +1,100 @@@ version: 2 jobs: + j8_jvm_upgrade_dtests: +docker: - - image: spod/cassandra-testing-ubuntu1810-java11-w-dependencies:20190306 ++- image: beobal/cassandra-testing-ubuntu1810-java11-w-dependencies:20201130 +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 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 +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: +- JAVA8_HOME: /usr/lib/jvm/java-8-openjdk-amd64 +- ANT_HOME: /usr/share/ant +- LANG: en_US.UTF-8 +- KEEP_TEST_DIR: true +- DEFAULT_DIR: /home/cassandra/cassandra-dtest +- PYTHONIOENCODING: utf-8 +- PYTHONUNBUFFERED: true +- CASS_DRIVER_NO_EXTENSIONS: true +- CASS_DRIVER_NO_CYTHON: true +- CASSANDRA_SKIP_SYNC: true +- DTEST_REPO: git://github.com/apache/cassandra-dtest.git +- DTEST_BRANCH: 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 build: docker: - - image: spod/cassandra-testing-ubuntu1810-java11-w-dep
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. dcapwell pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 22279a4b75fbf03c98df4eb1af93d1417bef810b Merge: a1a26e8 4d1d024 Author: David Capwell AuthorDate: Tue Nov 10 10:46:33 2020 -0800 Merge branch 'cassandra-2.2' into cassandra-3.0 .../cassandra/config/YamlConfigurationLoader.java | 10 +-- .../apache/cassandra/distributed/Constants.java| 34 ++ .../cassandra/distributed/UpgradeableCluster.java | 1 + .../distributed/impl/AbstractCluster.java | 3 +- .../cassandra/distributed/impl/Instance.java | 8 +++-- 5 files changed, 51 insertions(+), 5 deletions(-) diff --cc test/distributed/org/apache/cassandra/distributed/impl/Instance.java index f72661d,82251d7..ff0095d --- a/test/distributed/org/apache/cassandra/distributed/impl/Instance.java +++ b/test/distributed/org/apache/cassandra/distributed/impl/Instance.java @@@ -133,7 -129,7 +134,7 @@@ public class Instance extends IsolatedE { super("node" + config.num(), classLoader); this.config = config; --Object clusterId = Objects.requireNonNull(config.get("dtest.api.cluster_id"), "cluster_id is not defined"); ++Object clusterId = Objects.requireNonNull(config.get(Constants.KEY_DTEST_API_CLUSTER_ID), "cluster_id is not defined"); ClusterIDDefiner.setId("cluster-" + clusterId); InstanceIDDefiner.setInstanceId(config.num()); FBUtilities.setBroadcastInetAddress(config.broadcastAddress().getAddress()); - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. dcapwell pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit e74bd9fa264b863ccc5221020b8aa7ec4b70406e Merge: fa9bbd4 f293376 Author: David Capwell AuthorDate: Thu Nov 5 14:43:54 2020 -0800 Merge branch 'cassandra-2.2' into cassandra-3.0 .../cassandra/config/YamlConfigurationLoader.java| 4 +++- .../cassandra/distributed/impl/InstanceConfig.java | 20 +++- 2 files changed, 18 insertions(+), 6 deletions(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit b6ef9b22f2857169f65f3d8ef91d338fa360ad00 Merge: 5a87472 140048f Author: Mick Semb Wever AuthorDate: Wed Nov 4 12:39:33 2020 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 CHANGES.txt | 4 +++- build.xml| 2 +- debian/changelog | 6 ++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --cc CHANGES.txt index 80f5d58,166cca4..696e50f --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,28 -1,12 +1,30 @@@ - 3.0.23: -2.2.20 ++3.0.24: + * Fix invalid cell value skipping when reading from disk (CASSANDRA-16223) + * Prevent invoking enable/disable gossip when not in NORMAL (CASSANDRA-16146) + - -2.2.19 ++3.0.23: + * Fix OOM when terminating repair session (CASSANDRA-15902) + * Avoid marking shutting down nodes as up after receiving gossip shutdown message (CASSANDRA-16094) + * Check SSTables for latest version before dropping compact storage (CASSANDRA-16063) + * Handle unexpected columns due to schema races (CASSANDRA-15899) + * Avoid failing compactions with very large partitions (CASSANDRA-15164) + * Use IF NOT EXISTS for index and UDT create statements in snapshot schema files (CASSANDRA-13935) + * Add flag to ignore unreplicated keyspaces during repair (CASSANDRA-15160) +Merged from 2.2: * Package tools/bin scripts as executable (CASSANDRA-16151) - * Fix ExceptionInInitializerError when data_file_directories is not set (CASSANDRA-16008) * Fixed a NullPointerException when calling nodetool enablethrift (CASSANDRA-16127) -2.2.18 +3.0.22: + * Fix gossip shutdown order (CASSANDRA-15816) + * Remove broken 'defrag-on-read' optimization (CASSANDRA-15432) + * Check for endpoint collision with hibernating nodes (CASSANDRA-14599) + * Operational improvements and hardening for replica filtering protection (CASSANDRA-15907) + * stop_paranoid disk failure policy is ignored on CorruptSSTableException after node is up (CASSANDRA-15191) + * 3.x fails to start if commit log has range tombstones from a column which is also deleted (CASSANDRA-15970) + * Forbid altering UDTs used in partition keys (CASSANDRA-15933) + * Fix empty/null json string representation (CASSANDRA-15896) + * Handle difference in timestamp precision between java8 and java11 in LogFIle.java (CASSANDRA-16050) +Merged from 2.2: * Fix CQL parsing of collections when the column type is reversed (CASSANDRA-15814) Merged from 2.1: * Only allow strings to be passed to JMX authentication (CASSANDRA-16077) diff --cc build.xml index 76c8867,617a993..1851ee9 --- a/build.xml +++ b/build.xml @@@ -25,7 -25,7 +25,7 @@@ - - ++ https://gitbox.apache.org/repos/asf/cassandra.git"/> https://gitbox.apache.org/repos/asf/cassandra.git"/> https://gitbox.apache.org/repos/asf?p=cassandra.git;a=tree"/> diff --cc debian/changelog index 2e2a521,79753aa..71f1ac3 --- a/debian/changelog +++ b/debian/changelog @@@ -1,4 -1,10 +1,10 @@@ -cassandra (2.2.20) UNRELEASED; urgency=medium ++cassandra (3.0.24) UNRELEASED; urgency=medium + + * New release + - -- Mick Semb Wever Thu, 29 Oct 2020 11:34:29 +0100 ++ -- Mick Semb Wever Thu, 29 Oct 2020 12:03:40 +0100 + -cassandra (2.2.19) unstable; urgency=medium +cassandra (3.0.23) unstable; urgency=medium * New release - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 6c27fdc228f285e31129765716d63e76a365f37f Merge: 45ad38f 0d9462e Author: Mick Semb Wever AuthorDate: Thu Oct 29 11:58:15 2020 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit f139c6a6c171ec4a991f21da1dc97376bbf1d264 Merge: d7f0361 5d26980 Author: Mick Semb Wever AuthorDate: Tue Oct 27 10:47:05 2020 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 .circleci/config-2_1.yml | 2 +- .circleci/config.yml | 20 ++-- .circleci/config.yml.HIGHRES | 20 ++-- .circleci/config.yml.LOWRES | 20 ++-- .jenkins/Jenkinsfile | 2 +- 5 files changed, 32 insertions(+), 32 deletions(-) diff --cc .circleci/config.yml index f8526be,0997d8a..b8aa6ea --- a/.circleci/config.yml +++ b/.circleci/config.yml @@@ -1,97 -1,5 +1,97 @@@ version: 2 jobs: + j8_jvm_upgrade_dtests: +docker: +- image: spod/cassandra-testing-ubuntu1810-java11-w-dependencies:20190306 +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 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 +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: +- JAVA8_HOME: /usr/lib/jvm/java-8-openjdk-amd64 +- ANT_HOME: /usr/share/ant +- LANG: en_US.UTF-8 +- KEEP_TEST_DIR: true +- DEFAULT_DIR: /home/cassandra/cassandra-dtest +- PYTHONIOENCODING: utf-8 +- PYTHONUNBUFFERED: true +- CASS_DRIVER_NO_EXTENSIONS: true +- CASS_DRIVER_NO_CYTHON: true +- CASSANDRA_SKIP_SYNC: true +- DTEST_REPO: git://github.com/apache/cassandra-dtest.git - - DTEST_BRANCH: master ++- 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 build: docker: - image: spod/cassandra-testing-ubuntu1810-java11-w-dependencies:20190306 @@@ -173,163 -75,6 +173,163 @@@ - CCM_HEAP_NEWSIZE: 2
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. dcapwell pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit d547f0de740d3e324839c3d8b42673c841ec1fde Merge: 3cba8d8 db58321 Author: David Capwell AuthorDate: Thu Oct 22 13:20:23 2020 -0700 Merge branch 'cassandra-2.2' into cassandra-3.0 .../cassandra/config/ParameterizedClass.java | 5 ++ .../cassandra/config/YamlConfigurationLoader.java | 31 +++- .../distributed/impl/AbstractCluster.java | 44 +-- .../cassandra/distributed/impl/Instance.java | 19 +++-- .../cassandra/distributed/impl/InstanceConfig.java | 49 +++- .../cassandra/distributed/test/JVMDTestTest.java | 90 +- .../config/YamlConfigurationLoaderTest.java| 54 + 7 files changed, 232 insertions(+), 60 deletions(-) diff --cc src/java/org/apache/cassandra/config/YamlConfigurationLoader.java index 435377c,07b149c..bd602df --- a/src/java/org/apache/cassandra/config/YamlConfigurationLoader.java +++ b/src/java/org/apache/cassandra/config/YamlConfigurationLoader.java @@@ -125,11 -127,30 +128,35 @@@ public class YamlConfigurationLoader im } } - static class CustomConstructor extends Constructor + @SuppressWarnings("unchecked") //getSingleData returns Object, not T + public static T fromMap(Map map, Class klass) + { + Constructor constructor = new YamlConfigurationLoader.CustomConstructor(klass, klass.getClassLoader()); + YamlConfigurationLoader.MissingPropertiesChecker propertiesChecker = new YamlConfigurationLoader.MissingPropertiesChecker(); + constructor.setPropertyUtils(propertiesChecker); + Yaml yaml = new Yaml(constructor); + Node node = yaml.represent(map); + constructor.setComposer(new Composer(null, null) + { + @Override + public Node getSingleNode() + { + return node; + } + }); + return (T) constructor.getSingleData(klass); + } + + static class CustomConstructor extends CustomClassLoaderConstructor { +CustomConstructor(Class theRoot) +{ - super(theRoot); ++this(theRoot, Yaml.class.getClassLoader()); ++} ++ + CustomConstructor(Class theRoot, ClassLoader classLoader) + { + super(theRoot, classLoader); TypeDescription seedDesc = new TypeDescription(ParameterizedClass.class); seedDesc.putMapPropertyType("parameters", String.class, String.class); diff --cc test/distributed/org/apache/cassandra/distributed/impl/InstanceConfig.java index ea8d0f8,861e2ea..60b54fb --- a/test/distributed/org/apache/cassandra/distributed/impl/InstanceConfig.java +++ b/test/distributed/org/apache/cassandra/distributed/impl/InstanceConfig.java @@@ -33,6 -33,7 +33,7 @@@ import java.util.function.Function import org.slf4j.Logger; import org.slf4j.LoggerFactory; ++import org.apache.cassandra.config.YamlConfigurationLoader; import org.apache.cassandra.distributed.api.Feature; import org.apache.cassandra.distributed.api.IInstanceConfig; import org.apache.cassandra.distributed.shared.NetworkTopology; diff --cc test/distributed/org/apache/cassandra/distributed/test/JVMDTestTest.java index 3a1a0a8,7e5d99a..13b314a --- a/test/distributed/org/apache/cassandra/distributed/test/JVMDTestTest.java +++ b/test/distributed/org/apache/cassandra/distributed/test/JVMDTestTest.java @@@ -19,8 -19,12 +19,11 @@@ package org.apache.cassandra.distributed.test; import java.io.IOException; + import java.util.Collections; import java.util.List; + import java.util.Map; + import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; -import java.util.concurrent.TimeUnit; import java.util.logging.Logger; import org.junit.Assert; @@@ -75,7 -86,83 +85,83 @@@ public class JVMDTestTest extends TestB LoggerFactory.getLogger(CassandraDaemon.class).error("Error", new RuntimeException("fail without fail")); }); List errors = logs.watchFor(mark, "^ERROR").getResult(); - Assert.assertFalse(errors.isEmpty()); + assertFalse(errors.isEmpty()); + } + } + + @Test + public void nonSharedConfigClassTest() throws IOException + { + Map commitLogCompression = ImmutableMap.of("class_name", "org.apache.cassandra.io.compress.LZ4Compressor", + "parameters", Collections.emptyMap()); + Map encryptionOptions = ImmutableMap.of("cipher_suites", Collections.singletonList("FakeCipher"), +"optional", false, +"enabled", false); + + try (Cluster cluster =
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. adelapena pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit d44dbd91c1752a71f4819be92fd75a52be9f0118 Merge: 5bb76ba 72941b9 Author: Andrés de la Peña AuthorDate: Wed Oct 21 13:19:13 2020 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 # Conflicts: # CHANGES.txt CHANGES.txt | 1 + build.xml | 14 ++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --cc CHANGES.txt index 0f9694e,8a78993..af7245a --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,23 -1,9 +1,24 @@@ -2.2.19 +3.0.23: + * Check SSTables for latest version before dropping compact storage (CASSANDRA-16063) + * Handle unexpected columns due to schema races (CASSANDRA-15899) + * Avoid failing compactions with very large partitions (CASSANDRA-15164) + * Use IF NOT EXISTS for index and UDT create statements in snapshot schema files (CASSANDRA-13935) + * Add flag to ignore unreplicated keyspaces during repair (CASSANDRA-15160) +Merged from 2.2: + * Package tools/bin scripts as executable (CASSANDRA-16151) - * Fix ExceptionInInitializerError when data_file_directories is not set (CASSANDRA-16008) * Fixed a NullPointerException when calling nodetool enablethrift (CASSANDRA-16127) -2.2.18 +3.0.22: + * Fix gossip shutdown order (CASSANDRA-15816) + * Remove broken 'defrag-on-read' optimization (CASSANDRA-15432) + * Check for endpoint collision with hibernating nodes (CASSANDRA-14599) + * Operational improvements and hardening for replica filtering protection (CASSANDRA-15907) + * stop_paranoid disk failure policy is ignored on CorruptSSTableException after node is up (CASSANDRA-15191) + * 3.x fails to start if commit log has range tombstones from a column which is also deleted (CASSANDRA-15970) + * Forbid altering UDTs used in partition keys (CASSANDRA-15933) + * Fix empty/null json string representation (CASSANDRA-15896) + * Handle difference in timestamp precision between java8 and java11 in LogFIle.java (CASSANDRA-16050) +Merged from 2.2: * Fix CQL parsing of collections when the column type is reversed (CASSANDRA-15814) Merged from 2.1: * Only allow strings to be passed to JMX authentication (CASSANDRA-16077) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. dcapwell pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 5bb76ba97aa4decc8a0af676873e810ea036968e Merge: 7b3a15d f15c6b8 Author: David Capwell AuthorDate: Mon Oct 19 12:29:33 2020 -0700 Merge branch 'cassandra-2.2' into cassandra-3.0 .circleci/config.yml | 72 - src/java/org/apache/cassandra/tools/NodeProbe.java | 15 src/java/org/apache/cassandra/tools/NodeTool.java | 52 - .../tools/{nodetool/Version.java => Output.java} | 22 +++--- .../cassandra/tools/nodetool/BootstrapResume.java | 4 +- .../apache/cassandra/tools/nodetool/Cleanup.java | 4 +- .../cassandra/tools/nodetool/ClearSnapshot.java| 4 +- .../tools/nodetool/CompactionHistory.java | 12 +-- .../cassandra/tools/nodetool/CompactionStats.java | 8 +- .../cassandra/tools/nodetool/DescribeCluster.java | 16 ++-- .../cassandra/tools/nodetool/DescribeRing.java | 8 +- .../tools/nodetool/FailureDetectorInfo.java| 4 +- .../apache/cassandra/tools/nodetool/GcStats.java | 6 +- .../tools/nodetool/GetCompactionThreshold.java | 8 +- .../tools/nodetool/GetCompactionThroughput.java| 4 +- .../cassandra/tools/nodetool/GetEndpoints.java | 4 +- .../tools/nodetool/GetInterDCStreamThroughput.java | 2 +- .../cassandra/tools/nodetool/GetLoggingLevels.java | 6 +- .../cassandra/tools/nodetool/GetSSTables.java | 4 +- .../tools/nodetool/GetStreamThroughput.java| 4 +- .../tools/nodetool/GetTraceProbability.java| 2 +- .../cassandra/tools/nodetool/GossipInfo.java | 4 +- .../org/apache/cassandra/tools/nodetool/Info.java | 41 +- .../cassandra/tools/nodetool/ListSnapshots.java| 12 +-- .../apache/cassandra/tools/nodetool/NetStats.java | 44 ++- .../cassandra/tools/nodetool/ProxyHistograms.java | 15 ++-- .../cassandra/tools/nodetool/RangeKeySample.java | 6 +- .../apache/cassandra/tools/nodetool/Refresh.java | 2 +- .../cassandra/tools/nodetool/RemoveNode.java | 6 +- .../apache/cassandra/tools/nodetool/Repair.java| 2 +- .../org/apache/cassandra/tools/nodetool/Ring.java | 29 +++ .../org/apache/cassandra/tools/nodetool/Scrub.java | 5 +- .../apache/cassandra/tools/nodetool/Snapshot.java | 12 +-- .../apache/cassandra/tools/nodetool/Status.java| 34 .../cassandra/tools/nodetool/StatusBackup.java | 4 +- .../cassandra/tools/nodetool/StatusBinary.java | 4 +- .../cassandra/tools/nodetool/StatusGossip.java | 4 +- .../cassandra/tools/nodetool/StatusHandoff.java| 9 ++- .../cassandra/tools/nodetool/StatusThrift.java | 4 +- .../cassandra/tools/nodetool/TableHistograms.java | 20 +++-- .../cassandra/tools/nodetool/TableStats.java | 90 +++--- .../cassandra/tools/nodetool/TopPartitions.java| 18 +++-- .../apache/cassandra/tools/nodetool/TpStats.java | 12 +-- .../cassandra/tools/nodetool/UpgradeSSTable.java | 4 +- .../apache/cassandra/tools/nodetool/Verify.java| 4 +- .../apache/cassandra/tools/nodetool/Version.java | 4 +- .../cassandra/distributed/impl/Instance.java | 62 +-- .../test/ClientNetworkStopStartTest.java | 28 ++- .../cassandra/distributed/test/NodeToolTest.java | 16 +++- 49 files changed, 434 insertions(+), 322 deletions(-) diff --cc .circleci/config.yml index 1fb2fcb,d5efe4f..2e40513 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@@ -1,97 -1,5 +1,97 @@@ version: 2 jobs: + j8_jvm_upgrade_dtests: +docker: +- image: spod/cassandra-testing-ubuntu1810-java11-w-dependencies:20190306 - resource_class: medium ++resource_class: xlarge +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_${CIRC
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. dcapwell pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 42989cee287ddacf30db331829bf927695816966 Merge: 5ef77d2 521a6e2 Author: David Capwell AuthorDate: Mon Oct 12 11:04:41 2020 -0700 Merge branch 'cassandra-2.2' into cassandra-3.0 CHANGES.txt| 2 + build.xml | 3 + .../apache/cassandra/service/CassandraDaemon.java | 105 ++- .../apache/cassandra/service/StorageService.java | 11 +- .../distributed/impl/AbstractCluster.java | 18 +- .../cassandra/distributed/impl/Instance.java | 33 +++- .../cassandra/distributed/shared/Byteman.java | 207 + .../cassandra/distributed/shared/Shared.java | 37 .../test/BootstrapBinaryDisabledTest.java | 165 .../test/ClientNetworkStopStartTest.java | 192 +++ test/resources/byteman/stream_failure.btm | 14 ++ 11 files changed, 729 insertions(+), 58 deletions(-) diff --cc CHANGES.txt index 1ea5184,1274689..1dd52c2 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,20 -1,8 +1,22 @@@ -2.2.19 - * Fix ExceptionInInitializerError when data_file_directories is not set (CASSANDRA-16008) +3.0.23: + * Handle unexpected columns due to schema races (CASSANDRA-15899) + * Avoid failing compactions with very large partitions (CASSANDRA-15164) + * Use IF NOT EXISTS for index and UDT create statements in snapshot schema files (CASSANDRA-13935) + * Add flag to ignore unreplicated keyspaces during repair (CASSANDRA-15160) ++Merged from 2.2: + * Fixed a NullPointerException when calling nodetool enablethrift (CASSANDRA-16127) -2.2.18 +3.0.22: + * Fix gossip shutdown order (CASSANDRA-15816) + * Remove broken 'defrag-on-read' optimization (CASSANDRA-15432) + * Check for endpoint collision with hibernating nodes (CASSANDRA-14599) + * Operational improvements and hardening for replica filtering protection (CASSANDRA-15907) + * stop_paranoid disk failure policy is ignored on CorruptSSTableException after node is up (CASSANDRA-15191) + * 3.x fails to start if commit log has range tombstones from a column which is also deleted (CASSANDRA-15970) + * Forbid altering UDTs used in partition keys (CASSANDRA-15933) + * Fix empty/null json string representation (CASSANDRA-15896) + * Handle difference in timestamp precision between java8 and java11 in LogFIle.java (CASSANDRA-16050) +Merged from 2.2: * Fix CQL parsing of collections when the column type is reversed (CASSANDRA-15814) Merged from 2.1: * Only allow strings to be passed to JMX authentication (CASSANDRA-16077) diff --cc build.xml index e3270d8,1e701f8..8ecf70b --- a/build.xml +++ b/build.xml @@@ -528,7 -540,19 +530,8 @@@ version="${version}"/> + - - - - - - - - - - diff --cc src/java/org/apache/cassandra/service/CassandraDaemon.java index 666ca72,a67011d..ce0b8f3 --- a/src/java/org/apache/cassandra/service/CassandraDaemon.java +++ b/src/java/org/apache/cassandra/service/CassandraDaemon.java @@@ -35,9 -35,8 +34,7 @@@ import java.rmi.server.RMIServerSocketF import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.UUID; import java.util.concurrent.TimeUnit; - import javax.management.ObjectName; import javax.management.StandardMBean; import javax.management.remote.JMXConnectorServer; @@@ -53,20 -59,18 +57,17 @@@ import com.codahale.metrics.jvm.BufferP import com.codahale.metrics.jvm.FileDescriptorRatioGauge; import com.codahale.metrics.jvm.GarbageCollectorMetricSet; import com.codahale.metrics.jvm.MemoryUsageGaugeSet; - import com.google.common.annotations.VisibleForTesting; - import com.google.common.util.concurrent.Futures; - import com.google.common.util.concurrent.ListenableFuture; - import com.google.common.util.concurrent.Uninterruptibles; - - import org.slf4j.Logger; - import org.slf4j.LoggerFactory; - - import org.apache.cassandra.concurrent.*; -import org.apache.cassandra.concurrent.JMXEnabledThreadPoolExecutor; ++import org.apache.cassandra.batchlog.LegacyBatchlogMigrator; + import org.apache.cassandra.concurrent.ScheduledExecutors; -import org.apache.cassandra.concurrent.Stage; -import org.apache.cassandra.concurrent.StageManager; import org.apache.cassandra.config.CFMetaData; import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.config.Schema; - import org.apache.cassandra.db.*; - import org.apache.cassandra.batchlog.LegacyBatchlogMigrator; ++import org.apache.cassandra.cql3.functions.ThreadAwareSecurityManager; + import org.apache.cassandra.db.ColumnFamilyStore; + import org.apache.ca
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. dcapwell pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 5ef77d234f26e985811db4ff5fc2f01f6fe5a29c Merge: 8d2556f 0eb8cec Author: David Capwell AuthorDate: Wed Oct 7 17:03:07 2020 -0700 Merge branch 'cassandra-2.2' into cassandra-3.0 test/conf/logback-dtest.xml| 27 + .../distributed/impl/AbstractCluster.java | 22 +++- ...nstanceIDDefiner.java => ClusterIDDefiner.java} | 22 ++-- .../cassandra/distributed/impl/FileLogAction.java | 133 + .../cassandra/distributed/impl/Instance.java | 24 +++- .../distributed/impl/InstanceIDDefiner.java| 12 +- .../cassandra/distributed/test/JVMDTestTest.java | 28 + 7 files changed, 229 insertions(+), 39 deletions(-) diff --cc test/distributed/org/apache/cassandra/distributed/impl/FileLogAction.java index 000,1d65fe1..0f48a23 mode 00,100644..100644 --- a/test/distributed/org/apache/cassandra/distributed/impl/FileLogAction.java +++ b/test/distributed/org/apache/cassandra/distributed/impl/FileLogAction.java @@@ -1,0 -1,133 +1,133 @@@ + /* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + package org.apache.cassandra.distributed.impl; + + import java.io.File; + import java.io.FileNotFoundException; + import java.io.IOException; + import java.io.RandomAccessFile; + import java.io.UncheckedIOException; + import java.util.Objects; + import java.util.function.Predicate; + -import com.google.common.collect.AbstractIterator; + import com.google.common.io.Closeables; + ++import org.apache.cassandra.utils.AbstractIterator; + import org.apache.cassandra.distributed.api.LogAction; + import org.apache.cassandra.distributed.api.LineIterator; + + public class FileLogAction implements LogAction + { + private final File file; + + public FileLogAction(File file) + { + this.file = Objects.requireNonNull(file); + } + + @Override + public long mark() + { + return file.length(); + } + + @Override + public LineIterator match(long startPosition, Predicate fn) + { + RandomAccessFile reader; + try + { + reader = new RandomAccessFile(file, "r"); + } + catch (FileNotFoundException e) + { + // if file isn't present, don't return an empty stream as it looks the same as no log lines matched + throw new UncheckedIOException(e); + } + if (startPosition > 0) // -1 used to disable, so ignore any negative values or 0 (default offset) + { + try + { + reader.seek(startPosition); + } + catch (IOException e) + { + throw new UncheckedIOException("Unable to seek to " + startPosition, e); + } + } + return new FileLineIterator(reader, fn); + } + + private static final class FileLineIterator extends AbstractIterator implements LineIterator + { + private final RandomAccessFile reader; + private final Predicate fn; + + private FileLineIterator(RandomAccessFile reader, Predicate fn) + { + this.reader = reader; + this.fn = fn; + } + + @Override + public long mark() + { + try + { + return reader.getFilePointer(); + } + catch (IOException e) + { + throw new UncheckedIOException(e); + } + } + + @Override + protected String computeNext() + { + try + { + String s; + while ((s = reader.readLine()) != null) + { + if (fn.test(s)) + return s; + } + return endOfData(); + } + catch (IOException e) + { + throw new UncheckedIOException(e); + } + } + + @Override + pub
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. dcapwell pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 8d2556fd59995737418e550c0ac5b04e45c29225 Merge: 5a2b5a4 844d19d Author: David Capwell AuthorDate: Wed Oct 7 14:32:14 2020 -0700 Merge branch 'cassandra-2.2' into cassandra-3.0 build.xml | 22 +- .../apache/cassandra/db/commitlog/IntervalSet.java | 18 ++ .../apache/cassandra/utils/IntegerInterval.java| 18 ++ .../distributed/test/SimpleReadWriteTest.java | 18 ++ .../distributed/test/ThriftClientTest.java | 18 ++ .../distributed/test/ThriftClientUtils.java| 18 ++ .../upgrade/MigrateDropColumnsTest.java| 18 ++ .../org/apache/cassandra/cql3/ViewComplexTest.java | 18 ++ .../cql3/validation/operations/TTLTest.java| 18 ++ .../cassandra/db/commitlog/BatchCommitLogTest.java | 18 ++ .../cassandra/db/commitlog/CommitLogCQLTest.java | 18 ++ .../apache/cassandra/db/marshal/EmptyTypeTest.java | 18 ++ .../apache/cassandra/io/DiskSpaceMetricsTest.java | 18 ++ .../cassandra/utils/IntegerIntervalsTest.java | 18 ++ 14 files changed, 255 insertions(+), 1 deletion(-) diff --cc src/java/org/apache/cassandra/db/commitlog/IntervalSet.java index bd0ea22,000..a25dbfd mode 100644,00..100644 --- a/src/java/org/apache/cassandra/db/commitlog/IntervalSet.java +++ b/src/java/org/apache/cassandra/db/commitlog/IntervalSet.java @@@ -1,192 -1,0 +1,210 @@@ ++/* ++ * Licensed to the Apache Software Foundation (ASF) under one ++ * or more contributor license agreements. See the NOTICE file ++ * distributed with this work for additional information ++ * regarding copyright ownership. The ASF licenses this file ++ * to you under the Apache License, Version 2.0 (the ++ * "License"); you may not use this file except in compliance ++ * with the License. You may obtain a copy of the License at ++ * ++ * http://www.apache.org/licenses/LICENSE-2.0 ++ * ++ * Unless required by applicable law or agreed to in writing, software ++ * distributed under the License is distributed on an "AS IS" BASIS, ++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++ * See the License for the specific language governing permissions and ++ * limitations under the License. ++ */ ++ +package org.apache.cassandra.db.commitlog; + +import java.io.IOException; +import java.util.*; + +import com.google.common.collect.ImmutableSortedMap; + +import org.apache.cassandra.db.TypeSizes; +import org.apache.cassandra.io.ISerializer; +import org.apache.cassandra.io.util.DataInputPlus; +import org.apache.cassandra.io.util.DataOutputPlus; + +/** + * An immutable set of closed intervals, stored in normalized form (i.e. where overlapping intervals are converted + * to a single interval covering both). + * + * The set is stored as a sorted map from interval starts to the corresponding end. The map satisfies + * curr().getKey() <= curr().getValue() < next().getKey() + */ +public class IntervalSet> +{ +@SuppressWarnings({ "rawtypes", "unchecked" }) +private static final IntervalSet EMPTY = new IntervalSet(ImmutableSortedMap.of()); + +final private NavigableMap ranges; + +private IntervalSet(ImmutableSortedMap ranges) +{ +this.ranges = ranges; +} + +/** + * Construct new set containing the interval with the given start and end position. + */ +public IntervalSet(T start, T end) +{ +this(ImmutableSortedMap.of(start, end)); +} + +@SuppressWarnings("unchecked") +public static > IntervalSet empty() +{ +return (IntervalSet) EMPTY; +} + +public boolean contains(T position) +{ +// closed (i.e. inclusive) intervals +Map.Entry range = ranges.floorEntry(position); +return range != null && position.compareTo(range.getValue()) <= 0; +} + +public boolean isEmpty() +{ +return ranges.isEmpty(); +} + +public Optional lowerBound() +{ +return isEmpty() ? Optional.empty() : Optional.of(ranges.firstKey()); +} + +public Optional upperBound() +{ +return isEmpty() ? Optional.empty() : Optional.of(ranges.lastEntry().getValue()); +} + +public Collection starts() +{ +return ranges.keySet(); +} + +public Collection ends() +{ +return ranges.values(); +} + +public String toString() +{ +return ranges.toString(); +} + +@Override +public int hashCode() +{ +return ranges.hashCode(); +} + +@Override +p
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. dcapwell pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 5a2b5a4e5eb768b459e3795b6f814baefad9c0f1 Merge: 31b9078 4d173e0 Author: David Capwell AuthorDate: Mon Oct 5 19:03:32 2020 -0700 Merge branch 'cassandra-2.2' into cassandra-3.0 build.xml | 2 +- .../distributed/impl/AbstractCluster.java | 36 +- .../impl/DelegatingInvokableInstance.java | 1 + .../cassandra/distributed/impl/Instance.java | 2 +- .../cassandra/distributed/impl/InstanceConfig.java | 13 ++-- .../distributed/shared/ShutdownException.java | 30 ++ .../distributed/test/NetworkTopologyTest.java | 15 + 7 files changed, 88 insertions(+), 11 deletions(-) diff --cc test/distributed/org/apache/cassandra/distributed/impl/AbstractCluster.java index 3cb8dac,9793add..4b880e4 --- a/test/distributed/org/apache/cassandra/distributed/impl/AbstractCluster.java +++ b/test/distributed/org/apache/cassandra/distributed/impl/AbstractCluster.java @@@ -610,10 -619,22 +619,22 @@@ public abstract class AbstractCluster< handler.uncaughtException(thread, error); return; } + InstanceClassLoader cl = (InstanceClassLoader) thread.getContextClassLoader(); get(cl.getInstanceId()).uncaughtException(thread, error); + + BiPredicate ignore = ignoreUncaughtThrowable; + I instance = get(cl.getInstanceId()); + if ((ignore == null || !ignore.test(cl.getInstanceId(), error)) && instance != null && !instance.isShutdown()) + uncaughtExceptions.add(error); + } + + @Override + public void setUncaughtExceptionsFilter(BiPredicate ignoreUncaughtThrowable) + { + this.ignoreUncaughtThrowable = ignoreUncaughtThrowable; } - + @Override public void close() { diff --cc test/distributed/org/apache/cassandra/distributed/impl/InstanceConfig.java index cfdcc80,4e8a782..ea8d0f8 --- a/test/distributed/org/apache/cassandra/distributed/impl/InstanceConfig.java +++ b/test/distributed/org/apache/cassandra/distributed/impl/InstanceConfig.java @@@ -271,9 -271,9 +271,9 @@@ public class InstanceConfig implements ipAddress, seedIp, String.format("%s/node%d/saved_caches", root, nodeNum), - new String[] { String.format("%s/node%d/data", root, nodeNum) }, + datadirs(datadirCount, root, nodeNum), String.format("%s/node%d/commitlog", root, nodeNum), -// String.format("%s/node%d/hints", root, nodeNum), + String.format("%s/node%d/hints", root, nodeNum), // String.format("%s/node%d/cdc", root, nodeNum), token); } - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 9ee74c9dc003fa5d8a0bde3971763723ad163f09 Merge: 8a4c1d7 aaef142 Author: Mick Semb Wever AuthorDate: Wed Sep 30 21:07:21 2020 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 .jenkins/Jenkinsfile | 16 +++- build.xml| 21 + 2 files changed, 24 insertions(+), 13 deletions(-) diff --cc .jenkins/Jenkinsfile index de9761a,09930ee..eceab9f --- a/.jenkins/Jenkinsfile +++ b/.jenkins/Jenkinsfile @@@ -55,23 -56,6 +56,24 @@@ pipeline } } } + stage('jvm-dtest-upgrade') { +steps { + script { +jvm_dtest_upgrade = build job: "${env.JOB_NAME}-jvm-dtest-upgrade", propagate: false +if (jvm_dtest_upgrade.result != 'SUCCESS') unstable('jvm-dtest-upgrade failures') ++if (jvm_dtest_upgrade.result == 'FAILURE') currentBuild.result='FAILURE' + } +} +post { + always { + warnError('missing test xml files') { + script { + copyTestResults('jvm-dtest-upgrade', jvm_dtest_upgrade.getNumber()) + } + } + } +} + } stage('units') { steps { script { @@@ -140,26 -128,9 +146,27 @@@ } } } + stage('cqlsh') { +steps { + script { +cqlsh = build job: "${env.JOB_NAME}-cqlsh-tests", propagate: false + if (cqlsh.result != 'SUCCESS') unstable('cqlsh failures') ++ if (cqlsh.result == 'FAILURE') currentBuild.result='FAILURE' +} + } + post { +always { +warnError('missing test xml files') { +script { +copyTestResults('cqlsh-test', cqlsh.getNumber()) +} +} +} + } +} + } } -} -stage('Distributed Test') { + stage('Distributed Test') { parallel { stage('dtest') { steps { - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit fa7a258f7b2c59a8adf07332fa51914919e30fcd Merge: 2cde7a7 ed80055 Author: Brandon Williams AuthorDate: Wed Sep 23 10:05:59 2020 -0500 Merge branch 'cassandra-2.2' into cassandra-3.0 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. ifesdjeen pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 2cde7a7e148e333c3cac7a015322db5f7ccbe6c5 Merge: 277d839 2f0eb6f Author: Alex Petrov AuthorDate: Tue Sep 22 11:29:04 2020 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 .../org/apache/cassandra/db/marshal/TupleType.java | 21 ++--- .../cassandra/db/transform/DuplicateRowChecker.java | 12 +--- 2 files changed, 27 insertions(+), 6 deletions(-) diff --cc src/java/org/apache/cassandra/db/transform/DuplicateRowChecker.java index 7a6f7f9,000..621821b mode 100644,00..100644 --- a/src/java/org/apache/cassandra/db/transform/DuplicateRowChecker.java +++ b/src/java/org/apache/cassandra/db/transform/DuplicateRowChecker.java @@@ -1,139 -1,0 +1,145 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.cassandra.db.transform; + +import java.net.InetAddress; +import java.util.Collections; +import java.util.List; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.apache.cassandra.config.CFMetaData; +import org.apache.cassandra.config.DatabaseDescriptor; +import org.apache.cassandra.db.*; +import org.apache.cassandra.db.compaction.OperationType; +import org.apache.cassandra.db.partitions.PartitionIterator; +import org.apache.cassandra.db.partitions.UnfilteredPartitionIterator; +import org.apache.cassandra.db.rows.*; +import org.apache.cassandra.utils.DiagnosticSnapshotService; +import org.apache.cassandra.utils.FBUtilities; + +public class DuplicateRowChecker extends Transformation> +{ +private static final Logger logger = LoggerFactory.getLogger(DuplicateRowChecker.class); + +Clustering previous = null; +int duplicatesDetected = 0; ++boolean hadNonEqualDuplicates = false; + +final String stage; +final List replicas; +final CFMetaData metadata; +final DecoratedKey key; +final boolean snapshotOnDuplicate; + +DuplicateRowChecker(final DecoratedKey key, +final CFMetaData metadata, +final String stage, +final boolean snapshotOnDuplicate, +final List replicas) +{ +this.key = key; +this.metadata = metadata; +this.stage = stage; +this.snapshotOnDuplicate = snapshotOnDuplicate; +this.replicas = replicas; +} + +protected DeletionTime applyToDeletion(DeletionTime deletionTime) +{ +return deletionTime; +} + +protected RangeTombstoneMarker applyToMarker(RangeTombstoneMarker marker) +{ +return marker; +} + +protected Row applyToStatic(Row row) +{ +return row; +} + +protected Row applyToRow(Row row) +{ - if (null != previous && row.clustering().equals(previous)) ++if (null != previous && metadata.comparator.compare(row.clustering(), previous) == 0) ++{ +duplicatesDetected++; ++hadNonEqualDuplicates |= !row.clustering().equals(previous); ++} ++ +previous = row.clustering(); +return row; +} + +protected void onPartitionClose() +{ +if (duplicatesDetected > 0) +{ - logger.warn("Detected {} duplicate rows for {} during {}", ++logger.warn("Detected {} duplicate rows for {} during {}.{}", +duplicatesDetected, +metadata.getKeyValidator().getString(key.getKey()), - stage); ++stage, ++hadNonEqualDuplicates ? " Some duplicates had different byte representation." : ""); +if (snapshotOnDuplicate) +DiagnosticSnapshotService.duplicateRows(metadata, replicas); +} +duplicatesDetected = 0; +previous = null; +super.onPartitionClose(); +} + +public static UnfilteredPartitionIterator duringCompaction(final UnfilteredPartitionIterator iterator, OperationType type)
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. dcapwell pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit ad001626807be211189ba695b2b831c53ad27f07 Merge: 0eaed71 3642d55 Author: David Capwell AuthorDate: Fri Sep 4 13:39:55 2020 -0700 Merge branch 'cassandra-2.2' into cassandra-3.0 .../cassandra/distributed/test/JVMDTestTest.java | 53 ++ 1 file changed, 53 insertions(+) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 0eaed71d1df4da0434397d87e9845dfad0d4f909 Merge: 45331bb 815de99 Author: Mick Semb Wever AuthorDate: Mon Aug 31 20:58:23 2020 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 CHANGES.txt | 2 ++ build.xml| 2 +- debian/changelog | 6 ++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --cc CHANGES.txt index 765097b,9cccd7c..ddf04fa --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,14 -1,6 +1,16 @@@ -2.2.19 ++3.0.23: + -2.2.18 +3.0.22: + * Fix gossip shutdown order (CASSANDRA-15816) + * Remove broken 'defrag-on-read' optimization (CASSANDRA-15432) + * Check for endpoint collision with hibernating nodes (CASSANDRA-14599) + * Operational improvements and hardening for replica filtering protection (CASSANDRA-15907) + * stop_paranoid disk failure policy is ignored on CorruptSSTableException after node is up (CASSANDRA-15191) + * 3.x fails to start if commit log has range tombstones from a column which is also deleted (CASSANDRA-15970) + * Forbid altering UDTs used in partition keys (CASSANDRA-15933) + * Fix empty/null json string representation (CASSANDRA-15896) + * Handle difference in timestamp precision between java8 and java11 in LogFIle.java (CASSANDRA-16050) +Merged from 2.2: * Fix CQL parsing of collections when the column type is reversed (CASSANDRA-15814) Merged from 2.1: * Only allow strings to be passed to JMX authentication (CASSANDRA-16077) diff --cc build.xml index 6c1d148,5f404fe..6795da3 --- a/build.xml +++ b/build.xml @@@ -25,7 -25,7 +25,7 @@@ - - ++ https://gitbox.apache.org/repos/asf/cassandra.git"/> https://gitbox.apache.org/repos/asf/cassandra.git"/> https://gitbox.apache.org/repos/asf?p=cassandra.git;a=tree"/> diff --cc debian/changelog index 40f578d,1f34b7a..a321b82 --- a/debian/changelog +++ b/debian/changelog @@@ -1,4 -1,10 +1,10 @@@ -cassandra (2.2.19) unstable; urgency=medium ++cassandra (3.0.23) unstable; urgency=medium + + * New release + + -- + -cassandra (2.2.18) unstable; urgency=medium +cassandra (3.0.22) unstable; urgency=medium * New release - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 7a7f1b8cdf073bb7c493641bd694745b03dca67e Merge: 4cbf660 d4938cf Author: Mick Semb Wever AuthorDate: Fri Aug 28 14:45:00 2020 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 4cbf66044a0699e096fa2a717b16c28782ccad92 Merge: 84d4948 9718bda Author: Mick Semb Wever AuthorDate: Fri Aug 28 14:17:49 2020 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 84d49486e14ed7f8764435b041ec304472dbe349 Merge: f5ed8df 5a58516 Author: Mick Semb Wever AuthorDate: Fri Aug 28 12:47:38 2020 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit f5ed8df85157ac196e33b792c38f17258e33c27c Merge: 81f8a9f 1f11eb2 Author: Mick Semb Wever AuthorDate: Fri Aug 28 12:21:55 2020 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 81f8a9f29df5751b0b2aef7c4f6374395c67f2a9 Merge: 2fc090c 1caaa9c Author: Mick Semb Wever AuthorDate: Fri Aug 28 09:44:16 2020 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 CHANGES.txt| 3 ++- src/java/org/apache/cassandra/service/CassandraDaemon.java | 6 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --cc CHANGES.txt index 5b23245,d6edbe9..765097b --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,41 -1,9 +1,42 @@@ -2.2.18 +3.0.22: + * Fix gossip shutdown order (CASSANDRA-15816) + * Remove broken 'defrag-on-read' optimization (CASSANDRA-15432) + * Check for endpoint collision with hibernating nodes (CASSANDRA-14599) + * Operational improvements and hardening for replica filtering protection (CASSANDRA-15907) + * stop_paranoid disk failure policy is ignored on CorruptSSTableException after node is up (CASSANDRA-15191) + * 3.x fails to start if commit log has range tombstones from a column which is also deleted (CASSANDRA-15970) + * Forbid altering UDTs used in partition keys (CASSANDRA-15933) + * Fix empty/null json string representation (CASSANDRA-15896) + * Handle difference in timestamp precision between java8 and java11 in LogFIle.java (CASSANDRA-16050) +Merged from 2.2: * Fix CQL parsing of collections when the column type is reversed (CASSANDRA-15814) - + Merged from 2.1: + * Only allow strings to be passed to JMX authentication (CASSANDRA-16077) -2.2.17 +3.0.21 + * Backport CASSANDRA-12189: escape string literals (CASSANDRA-15948) + * Avoid hinted handoff per-host throttle being arounded to 0 in large cluster (CASSANDRA-15859) + * Avoid emitting empty range tombstones from RangeTombstoneList (CASSANDRA-15924) + * Avoid thread starvation, and improve compare-and-swap performance, in the slab allocators (CASSANDRA-15922) + * Fix broken KEYS 2i queries after DROP COMPACT STORAGE (CASSANDRA-15906) + * Add token to tombstone warning and error messages (CASSANDRA-15890) + * Fixed range read concurrency factor computation and capped as 10 times tpc cores (CASSANDRA-15752) + * Catch exception on bootstrap resume and init native transport (CASSANDRA-15863) + * Fix replica-side filtering returning stale data with CL > ONE (CASSANDRA-8272, CASSANDRA-8273) + * Fix duplicated row on 2.x upgrades when multi-rows range tombstones interact with collection ones (CASSANDRA-15805) + * Rely on snapshotted session infos on StreamResultFuture.maybeComplete to avoid race conditions (CASSANDRA-15667) + * EmptyType doesn't override writeValue so could attempt to write bytes when expected not to (CASSANDRA-15790) + * Fix index queries on partition key columns when some partitions contains only static data (CASSANDRA-13666) + * Avoid creating duplicate rows during major upgrades (CASSANDRA-15789) + * liveDiskSpaceUsed and totalDiskSpaceUsed get corrupted if IndexSummaryRedistribution gets interrupted (CASSANDRA-15674) + * Fix Debian init start/stop (CASSANDRA-15770) + * Fix infinite loop on index query paging in tables with clustering (CASSANDRA-14242) + * Fix chunk index overflow due to large sstable with small chunk length (CASSANDRA-15595) + * cqlsh return non-zero status when STDIN CQL fails (CASSANDRA-15623) + * Don't skip sstables in slice queries based only on local min/max/deletion timestamp (CASSANDRA-15690) + * Memtable memory allocations may deadlock (CASSANDRA-15367) + * Run evictFromMembership in GossipStage (CASSANDRA-15592) +Merged from 2.2: * Fix nomenclature of allow and deny lists (CASSANDRA-15862) * Remove generated files from source artifact (CASSANDRA-15849) * Remove duplicated tools binaries from tarballs (CASSANDRA-15768) diff --cc src/java/org/apache/cassandra/service/CassandraDaemon.java index 14d8aab,86e2464..666ca72 --- a/src/java/org/apache/cassandra/service/CassandraDaemon.java +++ b/src/java/org/apache/cassandra/service/CassandraDaemon.java @@@ -33,8 -34,10 +33,9 @@@ import java.rmi.registry.Registry import java.rmi.server.RMIClientSocketFactory; import java.rmi.server.RMIServerSocketFactory; import java.util.Collections; + import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.UUID; import java.util.concurrent.TimeUnit; import javax.management.ObjectName; - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. samt pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 2fc090c180140c8114238ee565dbcd13c198e882 Merge: 035dc65 3f74a9c Author: Sam Tunnicliffe AuthorDate: Wed Aug 26 13:41:10 2020 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 2844454669f41eca8113a97e01b59c3a74a14448 Merge: 8b8ec94 bb2562b Author: Mick Semb Wever AuthorDate: Tue Aug 4 10:44:11 2020 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 .jenkins/Jenkinsfile | 296 + .../CassandraXMLJUnitResultFormatter.java | 4 +- 2 files changed, 123 insertions(+), 177 deletions(-) diff --cc .jenkins/Jenkinsfile index 2b371c0,dc5982a..4a640c2 --- a/.jenkins/Jenkinsfile +++ b/.jenkins/Jenkinsfile @@@ -37,191 -37,125 +37,142 @@@ pipeline } } stage('Test') { - parallel { - stage('JVM DTests') { - steps { - warnError('Tests unstable') { - build job: "${env.JOB_NAME}-jvm-dtest" - } - } - post { - success { - warnError('missing test xml files') { - script { - copyTestResults('jvm-dtest') - } - } - } - unstable { - warnError('missing test xml files') { - script { - copyTestResults('jvm-dtest') - } - } - } + parallel { + stage('JVM DTests') { + steps { + script { + jvm_dtest = build job: "${env.JOB_NAME}-jvm-dtest", propagate: false + if (jvm_dtest.result != 'SUCCESS') unstable('jvm-dtest failures') } } - stage('units') { - steps { - warnError('Tests unstable') { - build job: "${env.JOB_NAME}-test" + post { + always { + warnError('missing test xml files') { + script { + copyTestResults('jvm-dtest', jvm_dtest.getNumber()) + } } - } - post { - success { - warnError('missing test xml files') { - script { - copyTestResults('test') - } - } - } - unstable { - warnError('missing test xml files') { - script { - copyTestResults('test') - } - } - } } } - stage('long units') { - steps { - warnError('Tests unstable') { - build job: "${env.JOB_NAME}-long-test" + } + stage('units') { + steps { + script { + test = build job: "${env.JOB_NAME}-test", propagate: false + if (test.result != 'SUCCESS') unstable('unit test failures') + } + } + post { + always { + warnError('missing test xml files') { + script { + copyTestResults('test', test.getNumber()) + } } } - post { - success { - warnError('missing test xml files') { - script { - copyTestResults('long-test') - } - } - } - unstable { - warnError('missing test xml files') { - script { - copyTestResults('long-test') - } - } - } + } + } + stage('long units') { + steps { + script { + long_test = build job: "${env.JOB_NAME}-long-test", propagate: false + if (long_test.result != 'SUCCESS') unstable('long unit test failures') } } - stage('burn') { - steps { - warnError('Tests unstable') { - build job: "${env.JOB_NAME}-test-burn" + post { + always { + warnError('missing test xml files') { + script { + copyTestResults('long-test', long_test.getNumber()) + } } } - post { - success { - warnError('missing test xml files') { -
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit c26a3cdd9ae64e537f5ece4ceb6aa12d1d3ad166 Merge: 4b0c081 d584003 Author: Mick Semb Wever AuthorDate: Wed Jul 29 14:16:54 2020 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 README.asc | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. dcapwell pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 4b0c0817fa7b8e12a8e6cf96a9a2b67f36b449e8 Merge: dc725bc b905397 Author: David Capwell AuthorDate: Tue Jul 28 17:56:49 2020 -0700 Merge branch 'cassandra-2.2' into cassandra-3.0 CHANGES.txt| 1 + src/java/org/apache/cassandra/db/LegacyLayout.java | 2 + .../org/apache/cassandra/utils/ByteBufferUtil.java | 2 + .../upgrade/MigrateDropColumnsTest.java| 106 + 4 files changed, 111 insertions(+) diff --cc CHANGES.txt index a42de51,439ef5d..d22ba43 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,7 -1,4 +1,8 @@@ -2.2.18 +3.0.22: ++ * 3.x fails to start if commit log has range tombstones from a column which is also deleted (CASSANDRA-15970) + * Forbid altering UDTs used in partition keys (CASSANDRA-15933) + * Fix empty/null json string representation (CASSANDRA-15896) +Merged from 2.2: * Fix CQL parsing of collections when the column type is reversed (CASSANDRA-15814) diff --cc src/java/org/apache/cassandra/db/LegacyLayout.java index 8492de5,000..e58603a mode 100644,00..100644 --- a/src/java/org/apache/cassandra/db/LegacyLayout.java +++ b/src/java/org/apache/cassandra/db/LegacyLayout.java @@@ -1,2793 -1,0 +1,2795 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.cassandra.db; + +import java.io.DataInput; +import java.io.IOException; +import java.io.IOError; +import java.nio.ByteBuffer; +import java.security.MessageDigest; +import java.util.*; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; + +import org.apache.cassandra.cql3.ColumnIdentifier; +import org.apache.cassandra.cql3.SuperColumnCompatibility; +import org.apache.cassandra.utils.AbstractIterator; + +import com.google.common.annotations.VisibleForTesting; +import com.google.common.collect.Iterators; +import com.google.common.collect.Lists; +import com.google.common.collect.PeekingIterator; + +import org.apache.cassandra.config.CFMetaData; +import org.apache.cassandra.config.ColumnDefinition; +import org.apache.cassandra.db.filter.ColumnFilter; +import org.apache.cassandra.db.filter.DataLimits; +import org.apache.cassandra.db.rows.*; +import org.apache.cassandra.db.partitions.*; +import org.apache.cassandra.db.context.CounterContext; +import org.apache.cassandra.db.marshal.*; +import org.apache.cassandra.io.util.DataInputPlus; +import org.apache.cassandra.io.util.DataOutputPlus; +import org.apache.cassandra.net.MessagingService; +import org.apache.cassandra.utils.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import static com.google.common.collect.Iterables.all; +import static org.apache.cassandra.utils.ByteBufferUtil.bytes; + +/** + * Functions to deal with the old format. + */ +public abstract class LegacyLayout +{ +private static final Logger logger = LoggerFactory.getLogger(LegacyLayout.class); +private static final NoSpamLogger noSpamLogger = NoSpamLogger.getLogger(logger, 1L, TimeUnit.MINUTES); + +public final static int MAX_CELL_NAME_LENGTH = FBUtilities.MAX_UNSIGNED_SHORT; + +public final static int STATIC_PREFIX = 0x; + +public final static int DELETION_MASK= 0x01; +public final static int EXPIRATION_MASK = 0x02; +public final static int COUNTER_MASK = 0x04; +public final static int COUNTER_UPDATE_MASK = 0x08; +private final static int RANGE_TOMBSTONE_MASK = 0x10; + +// Used in decodeBound if the number of components in the legacy bound is greater than the clustering size, +// indicating a complex column deletion (i.e. a collection tombstone), but the referenced column is either +// not present in the current table metadata, or is not currently a complex column. In that case, we'll +// check the dropped columns for the table which should contain the previous column definition. If that +// previous definition is also not complex (indicating that the column may have bee
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. dcapwell pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit ebf9c74c4ea8aefb1262458664571fdb52b76102 Merge: 5ee720a 25fd7bd Author: David Capwell AuthorDate: Fri Jul 24 18:47:39 2020 -0700 Merge branch 'cassandra-2.2' into cassandra-3.0 build.xml | 1 + .../apache/cassandra/service/CassandraDaemon.java | 35 --- .../distributed/test/ThriftClientTest.java | 51 ++ .../distributed/test/ThriftClientUtils.java| 38 4 files changed, 118 insertions(+), 7 deletions(-) diff --cc src/java/org/apache/cassandra/service/CassandraDaemon.java index 85a002f,7d85d9d..271f763 --- a/src/java/org/apache/cassandra/service/CassandraDaemon.java +++ b/src/java/org/apache/cassandra/service/CassandraDaemon.java @@@ -408,11 -367,12 +408,6 @@@ public class CassandraDaemo // due to scheduling errors or race conditions ScheduledExecutors.optionalTasks.scheduleWithFixedDelay(ColumnFamilyStore.getBackgroundCompactionTaskSubmitter(), 5, 1, TimeUnit.MINUTES); - // Thrift - InetAddress rpcAddr = DatabaseDescriptor.getRpcAddress(); - int rpcPort = DatabaseDescriptor.getRpcPort(); - int listenBacklog = DatabaseDescriptor.getRpcListenBacklog(); - thriftServer = new ThriftServer(rpcAddr, rpcPort, listenBacklog); -// schedule periodic dumps of table size estimates into SystemKeyspace.SIZE_ESTIMATES_CF -// set cassandra.size_recorder_interval to 0 to disable -int sizeRecorderInterval = Integer.getInteger("cassandra.size_recorder_interval", 5 * 60); -if (sizeRecorderInterval > 0) - ScheduledExecutors.optionalTasks.scheduleWithFixedDelay(SizeEstimatesRecorder.instance, 30, sizeRecorderInterval, TimeUnit.SECONDS); - initializeNativeTransport(); completeSetup(); @@@ -420,9 -380,58 +415,16 @@@ public void initializeNativeTransport() { + // Thrift + InetAddress rpcAddr = DatabaseDescriptor.getRpcAddress(); + int rpcPort = DatabaseDescriptor.getRpcPort(); + int listenBacklog = DatabaseDescriptor.getRpcListenBacklog(); -thriftServer = new ThriftServer(rpcAddr, rpcPort, listenBacklog); - -// Native transport -InetAddress nativeAddr = DatabaseDescriptor.getRpcAddress(); -int nativePort = DatabaseDescriptor.getNativeTransportPort(); -nativeServer = new org.apache.cassandra.transport.Server(nativeAddr, nativePort); -} - -public void startNativeTransport() -{ -validateTransportsCanStart(); - -if (nativeServer == null) -throw new IllegalStateException("native transport should be set up before it can be started"); - -nativeServer.start(); -logger.info("Native server running on {}", new InetSocketAddress(DatabaseDescriptor.getRpcAddress(), DatabaseDescriptor.getNativeTransportPort())); - + if (thriftServer == null) -throw new IllegalStateException("thrift transport should be set up before it can be started"); -thriftServer.start(); -logger.info("Thrift server running on {}", new InetSocketAddress(DatabaseDescriptor.getRpcAddress(), DatabaseDescriptor.getRpcPort())); -} ++thriftServer = new ThriftServer(rpcAddr, rpcPort, listenBacklog); + -private void validateTransportsCanStart() -{ -// We only start transports if bootstrap has completed and we're not in survey mode, OR if we are in -// survey mode and streaming has completed but we're not using auth. -// OR if we have not joined the ring yet. -if (StorageService.instance.hasJoined()) -{ -if (StorageService.instance.isSurveyMode()) -{ -if (StorageService.instance.isBootstrapMode() || DatabaseDescriptor.getAuthenticator().requireAuthentication()) -{ -throw new IllegalStateException("Not starting client transports in write_survey mode as it's bootstrapping or " + -"auth is enabled"); -} -} -else -{ -if (!SystemKeyspace.bootstrapComplete()) -{ -throw new IllegalStateException("Node is not yet bootstrapped completely. Use nodetool to check bootstrap" + -" state and resume. For more, see `nodetool help bootstrap`"); -} -} -} +// Native transport +if (nativeTransportService == null) +nativeTransportService = new NativeTransportService(); } /* @@@ -563,11 -568,19 +565,17 @@@ @
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 5ee720a1cd7bf938998f76b370f4e5bb9b46b7ef Merge: be1e3de 53e3309 Author: Mick Semb Wever AuthorDate: Fri Jul 24 23:52:12 2020 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. adelapena pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit be1e3de1c3cefeacbe8c8d8551a00cd9642e32b8 Merge: 7a554a7 9f8d5b8 Author: Andrés de la Peña AuthorDate: Thu Jul 23 12:40:24 2020 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 # Conflicts: # CHANGES.txt # src/java/org/apache/cassandra/cql3/Lists.java # src/java/org/apache/cassandra/cql3/Maps.java # src/java/org/apache/cassandra/cql3/Sets.java CHANGES.txt| 2 + src/java/org/apache/cassandra/cql3/Lists.java | 18 +- src/java/org/apache/cassandra/cql3/Maps.java | 27 +- src/java/org/apache/cassandra/cql3/Sets.java | 20 +- .../validation/entities/FrozenCollectionsTest.java | 468 + 5 files changed, 450 insertions(+), 85 deletions(-) diff --cc CHANGES.txt index 0bd6421,9034ae1..06a25b8 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,31 -1,5 +1,33 @@@ -2.2.17 +3.0.22: + * Fix empty/null json string representation (CASSANDRA-15896) ++Merged from 2.2: + * Fix CQL parsing of collections when the column type is reversed (CASSANDRA-15814) + + +3.0.21 + * Backport CASSANDRA-12189: escape string literals (CASSANDRA-15948) + * Avoid hinted handoff per-host throttle being arounded to 0 in large cluster (CASSANDRA-15859) + * Avoid emitting empty range tombstones from RangeTombstoneList (CASSANDRA-15924) + * Avoid thread starvation, and improve compare-and-swap performance, in the slab allocators (CASSANDRA-15922) + * Fix broken KEYS 2i queries after DROP COMPACT STORAGE (CASSANDRA-15906) + * Add token to tombstone warning and error messages (CASSANDRA-15890) + * Fixed range read concurrency factor computation and capped as 10 times tpc cores (CASSANDRA-15752) + * Catch exception on bootstrap resume and init native transport (CASSANDRA-15863) + * Fix replica-side filtering returning stale data with CL > ONE (CASSANDRA-8272, CASSANDRA-8273) + * Fix duplicated row on 2.x upgrades when multi-rows range tombstones interact with collection ones (CASSANDRA-15805) + * Rely on snapshotted session infos on StreamResultFuture.maybeComplete to avoid race conditions (CASSANDRA-15667) + * EmptyType doesn't override writeValue so could attempt to write bytes when expected not to (CASSANDRA-15790) + * Fix index queries on partition key columns when some partitions contains only static data (CASSANDRA-13666) + * Avoid creating duplicate rows during major upgrades (CASSANDRA-15789) + * liveDiskSpaceUsed and totalDiskSpaceUsed get corrupted if IndexSummaryRedistribution gets interrupted (CASSANDRA-15674) + * Fix Debian init start/stop (CASSANDRA-15770) + * Fix infinite loop on index query paging in tables with clustering (CASSANDRA-14242) + * Fix chunk index overflow due to large sstable with small chunk length (CASSANDRA-15595) + * cqlsh return non-zero status when STDIN CQL fails (CASSANDRA-15623) + * Don't skip sstables in slice queries based only on local min/max/deletion timestamp (CASSANDRA-15690) + * Memtable memory allocations may deadlock (CASSANDRA-15367) + * Run evictFromMembership in GossipStage (CASSANDRA-15592) +Merged from 2.2: * Fix nomenclature of allow and deny lists (CASSANDRA-15862) * Remove generated files from source artifact (CASSANDRA-15849) * Remove duplicated tools binaries from tarballs (CASSANDRA-15768) diff --cc src/java/org/apache/cassandra/cql3/Lists.java index 065f74a,c6b78d7..f4b2294 --- a/src/java/org/apache/cassandra/cql3/Lists.java +++ b/src/java/org/apache/cassandra/cql3/Lists.java @@@ -29,10 -26,14 +29,12 @@@ import com.google.common.annotations.Vi import org.apache.cassandra.config.ColumnDefinition; import org.apache.cassandra.cql3.functions.Function; -import org.apache.cassandra.db.Cell; -import org.apache.cassandra.db.ColumnFamily; -import org.apache.cassandra.db.composites.CellName; -import org.apache.cassandra.db.composites.Composite; +import org.apache.cassandra.db.*; +import org.apache.cassandra.db.rows.*; + import org.apache.cassandra.db.marshal.AbstractType; import org.apache.cassandra.db.marshal.Int32Type; import org.apache.cassandra.db.marshal.ListType; + import org.apache.cassandra.db.marshal.ReversedType; import org.apache.cassandra.exceptions.InvalidRequestException; import org.apache.cassandra.serializers.CollectionSerializer; import org.apache.cassandra.serializers.MarshalException; @@@ -54,10 -56,20 +56,20 @@@ public abstract class List public static ColumnSpecification valueSpecOf(ColumnSpecification column) { - return new ColumnSpecification(column.ksName, column.cfName, new ColumnIdentifier("value(" + column.name + ")", true), ((ListType)column.type).getElementsType()); + return new ColumnSpecification(column.ksName, column.cfName, new ColumnIdentifier("value(" + c
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit e8745effa0140202684f6c7f4fc6e5c18d96b295 Merge: 4f11cb9 cd006d2 Author: Mick Semb Wever AuthorDate: Tue Jul 14 22:06:20 2020 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. adelapena pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 4f11cb9feebdb0017de1e1063cbf72b840567518 Merge: 979a71b 257fb03 Author: adelapena AuthorDate: Fri Jul 10 18:04:18 2020 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 # Conflicts: # CHANGES.txt # src/java/org/apache/cassandra/db/ColumnFamilyStore.java # test/unit/org/apache/cassandra/db/ColumnFamilyStoreTest.java CHANGES.txt| 3 ++ .../org/apache/cassandra/db/ColumnFamilyStore.java | 12 +++ src/java/org/apache/cassandra/db/Directories.java | 23 - .../apache/cassandra/io/sstable/Descriptor.java| 7 +++- .../apache/cassandra/db/ColumnFamilyStoreTest.java | 40 ++ 5 files changed, 69 insertions(+), 16 deletions(-) diff --cc CHANGES.txt index 16974c4,02de7c1..5681007 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -26,71 -4,24 +26,74 @@@ Merged from 2.2 * Remove duplicated tools binaries from tarballs (CASSANDRA-15768) * Duplicate results with DISTINCT queries in mixed mode (CASSANDRA-15501) * Disable JMX rebinding (CASSANDRA-15653) - * Fix Commit log replays when static column clustering keys are collections (CASSANDRA-14365) - * Fix Red Hat init script on newer systemd versions (CASSANDRA-15273) - * Allow EXTRA_CLASSPATH to work on tar/source installations (CASSANDRA-15567) Merged from 2.1: + * Fix writing of snapshot manifest when the table has table-backed secondary indexes (CASSANDRA-10968) * Fix parse error in cqlsh COPY FROM and formatting for map of blobs (CASSANDRA-15679) + * Fix Commit log replays when static column clustering keys are collections (CASSANDRA-14365) + * Fix Red Hat init script on newer systemd versions (CASSANDRA-15273) + * Allow EXTRA_CLASSPATH to work on tar/source installations (CASSANDRA-15567) + -2.2.16 +3.0.20 + * Run in-jvm upgrade dtests in circleci (CASSANDRA-15506) + * Include updates to static column in mutation size calculations (CASSANDRA-15293) + * Fix point-in-time recoevery ignoring timestamp of updates to static columns (CASSANDRA-15292) + * GC logs are also put under $CASSANDRA_LOG_DIR (CASSANDRA-14306) + * Fix sstabledump's position key value when partitions have multiple rows (CASSANDRA-14721) + * Avoid over-scanning data directories in LogFile.verify() (CASSANDRA-15364) + * Bump generations and document changes to system_distributed and system_traces in 3.0, 3.11 + (CASSANDRA-15441) + * Fix system_traces creation timestamp; optimise system keyspace upgrades (CASSANDRA-15398) + * Fix various data directory prefix matching issues (CASSANDRA-13974) + * Minimize clustering values in metadata collector (CASSANDRA-15400) + * Avoid over-trimming of results in mixed mode clusters (CASSANDRA-15405) + * validate value sizes in LegacyLayout (CASSANDRA-15373) + * Ensure that tracing doesn't break connections in 3.x/4.0 mixed mode by default (CASSANDRA-15385) + * Make sure index summary redistribution does not start when compactions are paused (CASSANDRA-15265) + * Ensure legacy rows have primary key livenessinfo when they contain illegal cells (CASSANDRA-15365) + * Fix race condition when setting bootstrap flags (CASSANDRA-14878) + * Fix NativeLibrary.tryOpenDirectory callers for Windows (CASSANDRA-15426) +Merged from 2.2: * Fix SELECT JSON output for empty blobs (CASSANDRA-15435) * In-JVM DTest: Set correct internode message version for upgrade test (CASSANDRA-15371) - * In-JVM DTest: Support NodeTool in dtest + * In-JVM DTest: Support NodeTool in dtest (CASSANDRA-15429) + -2.2.15 +3.0.19 + * Add ability to cap max negotiable protocol version (CASSANDRA-15193) + * Gossip tokens on startup if available (CASSANDRA-15335) + * Fix resource leak in CompressedSequentialWriter (CASSANDRA-15340) + * Fix merge which reverted CASSANDRA-14993 (CASSANDRA-15289) + * Fix LegacyLayout RangeTombstoneList IndexOutOfBoundsException when upgrading and RangeTombstone bounds are asymmetric (CASSANDRA-15172) + * Fix NPE when using allocate_tokens_for_keyspace on new DC/rack (CASSANDRA-14952) + * Filter sstables earlier when running cleanup (CASSANDRA-15100) + * Use mean row count instead of mean column count for index selectivity calculation (CASSANDRA-15259) + * Avoid updating unchanged gossip states (CASSANDRA-15097) + * Prevent recreation of previously dropped columns with a different kind (CASSANDRA-14948) + * Prevent client requests from blocking on executor task queue (CASSANDRA-15013) + * Toughen up column drop/recreate type validations (CASSANDRA-15204) + * LegacyLayout should handle paging states that cross a collection column (CASSANDRA-15201) + * Prevent RuntimeException when username or password is empty/null (CASSANDRA-15198) + * Multiget thrift query returns null records after digest
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. marcuse pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit fad5a09c9f2ca84e4e030061fb02ca823128c896 Merge: ab6a87b f79d105 Author: Marcus Eriksson AuthorDate: Fri Jul 10 10:30:46 2020 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 build.xml | 5 +- .../distributed/impl/AbstractCluster.java | 6 + .../distributed/test/ByteBuddyExamples.java| 123 + 3 files changed, 133 insertions(+), 1 deletion(-) diff --cc build.xml index ba6d817,8bed062..d50007e --- a/build.xml +++ b/build.xml @@@ -415,11 -419,19 +416,13 @@@ - - - - + + + + + + - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 461dce273269d011c76c0fdfbcc97fa6a105ce3a Merge: 226b756 6df467a Author: Mick Semb Wever AuthorDate: Wed Jun 24 12:14:30 2020 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 .jenkins/Jenkinsfile | 26 -- 1 file changed, 24 insertions(+), 2 deletions(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. samt pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 0a1e8d168bac0f562774814a808e313e1d2d6571 Merge: c092c46 c8c3c26 Author: Sam Tunnicliffe AuthorDate: Fri Jun 12 11:21:14 2020 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 CHANGES.txt| 1 + .../cassandra/cql3/functions/UDFunction.java | 22 src/java/org/apache/cassandra/db/Directories.java | 28 ++--- ...Directories.java => DisallowedDirectories.java} | 29 +++--- ...sMBean.java => DisallowedDirectoriesMBean.java} | 3 ++- .../db/compaction/AbstractCompactionStrategy.java | 6 ++--- .../cassandra/db/compaction/LeveledManifest.java | 2 +- .../cassandra/hints/HintsDispatchExecutor.java | 2 +- .../org/apache/cassandra/hints/HintsStore.java | 10 .../cassandra/io/sstable/format/SSTableReader.java | 2 +- .../cassandra/service/DefaultFSErrorHandler.java | 6 ++--- test/unit/org/apache/cassandra/Util.java | 4 +-- .../org/apache/cassandra/db/DirectoriesTest.java | 2 +- java => CorruptedSSTablesCompactionsTest.java} | 17 +++-- 14 files changed, 69 insertions(+), 65 deletions(-) diff --cc CHANGES.txt index 3fdbb96,b10a057..d506dc8 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,19 -1,5 +1,20 @@@ -2.2.18 +3.0.21 + * Fix replica-side filtering returning stale data with CL > ONE (CASSANDRA-8272, CASSANDRA-8273) + * Fix duplicated row on 2.x upgrades when multi-rows range tombstones interact with collection ones (CASSANDRA-15805) + * Rely on snapshotted session infos on StreamResultFuture.maybeComplete to avoid race conditions (CASSANDRA-15667) + * EmptyType doesn't override writeValue so could attempt to write bytes when expected not to (CASSANDRA-15790) + * Fix index queries on partition key columns when some partitions contains only static data (CASSANDRA-13666) + * Avoid creating duplicate rows during major upgrades (CASSANDRA-15789) + * liveDiskSpaceUsed and totalDiskSpaceUsed get corrupted if IndexSummaryRedistribution gets interrupted (CASSANDRA-15674) + * Fix Debian init start/stop (CASSANDRA-15770) + * Fix infinite loop on index query paging in tables with clustering (CASSANDRA-14242) + * Fix chunk index overflow due to large sstable with small chunk length (CASSANDRA-15595) + * cqlsh return non-zero status when STDIN CQL fails (CASSANDRA-15623) + * Don't skip sstables in slice queries based only on local min/max/deletion timestamp (CASSANDRA-15690) + * Memtable memory allocations may deadlock (CASSANDRA-15367) + * Run evictFromMembership in GossipStage (CASSANDRA-15592) +Merged from 2.2: + * Fix nomenclature of allow and deny lists (CASSANDRA-15862) * Remove generated files from source artifact (CASSANDRA-15849) * Remove duplicated tools binaries from tarballs (CASSANDRA-15768) * Duplicate results with DISTINCT queries in mixed mode (CASSANDRA-15501) diff --cc src/java/org/apache/cassandra/cql3/functions/UDFunction.java index 7b69342,1e5cea6..27f9eb8 --- a/src/java/org/apache/cassandra/cql3/functions/UDFunction.java +++ b/src/java/org/apache/cassandra/cql3/functions/UDFunction.java @@@ -71,111 -49,10 +71,111 @@@ public abstract class UDFunction extend protected final String language; protected final String body; -protected final DataType[] argDataTypes; -protected final DataType returnDataType; +protected final TypeCodec[] argCodecs; +protected final TypeCodec returnCodec; protected final boolean calledOnNullInput; +// - // Access to classes is controlled via a whitelist and a blacklist. ++// Access to classes is controlled via allow and disallow lists. +// +// When a class is requested (both during compilation and runtime), - // the whitelistedPatterns array is searched first, whether the ++// the allowedPatterns array is searched first, whether the +// requested name matches one of the patterns. If not, nothing is +// returned from the class-loader - meaning ClassNotFoundException +// during runtime and "type could not resolved" during compilation. +// - // If a whitelisted pattern has been found, the blacklistedPatterns ++// If an allowed pattern has been found, the disallowedPatterns +// array is searched for a match. If a match is found, class-loader +// rejects access. Otherwise the class/resource can be loaded. +// - private static final String[] whitelistedPatterns = ++private static final String[] allowedPatterns = +{ +"com/datastax/driver/core/", +"com/google/common/reflect/TypeToken", +"java/io/IOException.class", +"java/io/Serializable.class", +"java/lang/", +"java/math/", +"java/net/InetAddress.class", +"java/net/Inet4Address.class", +"java/n
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit c092c4610e05b42d2fb2439cf4930bfdd4c84594 Merge: 880b07c 3340247 Author: Mick Semb Wever AuthorDate: Mon Jun 8 22:33:09 2020 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 .gitignore | 1 + CHANGES.txt | 1 + build.xml | 4 3 files changed, 6 insertions(+) diff --cc CHANGES.txt index ff00579,788b2bf..3fdbb96 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,19 -1,5 +1,20 @@@ -2.2.18 +3.0.21 + * Fix replica-side filtering returning stale data with CL > ONE (CASSANDRA-8272, CASSANDRA-8273) + * Fix duplicated row on 2.x upgrades when multi-rows range tombstones interact with collection ones (CASSANDRA-15805) + * Rely on snapshotted session infos on StreamResultFuture.maybeComplete to avoid race conditions (CASSANDRA-15667) + * EmptyType doesn't override writeValue so could attempt to write bytes when expected not to (CASSANDRA-15790) + * Fix index queries on partition key columns when some partitions contains only static data (CASSANDRA-13666) + * Avoid creating duplicate rows during major upgrades (CASSANDRA-15789) + * liveDiskSpaceUsed and totalDiskSpaceUsed get corrupted if IndexSummaryRedistribution gets interrupted (CASSANDRA-15674) + * Fix Debian init start/stop (CASSANDRA-15770) + * Fix infinite loop on index query paging in tables with clustering (CASSANDRA-14242) + * Fix chunk index overflow due to large sstable with small chunk length (CASSANDRA-15595) + * cqlsh return non-zero status when STDIN CQL fails (CASSANDRA-15623) + * Don't skip sstables in slice queries based only on local min/max/deletion timestamp (CASSANDRA-15690) + * Memtable memory allocations may deadlock (CASSANDRA-15367) + * Run evictFromMembership in GossipStage (CASSANDRA-15592) +Merged from 2.2: + * Remove generated files from source artifact (CASSANDRA-15849) * Remove duplicated tools binaries from tarballs (CASSANDRA-15768) * Duplicate results with DISTINCT queries in mixed mode (CASSANDRA-15501) * Disable JMX rebinding (CASSANDRA-15653) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. ifesdjeen pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 880b07c2e63f6e1dea92995a1baa14707e3c2e5e Merge: dd255ff 4fef917 Author: Alex Petrov AuthorDate: Fri Jun 5 19:25:27 2020 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 build.xml | 2 +- .../org/apache/cassandra/distributed/Cluster.java | 38 +++- .../cassandra/distributed/UpgradeableCluster.java | 33 +++--- .../distributed/impl/AbstractCluster.java | 53 ++ .../cassandra/distributed/impl/Coordinator.java| 33 ++ .../impl/DelegatingInvokableInstance.java | 6 +++ .../cassandra/distributed/impl/Instance.java | 10 ++-- .../apache/cassandra/distributed/impl/RowUtil.java | 22 + .../cassandra/distributed/test/BootstrapTest.java | 18 +++- .../cassandra/distributed/test/TestBaseImpl.java | 9 ++-- .../distributed/upgrade/UpgradeTestBase.java | 10 ++-- 11 files changed, 139 insertions(+), 95 deletions(-) diff --cc test/distributed/org/apache/cassandra/distributed/impl/Coordinator.java index e2ebef0,6553fb9..2f2b525 --- a/test/distributed/org/apache/cassandra/distributed/impl/Coordinator.java +++ b/test/distributed/org/apache/cassandra/distributed/impl/Coordinator.java @@@ -35,9 -36,13 +36,11 @@@ import org.apache.cassandra.distributed import org.apache.cassandra.distributed.api.ICoordinator; import org.apache.cassandra.distributed.api.IInstance; import org.apache.cassandra.distributed.api.QueryResult; + import org.apache.cassandra.distributed.api.QueryResults; + import org.apache.cassandra.distributed.api.SimpleQueryResult; import org.apache.cassandra.service.ClientState; import org.apache.cassandra.service.QueryState; -import org.apache.cassandra.service.pager.Pageable; import org.apache.cassandra.service.pager.QueryPager; -import org.apache.cassandra.service.pager.QueryPagers; import org.apache.cassandra.transport.Server; import org.apache.cassandra.tracing.Tracing; import org.apache.cassandra.transport.messages.ResultMessage; @@@ -78,9 -83,9 +81,9 @@@ public class Coordinator implements ICo return org.apache.cassandra.db.ConsistencyLevel.fromCode(cl.ordinal()); } - private QueryResult executeInternal(String query, ConsistencyLevel consistencyLevelOrigin, Object[] boundValues) + private SimpleQueryResult executeInternal(String query, ConsistencyLevel consistencyLevelOrigin, Object[] boundValues) { -ClientState clientState = ClientState.forInternalCalls(); +ClientState clientState = makeFakeClientState(); CQLStatement prepared = QueryProcessor.getStatement(query, clientState).statement; List boundBBValues = new ArrayList<>(); ConsistencyLevel consistencyLevel = ConsistencyLevel.valueOf(consistencyLevelOrigin.name()); @@@ -136,29 -130,32 +129,30 @@@ boundBBValues.add(ByteBufferUtil.objectToBytes(boundValue)); } -prepared.validate(QueryState.forInternalCalls().getClientState()); +prepared.validate(clientState); assert prepared instanceof SelectStatement : "Only SELECT statements can be executed with paging"; -ClientState clientState = QueryState.forInternalCalls().getClientState(); SelectStatement selectStatement = (SelectStatement) prepared; -QueryOptions queryOptions = QueryOptions.create(toCassandraCL(consistencyLevel), -boundBBValues, -false, -pageSize, -null, -null, - Server.CURRENT_VERSION); -Pageable pageable = selectStatement.getPageableCommand(queryOptions); + +QueryPager pager = selectStatement.getQuery(QueryOptions.create(toCassandraCL(consistencyLevel), + boundBBValues, + false, + pageSize, + null, + null, + Server.CURRENT_VERSION), + FBUtilities.nowInSeconds()) - .getPager(null, Server.CURRENT_VE
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 8de45af3f1a667a8183896e7e6d6af2db34715d1 Merge: b105e91 1c898f9 Author: Mick Semb Wever AuthorDate: Thu May 7 13:28:53 2020 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 .jenkins/Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit bc7ca568eada26867fb9c6c1cdacb9e37aa4a54b Merge: 196e544 94aee92 Author: Mick Semb Wever AuthorDate: Wed May 6 13:09:08 2020 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 .jenkins/Jenkinsfile | 38 ++ 1 file changed, 26 insertions(+), 12 deletions(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 196e54436fdf6487f3f2380ce45e053dd431df3b Merge: 0fd9b5b c6a9f55 Author: Mick Semb Wever AuthorDate: Wed May 6 12:52:50 2020 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 CHANGES.txt | 1 + build.xml | 1 + 2 files changed, 2 insertions(+) diff --cc CHANGES.txt index c495cd6,00507d2..6e6f418 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,12 -1,5 +1,13 @@@ -2.2.18 +3.0.21 + * Fix Debian init start/stop (CASSANDRA-15770) + * Fix infinite loop on index query paging in tables with clustering (CASSANDRA-14242) + * Fix chunk index overflow due to large sstable with small chunk length (CASSANDRA-15595) + * cqlsh return non-zero status when STDIN CQL fails (CASSANDRA-15623) + * Don't skip sstables in slice queries based only on local min/max/deletion timestamp (CASSANDRA-15690) + * Memtable memory allocations may deadlock (CASSANDRA-15367) + * Run evictFromMembership in GossipStage (CASSANDRA-15592) +Merged from 2.2: + * Remove duplicated tools binaries from tarballs (CASSANDRA-15768) * Duplicate results with DISTINCT queries in mixed mode (CASSANDRA-15501) * Disable JMX rebinding (CASSANDRA-15653) Merged from 2.1: - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 0fd9b5bd6fe45ccd61ed2e194f4991aab4ea71c5 Merge: ed62641 b44a214 Author: Mick Semb Wever AuthorDate: Thu Apr 30 19:30:59 2020 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 build.xml | 5 + 1 file changed, 1 insertion(+), 4 deletions(-) diff --cc build.xml index 2527883,6bef406..664e98c --- a/build.xml +++ b/build.xml @@@ -1309,12 -1357,14 +1310,11 @@@ - - - - + - + @@@ -1819,39 -1872,6 +1818,38 @@@ + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. marcuse pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 577409673e9d52385a7c2c175b0e1ef4e0317cba Merge: 29c8624 16f639a Author: Marcus Eriksson AuthorDate: Thu Apr 16 12:52:07 2020 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 CHANGES.txt| 3 +- .../service/pager/PartitionRangeQueryPager.java| 5 +- .../cassandra/distributed/UpgradeableCluster.java | 7 ++ .../distributed/impl/AbstractCluster.java | 11 ++- .../impl/DelegatingInvokableInstance.java | 3 +- .../cassandra/distributed/impl/Instance.java | 2 +- .../upgrade/MixedModeReadRepairTest.java | 27 +++--- .../cassandra/distributed/upgrade/PagingTest.java | 96 ++ .../distributed/upgrade/UpgradeTestBase.java | 13 ++- 9 files changed, 142 insertions(+), 25 deletions(-) diff --cc CHANGES.txt index eb0b66e,6913575..5af0ef3 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,10 -1,10 +1,11 @@@ -2.2.18 +3.0.21 + * Memtable memory allocations may deadlock (CASSANDRA-15367) + * Run evictFromMembership in GossipStage (CASSANDRA-15592) +Merged from 2.2: + * Duplicate results with DISTINCT queries in mixed mode (CASSANDRA-15501) * Disable JMX rebinding (CASSANDRA-15653) Merged from 2.1: -- * Fix parse error in cqlsh COPY FROM and formatting for map of blobs (CASSANDRA-15679) - -2.2.17 ++ * Fix parse error in cqlsh COPY FROM and formatting for map of blobs (CASSANDRA-15679) * Fix Commit log replays when static column clustering keys are collections (CASSANDRA-14365) * Fix Red Hat init script on newer systemd versions (CASSANDRA-15273) * Allow EXTRA_CLASSPATH to work on tar/source installations (CASSANDRA-15567) diff --cc src/java/org/apache/cassandra/service/pager/PartitionRangeQueryPager.java index ea79017,000..aed5a23 mode 100644,00..100644 --- a/src/java/org/apache/cassandra/service/pager/PartitionRangeQueryPager.java +++ b/src/java/org/apache/cassandra/service/pager/PartitionRangeQueryPager.java @@@ -1,124 -1,0 +1,127 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.cassandra.service.pager; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.apache.cassandra.db.*; +import org.apache.cassandra.db.filter.DataLimits; +import org.apache.cassandra.db.rows.Row; +import org.apache.cassandra.dht.*; +import org.apache.cassandra.exceptions.RequestExecutionException; + +/** + * Pages a PartitionRangeReadCommand. + * + * Note: this only work for CQL3 queries for now (because thrift queries expect + * a different limit on the rows than on the columns, which complicates it). + */ +public class PartitionRangeQueryPager extends AbstractQueryPager +{ +private static final Logger logger = LoggerFactory.getLogger(PartitionRangeQueryPager.class); + +private volatile DecoratedKey lastReturnedKey; +private volatile PagingState.RowMark lastReturnedRow; + +public PartitionRangeQueryPager(PartitionRangeReadCommand command, PagingState state, int protocolVersion) +{ +super(command, protocolVersion); + +if (state != null) +{ +lastReturnedKey = command.metadata().decorateKey(state.partitionKey); +lastReturnedRow = state.rowMark; +restoreState(lastReturnedKey, state.remaining, state.remainingInPartition); +} +} + +public PagingState state() +{ +return lastReturnedKey == null + ? null + : new PagingState(lastReturnedKey.getKey(), lastReturnedRow, maxRemaining(), remainingInPartition()); +} + +protected ReadCommand nextPageReadCommand(int pageSize) +throws RequestExecutionException +{ +DataLimits limits; +DataRange fullRange = ((PartitionRangeReadCommand)command).dataRange(); +DataRange pageRange; +if (lastReturnedKey == null) +{ +pageRange = fullRange; +limits = command.limits().forPaging(pageSize); +} +
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. marcuse pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 29c862462a4271affc7627d5ebb00e00df5ffb37 Merge: 7d201cd 91ce047 Author: Marcus Eriksson AuthorDate: Thu Apr 9 16:39:38 2020 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 .../org/apache/cassandra/distributed/impl/InstanceConfig.java| 5 + 1 file changed, 5 insertions(+) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. marcuse pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 7d201cd0e32260d80ada3a0de0829d129632b1c9 Merge: fe263ad 479a76d Author: Marcus Eriksson AuthorDate: Thu Apr 9 16:30:27 2020 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 .../cassandra/distributed/UpgradeableCluster.java | 9 - .../cassandra/distributed/impl/InstanceConfig.java | 2 +- .../cassandra/distributed/upgrade/UpgradeTestBase.java | 17 + 3 files changed, 18 insertions(+), 10 deletions(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. stefania pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit fe263ad9e98c1d43eef74b88fcb111b697f619ef Merge: e3f54d4 c8081c2 Author: Stefania Alborghetti AuthorDate: Thu Apr 9 08:58:55 2020 -0400 Merge branch 'cassandra-2.2' into cassandra-3.0 CHANGES.txt | 2 ++ pylib/cqlshlib/copyutil.py | 4 ++-- pylib/cqlshlib/formatting.py | 9 - 3 files changed, 12 insertions(+), 3 deletions(-) diff --cc CHANGES.txt index 2d14e34,56dd315..eb0b66e --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,8 -1,9 +1,10 @@@ -2.2.18 +3.0.21 + * Memtable memory allocations may deadlock (CASSANDRA-15367) + * Run evictFromMembership in GossipStage (CASSANDRA-15592) +Merged from 2.2: * Disable JMX rebinding (CASSANDRA-15653) + Merged from 2.1: + * Fix parse error in cqlsh COPY FROM and formatting for map of blobs (CASSANDRA-15679) - -2.2.17 * Fix Commit log replays when static column clustering keys are collections (CASSANDRA-14365) * Fix Red Hat init script on newer systemd versions (CASSANDRA-15273) * Allow EXTRA_CLASSPATH to work on tar/source installations (CASSANDRA-15567) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit aebd33f0bae61a7a61b4d5623b033f2e4ce0 Merge: c2cfebf 3940a9e Author: Mick Semb Wever AuthorDate: Sat Mar 28 11:37:53 2020 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 .jenkins/Jenkinsfile | 8 1 file changed, 4 insertions(+), 4 deletions(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. ifesdjeen pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit c2cfebf44f93af061131d73e4dcbf2a9ff582fe8 Merge: f2c9b4c 1f72cc6 Author: Alex Petrov AuthorDate: Fri Mar 27 19:04:38 2020 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 build.xml | 5 + src/java/org/apache/cassandra/net/MessageOut.java | 1 + .../org/apache/cassandra/net/MessagingService.java | 2 +- src/java/org/apache/cassandra/tools/NodeProbe.java | 11 + src/java/org/apache/cassandra/tools/NodeTool.java | 4 +- .../org/apache/cassandra/distributed/Cluster.java | 32 +- .../cassandra/distributed/UpgradeableCluster.java | 32 +- .../apache/cassandra/distributed/api/Feature.java | 24 -- .../cassandra/distributed/api/ICoordinator.java| 36 -- .../cassandra/distributed/api/IInstance.java | 57 .../cassandra/distributed/api/IInstanceConfig.java | 60 .../distributed/api/IIsolatedExecutor.java | 126 --- .../apache/cassandra/distributed/api/IListen.java | 28 -- .../apache/cassandra/distributed/api/IMessage.java | 37 -- .../cassandra/distributed/api/IMessageFilters.java | 56 .../distributed/impl/AbstractCluster.java | 373 + .../cassandra/distributed/impl/Coordinator.java| 56 ++-- .../impl/DelegatingInvokableInstance.java | 11 +- .../distributed/impl/DistributedTestSnitch.java| 31 +- .../distributed/impl/IInvokableInstance.java | 67 .../distributed/impl/IUpgradeableInstance.java | 1 + .../cassandra/distributed/impl/Instance.java | 272 --- .../distributed/impl/InstanceClassLoader.java | 130 --- .../cassandra/distributed/impl/InstanceConfig.java | 98 +++--- .../cassandra/distributed/impl/InstanceKiller.java | 50 +++ .../distributed/impl/IsolatedExecutor.java | 4 + .../apache/cassandra/distributed/impl/Listen.java | 1 - .../cassandra/distributed/impl/MessageFilters.java | 168 -- .../impl/{Message.java => MessageImpl.java}| 27 +- .../distributed/impl/NetworkTopology.java | 137 .../apache/cassandra/distributed/impl/RowUtil.java | 1 + .../cassandra/distributed/impl/TracingUtil.java| 2 +- .../cassandra/distributed/impl/Versions.java | 190 --- .../mock/nodetool/InternalNodeProbe.java | 33 +- .../mock/nodetool/InternalNodeProbeFactory.java| 11 +- .../cassandra/distributed/test/BootstrapTest.java | 50 +-- .../test/DistributedReadWritePathTest.java | 300 - .../distributed/test/DistributedTestBase.java | 166 - .../distributed/test/GossipSettlesTest.java| 16 +- .../cassandra/distributed/test/GossipTest.java | 4 +- .../distributed/test/MessageFiltersTest.java | 85 +++-- .../distributed/test/MessageForwardingTest.java| 10 +- .../distributed/test/NativeProtocolTest.java | 49 +-- .../distributed/test/NetworkTopologyTest.java | 40 ++- .../cassandra/distributed/test/NodeToolTest.java | 2 +- .../distributed/test/ResourceLeakTest.java | 13 +- .../SharedClusterTestBase.java}| 38 ++- .../distributed/test/SimpleReadWriteTest.java | 276 +++ .../cassandra/distributed/test/TestBaseImpl.java | 47 +++ .../upgrade/CompactStorage2to3UpgradeTest.java | 33 +- .../upgrade/MixedModeReadRepairTest.java | 8 +- .../cassandra/distributed/upgrade/UpgradeTest.java | 57 ++-- .../distributed/upgrade/UpgradeTestBase.java | 21 +- .../apache/cassandra/LogbackStatusListener.java| 2 +- 54 files changed, 1170 insertions(+), 2221 deletions(-) diff --cc build.xml index a40cb7d,ed9c1a2..2527883 --- a/build.xml +++ b/build.xml @@@ -520,7 -534,19 +524,8 @@@ artifactId="cassandra-parent" version="${version}"/> + - - - - - - - - - - diff --cc src/java/org/apache/cassandra/net/MessageOut.java index ce190cb,1e291c2..09ff63b --- a/src/java/org/apache/cassandra/net/MessageOut.java +++ b/src/java/org/apache/cassandra/net/MessageOut.java @@@ -30,6 -30,6 +30,7 @@@ import org.apache.cassandra.concurrent. import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.db.TypeSizes; import org.apache.cassandra.io.IVersionedSerializer; ++import org.apache.cassandra.io.util.DataOutputBuffer; import org.apache.cassandra.io.util.DataOutputPlus; import org.apache.cassandra.tracing.Tracing; import org.apache.cassandra.utils.FBUtilities; diff --cc test/distributed/org/apache/cassandra/distributed/impl/AbstractCluster.java index 55dbee1,05c8af8..82c06da --- a/test/distributed/or
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit f2c9b4c1f3580ce6e0567ba129dc5fe489ef29ca Merge: 4815ae7 b490847 Author: Mick Semb Wever AuthorDate: Fri Mar 27 12:16:18 2020 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 .circleci/config-2_1.yml | 7 ++- .circleci/config.yml | 28 .circleci/config.yml.HIGHRES | 28 .circleci/config.yml.LOWRES | 28 4 files changed, 78 insertions(+), 13 deletions(-) diff --cc .circleci/config-2_1.yml index 6b59a4f,e90ef4a..f2c4f50 --- a/.circleci/config-2_1.yml +++ b/.circleci/config-2_1.yml @@@ -441,10 -358,11 +442,14 @@@ commands 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 <> -Dtest.classlistfile=/tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt -Dtest.classlistprefix=<> + test_timeout=$(grep 'name="test.<>.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 <> -Dtest.timeout="$test_timeout" -Dtest.classlistfile=/tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt -Dtest.classlistprefix=<> no_output_timeout: <> - store_test_results: path: /tmp/cassandra/build/test/output/ diff --cc .circleci/config.yml index 817d726,d5efe4f..3c62b4a --- a/.circleci/config.yml +++ b/.circleci/config.yml @@@ -1,92 -1,5 +1,97 @@@ version: 2 jobs: + j8_jvm_upgrade_dtests: +docker: +- image: spod/cassandra-testing-ubuntu1810-java11-w-dependencies:20190306 +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 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 - ant testclasslist -Dtest.classlistfile=/tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt -Dtest.classlistprefix=distributed ++ 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 +
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. samt pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 4815ae7924aa669cd4eced6b72f88942c68186aa Merge: 0cd3b68 6a6dd8a Author: Sam Tunnicliffe AuthorDate: Wed Mar 25 17:08:50 2020 + Merge branch 'cassandra-2.2' into cassandra-3.0 CHANGES.txt| 1 + .../apache/cassandra/service/CassandraDaemon.java | 62 +- 2 files changed, 61 insertions(+), 2 deletions(-) diff --cc CHANGES.txt index 9a10106,885d33e..58798fa --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,6 -1,7 +1,7 @@@ -2.2.18 +3.0.21 + * Run evictFromMembership in GossipStage (CASSANDRA-15592) +Merged from 2.2: + * Disable JMX rebinding (CASSANDRA-15653) - -2.2.17 * Fix Commit log replays when static column clustering keys are collections (CASSANDRA-14365) * Fix Red Hat init script on newer systemd versions (CASSANDRA-15273) * Allow EXTRA_CLASSPATH to work on tar/source installations (CASSANDRA-15567) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 0cd3b689597604982e6bb0c822ad300549638d17 Merge: c81d7dc a8ef9c9 Author: Mick Semb Wever AuthorDate: Wed Mar 11 17:34:20 2020 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 src/java/org/apache/cassandra/utils/GuidGenerator.java | 6 ++ .../cql3/validation/operations/ThriftCQLTester.java| 10 +++--- test/unit/org/apache/cassandra/gms/ArrivalWindowTest.java | 14 +++--- .../unit/org/apache/cassandra/security/SSLFactoryTest.java | 4 ++-- test/unit/org/apache/cassandra/triggers/TriggersTest.java | 13 ++--- 5 files changed, 16 insertions(+), 31 deletions(-) diff --cc test/unit/org/apache/cassandra/cql3/validation/operations/ThriftCQLTester.java index a77e861,7947317..5d4d1a0 --- a/test/unit/org/apache/cassandra/cql3/validation/operations/ThriftCQLTester.java +++ b/test/unit/org/apache/cassandra/cql3/validation/operations/ThriftCQLTester.java @@@ -77,10 -74,10 +73,10 @@@ public class ThriftCQLTester extends CQ public Cassandra.Client getClient() throws Throwable { - return getClient(InetAddress.getLocalHost().getHostName(), thriftPort); + return getClient(FBUtilities.getLocalAddress().getHostName(), thriftPort); } - public Cassandra.Client getClient(String hostname, int thriftPort) throws Throwable +public Cassandra.Client getClient(String hostname, int thriftPort) throws Throwable { if (client == null) client = new Cassandra.Client(new TBinaryProtocol(new TFramedTransportFactory().openTransport(hostname, thriftPort))); diff --cc test/unit/org/apache/cassandra/triggers/TriggersTest.java index 67619dc,3cd0a2c..70e040b --- a/test/unit/org/apache/cassandra/triggers/TriggersTest.java +++ b/test/unit/org/apache/cassandra/triggers/TriggersTest.java @@@ -66,10 -61,9 +65,10 @@@ public class TriggersTes @Before public void setup() throws Exception { +StorageService.instance.initServer(0); if (thriftServer == null || ! thriftServer.isRunning()) { - thriftServer = new ThriftServer(InetAddress.getLocalHost(), 9170, 50); + thriftServer = new ThriftServer(FBUtilities.getLocalAddress(), 9170, 50); thriftServer.start(); } - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit af097240bca91b2ff52788bf1828bb9c4d405a4a Merge: d9b38a1 ae326ee Author: Mick Semb Wever AuthorDate: Tue Mar 10 08:59:59 2020 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 CHANGES.txt| 1 + .../cassandra/serializers/MapSerializer.java | 4 ++ .../cassandra/serializers/SetSerializer.java | 4 ++ .../cassandra/db/commitlog/CommitLogTest.java | 44 +- 4 files changed, 52 insertions(+), 1 deletion(-) diff --cc CHANGES.txt index 77b9fdf,246627b..9a10106 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,6 -1,5 +1,7 @@@ -2.2.17 +3.0.21 + * Run evictFromMembership in GossipStage (CASSANDRA-15592) +Merged from 2.2: + * Fix Commit log replays when static column clustering keys are collections (CASSANDRA-14365) * Fix Red Hat init script on newer systemd versions (CASSANDRA-15273) * Allow EXTRA_CLASSPATH to work on tar/source installations (CASSANDRA-15567) diff --cc test/unit/org/apache/cassandra/db/commitlog/CommitLogTest.java index b8f68ed,c883cbd..479a090 --- a/test/unit/org/apache/cassandra/db/commitlog/CommitLogTest.java +++ b/test/unit/org/apache/cassandra/db/commitlog/CommitLogTest.java @@@ -41,9 -39,12 +41,10 @@@ import org.junit.runners.Parameterized. import org.apache.cassandra.SchemaLoader; import org.apache.cassandra.Util; + import org.apache.cassandra.config.CFMetaData; import org.apache.cassandra.config.DatabaseDescriptor; -import org.apache.cassandra.config.KSMetaData; import org.apache.cassandra.config.ParameterizedClass; -import org.apache.cassandra.config.Schema; -import org.apache.cassandra.cql3.ColumnIdentifier; +import org.apache.cassandra.config.Config.DiskFailurePolicy; import org.apache.cassandra.db.*; import org.apache.cassandra.db.commitlog.CommitLogReplayer.CommitLogReplayException; import org.apache.cassandra.db.compaction.CompactionManager; @@@ -71,8 -67,9 +72,9 @@@ public class CommitLogTes { private static final String KEYSPACE1 = "CommitLogTest"; private static final String KEYSPACE2 = "CommitLogTestNonDurable"; -private static final String CF1 = "Standard1"; -private static final String CF2 = "Standard2"; -private static final String CF3 = "Custom1"; +private static final String STANDARD1 = "Standard1"; +private static final String STANDARD2 = "Standard2"; ++private static final String CUSTOM1 = "Custom1"; public CommitLogTest(ParameterizedClass commitLogCompression) { @@@ -98,20 -95,28 +100,30 @@@ @BeforeClass public static void defineSchema() throws ConfigurationException { +// Disable durable writes for system keyspaces to prevent system mutations, e.g. sstable_activity, +// to end up in CL segments and cause unexpected results in this test wrt counting CL segments, +// see CASSANDRA-12854 +KeyspaceParams.DEFAULT_LOCAL_DURABLE_WRITES = false; + SchemaLoader.prepareServer(); ++ + CFMetaData custom = CFMetaData.compile(String.format("CREATE TABLE \"%s\" (" + + "k int," + + "c1 frozen>," + + "c2 frozen>," + + "s int static," + + "PRIMARY KEY (k, c1, c2)" + - ");", CF3),KEYSPACE1); ++ ");", CUSTOM1), KEYSPACE1); ++ SchemaLoader.createKeyspace(KEYSPACE1, -SimpleStrategy.class, -KSMetaData.optsWithRF(1), -SchemaLoader.standardCFMD(KEYSPACE1, CF1), -SchemaLoader.standardCFMD(KEYSPACE1, CF2), +KeyspaceParams.simple(1), +SchemaLoader.standardCFMD(KEYSPACE1, STANDARD1, 0, AsciiType.instance, BytesType.instance), - SchemaLoader.standardCFMD(KEYSPACE1, STANDARD2, 0, AsciiType.instance, BytesType.instance)); ++SchemaLoader.standardCFMD(KEYSPACE1, STANDARD2, 0, AsciiType.instance, BytesType.instance), + custom); SchemaLoader.createKeyspace(KEYSPACE2, -false, -true, -SimpleStrategy.class, -KSMetaData.optsWithRF(1), -
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit d9b38a1f0d04a36877e8e23f2ba8a6acef0c5691 Merge: e37f77d 9105dcd Author: Mick Semb Wever AuthorDate: Tue Mar 3 22:44:07 2020 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 CHANGES.txt | 1 + redhat/cassandra | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --cc CHANGES.txt index 9adc461,44b4abe..77b9fdf --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,67 -1,16 +1,68 @@@ -2.2.17 +3.0.21 + * Run evictFromMembership in GossipStage (CASSANDRA-15592) +Merged from 2.2: + * Fix Red Hat init script on newer systemd versions (CASSANDRA-15273) * Allow EXTRA_CLASSPATH to work on tar/source installations (CASSANDRA-15567) -2.2.16 +3.0.20 + * Run in-jvm upgrade dtests in circleci (CASSANDRA-15506) + * Include updates to static column in mutation size calculations (CASSANDRA-15293) + * Fix point-in-time recoevery ignoring timestamp of updates to static columns (CASSANDRA-15292) + * GC logs are also put under $CASSANDRA_LOG_DIR (CASSANDRA-14306) + * Fix sstabledump's position key value when partitions have multiple rows (CASSANDRA-14721) + * Avoid over-scanning data directories in LogFile.verify() (CASSANDRA-15364) + * Bump generations and document changes to system_distributed and system_traces in 3.0, 3.11 + (CASSANDRA-15441) + * Fix system_traces creation timestamp; optimise system keyspace upgrades (CASSANDRA-15398) + * Fix various data directory prefix matching issues (CASSANDRA-13974) + * Minimize clustering values in metadata collector (CASSANDRA-15400) + * Avoid over-trimming of results in mixed mode clusters (CASSANDRA-15405) + * validate value sizes in LegacyLayout (CASSANDRA-15373) + * Ensure that tracing doesn't break connections in 3.x/4.0 mixed mode by default (CASSANDRA-15385) + * Make sure index summary redistribution does not start when compactions are paused (CASSANDRA-15265) + * Ensure legacy rows have primary key livenessinfo when they contain illegal cells (CASSANDRA-15365) + * Fix race condition when setting bootstrap flags (CASSANDRA-14878) + * Fix NativeLibrary.tryOpenDirectory callers for Windows (CASSANDRA-15426) +Merged from 2.2: * Fix SELECT JSON output for empty blobs (CASSANDRA-15435) * In-JVM DTest: Set correct internode message version for upgrade test (CASSANDRA-15371) - * In-JVM DTest: Support NodeTool in dtest + * In-JVM DTest: Support NodeTool in dtest (CASSANDRA-15429) -2.2.15 +3.0.19 + * Add ability to cap max negotiable protocol version (CASSANDRA-15193) + * Gossip tokens on startup if available (CASSANDRA-15335) + * Fix resource leak in CompressedSequentialWriter (CASSANDRA-15340) + * Fix merge which reverted CASSANDRA-14993 (CASSANDRA-15289) + * Fix LegacyLayout RangeTombstoneList IndexOutOfBoundsException when upgrading and RangeTombstone bounds are asymmetric (CASSANDRA-15172) + * Fix NPE when using allocate_tokens_for_keyspace on new DC/rack (CASSANDRA-14952) + * Filter sstables earlier when running cleanup (CASSANDRA-15100) + * Use mean row count instead of mean column count for index selectivity calculation (CASSANDRA-15259) + * Avoid updating unchanged gossip states (CASSANDRA-15097) + * Prevent recreation of previously dropped columns with a different kind (CASSANDRA-14948) + * Prevent client requests from blocking on executor task queue (CASSANDRA-15013) + * Toughen up column drop/recreate type validations (CASSANDRA-15204) + * LegacyLayout should handle paging states that cross a collection column (CASSANDRA-15201) + * Prevent RuntimeException when username or password is empty/null (CASSANDRA-15198) + * Multiget thrift query returns null records after digest mismatch (CASSANDRA-14812) + * Skipping illegal legacy cells can break reverse iteration of indexed partitions (CASSANDRA-15178) + * Handle paging states serialized with a different version than the session's (CASSANDRA-15176) + * Throw IOE instead of asserting on unsupporter peer versions (CASSANDRA-15066) + * Update token metadata when handling MOVING/REMOVING_TOKEN events (CASSANDRA-15120) + * Add ability to customize cassandra log directory using $CASSANDRA_LOG_DIR (CASSANDRA-15090) + * Skip cells with illegal column names when reading legacy sstables (CASSANDRA-15086) + * Fix assorted gossip races and add related runtime checks (CASSANDRA-15059) + * Fix mixed mode partition range scans with limit (CASSANDRA-15072) + * cassandra-stress works with frozen collections: list and set (CASSANDRA-14907) + * For nodetool listsnapshots output, put spaces between columns, and increase snapshot padding (CASSANDRA-14876) + * Fix handling FS errors on writing and reading flat files - LogTransaction and hints (CASSANDRA-15053) + * Avoid double closing the iterator to avoid overcounting the number of requests (CASSAND
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 461ae2b2cabfcd94076b4ad1f97f8257e3a8b364 Merge: 95197ce b2b1b46 Author: Brandon Williams AuthorDate: Wed Feb 26 11:47:26 2020 -0600 Merge branch 'cassandra-2.2' into cassandra-3.0 CHANGES.txt | 5 - bin/cassandra | 1 + bin/cassandra.in.sh | 3 +++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --cc CHANGES.txt index e2614ec,9ecfcb4..aa00edd --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,65 -1,15 +1,68 @@@ -2.2.17 +3.0.21 + * Run evictFromMembership in GossipStage (CASSANDRA-15592) ++Merged from 2.2 + * Allow EXTRA_CLASSPATH to work on tar/source installations (CASSANDRA-15567) +3.0.20 + * Run in-jvm upgrade dtests in circleci (CASSANDRA-15506) + * Include updates to static column in mutation size calculations (CASSANDRA-15293) + * Fix point-in-time recoevery ignoring timestamp of updates to static columns (CASSANDRA-15292) + * GC logs are also put under $CASSANDRA_LOG_DIR (CASSANDRA-14306) + * Fix sstabledump's position key value when partitions have multiple rows (CASSANDRA-14721) + * Avoid over-scanning data directories in LogFile.verify() (CASSANDRA-15364) + * Bump generations and document changes to system_distributed and system_traces in 3.0, 3.11 + (CASSANDRA-15441) + * Fix system_traces creation timestamp; optimise system keyspace upgrades (CASSANDRA-15398) + * Fix various data directory prefix matching issues (CASSANDRA-13974) + * Minimize clustering values in metadata collector (CASSANDRA-15400) + * Avoid over-trimming of results in mixed mode clusters (CASSANDRA-15405) + * validate value sizes in LegacyLayout (CASSANDRA-15373) + * Ensure that tracing doesn't break connections in 3.x/4.0 mixed mode by default (CASSANDRA-15385) + * Make sure index summary redistribution does not start when compactions are paused (CASSANDRA-15265) + * Ensure legacy rows have primary key livenessinfo when they contain illegal cells (CASSANDRA-15365) + * Fix race condition when setting bootstrap flags (CASSANDRA-14878) + * Fix NativeLibrary.tryOpenDirectory callers for Windows (CASSANDRA-15426) - Merged from 2.2 ++ + 2.2.16 * Fix SELECT JSON output for empty blobs (CASSANDRA-15435) * In-JVM DTest: Set correct internode message version for upgrade test (CASSANDRA-15371) - * In-JVM DTest: Support NodeTool in dtest + * In-JVM DTest: Support NodeTool in dtest (CASSANDRA-15429) -2.2.15 +3.0.19 + * Add ability to cap max negotiable protocol version (CASSANDRA-15193) + * Gossip tokens on startup if available (CASSANDRA-15335) + * Fix resource leak in CompressedSequentialWriter (CASSANDRA-15340) + * Fix merge which reverted CASSANDRA-14993 (CASSANDRA-15289) + * Fix LegacyLayout RangeTombstoneList IndexOutOfBoundsException when upgrading and RangeTombstone bounds are asymmetric (CASSANDRA-15172) + * Fix NPE when using allocate_tokens_for_keyspace on new DC/rack (CASSANDRA-14952) + * Filter sstables earlier when running cleanup (CASSANDRA-15100) + * Use mean row count instead of mean column count for index selectivity calculation (CASSANDRA-15259) + * Avoid updating unchanged gossip states (CASSANDRA-15097) + * Prevent recreation of previously dropped columns with a different kind (CASSANDRA-14948) + * Prevent client requests from blocking on executor task queue (CASSANDRA-15013) + * Toughen up column drop/recreate type validations (CASSANDRA-15204) + * LegacyLayout should handle paging states that cross a collection column (CASSANDRA-15201) + * Prevent RuntimeException when username or password is empty/null (CASSANDRA-15198) + * Multiget thrift query returns null records after digest mismatch (CASSANDRA-14812) + * Skipping illegal legacy cells can break reverse iteration of indexed partitions (CASSANDRA-15178) + * Handle paging states serialized with a different version than the session's (CASSANDRA-15176) + * Throw IOE instead of asserting on unsupporter peer versions (CASSANDRA-15066) + * Update token metadata when handling MOVING/REMOVING_TOKEN events (CASSANDRA-15120) + * Add ability to customize cassandra log directory using $CASSANDRA_LOG_DIR (CASSANDRA-15090) + * Skip cells with illegal column names when reading legacy sstables (CASSANDRA-15086) + * Fix assorted gossip races and add related runtime checks (CASSANDRA-15059) + * Fix mixed mode partition range scans with limit (CASSANDRA-15072) + * cassandra-stress works with frozen collections: list and set (CASSANDRA-14907) + * For nodetool listsnapshots output, put spaces between columns, and increase snapshot padding (CASSANDRA-14876) + * Fix handling FS errors on writing and reading flat files - LogTransaction and hints (CASSANDRA-15053) + * Avoid double closing the iterator to avoid overcounting the number of requests (CASSANDRA-15058) + * Improve `
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 7363eae1fd7f5a4f12745086b6c25bd445192732 Merge: 3320f08 c4d9e9c Author: Mick Semb Wever AuthorDate: Mon Feb 10 21:23:24 2020 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. ifesdjeen pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 3320f08269eaedd06418d0b8b8fdd2be6f467b51 Merge: 09fd7e8 9705d82 Author: Alex Petrov AuthorDate: Wed Feb 5 11:51:02 2020 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 .../org/apache/cassandra/service/GCInspector.java | 3 +- .../cassandra/distributed/api/IInstanceConfig.java | 4 + .../distributed/impl/AbstractCluster.java | 170 +++-- .../distributed/impl/DistributedTestSnitch.java| 60 +++- .../cassandra/distributed/impl/InstanceConfig.java | 10 +- .../distributed/impl/NetworkTopology.java | 60 +++- .../cassandra/distributed/test/BootstrapTest.java | 104 + .../distributed/test/DistributedTestBase.java | 1 + .../distributed/test/NetworkTopologyTest.java | 5 +- 9 files changed, 357 insertions(+), 60 deletions(-) diff --cc src/java/org/apache/cassandra/service/GCInspector.java index e7cfcd0,4f93097..787d79a --- a/src/java/org/apache/cassandra/service/GCInspector.java +++ b/src/java/org/apache/cassandra/service/GCInspector.java @@@ -41,7 -41,8 +41,8 @@@ import org.slf4j.LoggerFactory import org.apache.cassandra.config.DatabaseDescriptor; -import org.apache.cassandra.io.sstable.SSTableDeletingTask; +import org.apache.cassandra.db.lifecycle.LifecycleTransaction; + import org.apache.cassandra.utils.MBeanWrapper; import org.apache.cassandra.utils.StatusLogger; public class GCInspector implements NotificationListener, GCInspectorMXBean diff --cc test/distributed/org/apache/cassandra/distributed/impl/DistributedTestSnitch.java index 35e2903,f8f157a..9147169 --- a/test/distributed/org/apache/cassandra/distributed/impl/DistributedTestSnitch.java +++ b/test/distributed/org/apache/cassandra/distributed/impl/DistributedTestSnitch.java @@@ -51,11 -61,49 +61,49 @@@ public class DistributedTestSnitch exte public String getDatacenter(InetAddressAndPort endpoint) { assert mapping != null : "network topology must be assigned before using snitch"; - return mapping.localDC(endpoint); + return maybeGetFromEndpointState(mapping.localDC(endpoint), endpoint, ApplicationState.DC, DEFAULT_DC); + } + + // Here, the logic is slightly different from what we have in GossipingPropertyFileSnitch since we have a different + // goal. Passed argument (topology that was set on the node) overrides anything that is passed elsewhere. + private String maybeGetFromEndpointState(String current, InetAddressAndPort endpoint, ApplicationState state, String defaultValue) + { + if (current != null) + return current; + + EndpointState epState = Gossiper.instance.getEndpointStateForEndpoint(endpoint.address); + if (epState == null || epState.getApplicationState(state) == null) + { + if (savedEndpoints == null) + { + savedEndpoints = new HashMap<>(); + int storage_port = Config.getOverrideLoadConfig().get().storage_port; + for (Map.Entry> entry : SystemKeyspace.loadDcRackInfo().entrySet()) + { + savedEndpoints.put(InetAddressAndPort.getByAddressOverrideDefaults(endpoint.address, storage_port), +entry.getValue()); + } + } - + if (savedEndpoints.containsKey(endpoint)) + return savedEndpoints.get(endpoint).get("data_center"); + + return defaultValue; + } + + return epState.getApplicationState(state).value; } static void assign(NetworkTopology newMapping) { mapping = new NetworkTopology(newMapping); } + + public void gossiperStarting() + { + super.gossiperStarting(); + ++ + Gossiper.instance.addLocalApplicationState(ApplicationState.INTERNAL_IP, + StorageService.instance.valueFactory.internalIP(FBUtilities.getLocalAddress().getHostAddress())); + } } - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. ifesdjeen pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 09fd7e849b858e9d94e2f79e567ff929ca6c5513 Merge: 1710fa0 75d14b6 Author: Alex Petrov AuthorDate: Wed Feb 5 11:22:29 2020 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 test/distributed/org/apache/cassandra/distributed/test/NodeToolTest.java | 1 + 1 file changed, 1 insertion(+) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mshuler pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 1710fa0f3d03dacc3056f93b7366c8611e3bccb8 Merge: a270929 bd628ce Author: Michael Shuler AuthorDate: Mon Feb 3 12:31:14 2020 -0600 Merge branch 'cassandra-2.2' into cassandra-3.0 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. ifesdjeen pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit a27092926b42a83ec0a1e6188677329737c5a3f4 Merge: cd82046 b2f2c70 Author: Alex Petrov AuthorDate: Fri Jan 31 14:37:25 2020 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 .../apache/cassandra/distributed/api/IMessage.java | 8 +- .../cassandra/distributed/api/IMessageFilters.java | 28 ++- .../distributed/impl/AbstractCluster.java | 17 +- .../distributed/impl/IInvokableInstance.java | 1 - .../cassandra/distributed/impl/Instance.java | 187 ++ .../cassandra/distributed/impl/MessageFilters.java | 79 .../distributed/test/MessageFiltersTest.java | 210 + 7 files changed, 395 insertions(+), 135 deletions(-) diff --cc test/distributed/org/apache/cassandra/distributed/impl/Instance.java index 3de5ed8,0647198..5a4dcf4 --- a/test/distributed/org/apache/cassandra/distributed/impl/Instance.java +++ b/test/distributed/org/apache/cassandra/distributed/impl/Instance.java @@@ -192,7 -192,9 +193,10 @@@ public class Instance extends IsolatedE { BiConsumer deliverToInstance = (to, message) -> cluster.get(to).receiveMessage(message); BiConsumer deliverToInstanceIfNotFiltered = (to, message) -> { - if (cluster.filters().permit(this, cluster.get(to), message.verb())) + int fromNum = config().num(); + int toNum = cluster.get(to).config().num(); ++ + if (cluster.filters().permit(fromNum, toNum, message)) deliverToInstance.accept(to, message); }; @@@ -242,46 -265,35 +267,34 @@@ public boolean allowOutgoingMessage(MessageOut messageOut, int id, InetAddress to) { - try (DataOutputBuffer out = new DataOutputBuffer(1024)) + InetAddressAndPort from = broadcastAddressAndPort(); -InetAddressAndPort toFull = lookupAddressAndPort.apply(to); + assert from.equals(lookupAddressAndPort.apply(messageOut.from)); - -IMessage serialized = serializeMessage(messageOut, id, broadcastAddressAndPort(), lookupAddressAndPort.apply(messageOut.from)); ++InetAddressAndPort toFull = lookupAddressAndPort.apply(to); ++IMessage message = serializeMessage(messageOut, id, from, toFull); + + // Tracing logic - similar to org.apache.cassandra.net.OutboundTcpConnection.writeConnected + byte[] sessionBytes = (byte[]) messageOut.parameters.get(Tracing.TRACE_HEADER); + if (sessionBytes != null) { - InetAddressAndPort from = broadcastAddressAndPort(); - assert from.equals(lookupAddressAndPort.apply(messageOut.from)); - InetAddressAndPort toFull = lookupAddressAndPort.apply(to); - int version = MessagingService.instance().getVersion(to); - - // Tracing logic - similar to org.apache.cassandra.net.OutboundTcpConnection.writeConnected - byte[] sessionBytes = (byte[]) messageOut.parameters.get(Tracing.TRACE_HEADER); - if (sessionBytes != null) + UUID sessionId = UUIDGen.getUUID(ByteBuffer.wrap(sessionBytes)); + TraceState state = Tracing.instance.get(sessionId); -String message = String.format("Sending %s message to %s", messageOut.verb, to); ++String traceMessage = String.format("Sending %s message to %s", messageOut.verb, toFull.address); + // session may have already finished; see CASSANDRA-5668 + if (state == null) { - UUID sessionId = UUIDGen.getUUID(ByteBuffer.wrap(sessionBytes)); - TraceState state = Tracing.instance.get(sessionId); - String message = String.format("Sending %s message to %s", messageOut.verb, toFull.address); - // session may have already finished; see CASSANDRA-5668 - if (state == null) - { - byte[] traceTypeBytes = (byte[]) messageOut.parameters.get(Tracing.TRACE_TYPE); - Tracing.TraceType traceType = traceTypeBytes == null ? Tracing.TraceType.QUERY : Tracing.TraceType.deserialize(traceTypeBytes[0]); - TraceState.mutateWithTracing(ByteBuffer.wrap(sessionBytes), message, -1, traceType.getTTL()); - } - else - { - state.trace(message); - if (messageOut.verb == MessagingService.Verb.REQUEST_RESPONSE) - Tracing.instance.doneWithNonLocalSession(state); - } + byte[] traceTypeBytes = (byte[]) messageOut.parame
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. marcuse pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit cd820469cbfeea74ccaa35f76733d26894b04139 Merge: 7816301 37828ee Author: Marcus Eriksson AuthorDate: Thu Jan 30 09:24:20 2020 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 .../org/apache/cassandra/distributed/impl/Versions.java| 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 7816301ef277d69e0b4942af32df25899f61147b Merge: f1d07ac 531dc2a Author: Mick Semb Wever AuthorDate: Wed Jan 29 23:07:57 2020 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 build.xml | 5 +++-- debian/patches/002cassandra_logdir_fix.dpatch | 18 +- 2 files changed, 12 insertions(+), 11 deletions(-) diff --cc build.xml index 98c22a5,97c2f35..5556a8f --- a/build.xml +++ b/build.xml @@@ -2041,9 -2040,9 +2041,9 @@@ - + - + @@@ -2084,11 -2083,12 +2084,12 @@@ classifier="javadoc"/> + - +
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. ifesdjeen pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit f1d07ac198b61b6b989a4744263d98b73007c340 Merge: a6dd3b8 f7ee96c Author: Alex Petrov AuthorDate: Wed Jan 29 19:10:42 2020 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 .../apache/cassandra/distributed/impl/Instance.java | 5 - .../distributed/test/NativeProtocolTest.java | 19 +++ 2 files changed, 23 insertions(+), 1 deletion(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. marcuse pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit a6dd3b89d94a5a97d4b304242dc49085866cda43 Merge: 4e6c0fa 6e3bf54 Author: Marcus Eriksson AuthorDate: Wed Jan 29 09:33:31 2020 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 .circleci/config-2_1.yml| 56 +++--- .circleci/config-2_1.yml.high_res.patch | 14 +++- .circleci/config.yml| 125 +++- .circleci/config.yml.HIGHRES| 125 +++- .circleci/config.yml.LOWRES | 125 +++- 5 files changed, 375 insertions(+), 70 deletions(-) diff --cc .circleci/config-2_1.yml index a4410fe,3a1eff5..6b59a4f --- a/.circleci/config-2_1.yml +++ b/.circleci/config-2_1.yml @@@ -23,6 -23,12 +23,18 @@@ j8_par_executor: &j8_par_executo #exec_resource_class: xlarge parallelism: 4 + j8_small_par_executor: &j8_small_par_executor + executor: + name: java8-executor + #exec_resource_class: xlarge + parallelism: 1 + ++j8_medium_par_executor: &j8_medium_par_executor ++ executor: ++name: java8-executor ++#exec_resource_class: xlarge ++ parallelism: 1 ++ j8_seq_executor: &j8_seq_executor executor: name: java8-executor @@@ -54,16 -60,6 +66,15 @@@ with_dtests_jobs: &with_dtest_job - utests_compression: requires: - start_utests_compression +- start_jvm_upgrade_dtest: +type: approval ++- j8_dtest_jars_build: +requires: + - build - - dtest_jars_build: - requires: + - start_jvm_upgrade_dtest +- j8_jvm_upgrade_dtests: +requires: - - dtest_jars_build ++ - j8_dtest_jars_build # Java 8 dtests (on request) - start_j8_dtests: type: approval @@@ -130,18 -125,6 +141,18 @@@ jobs - cassandra - .m2 - dtest_jars_build: ++ j8_dtest_jars_build: +executor: java8-executor +parallelism: 1 +steps: + - attach_workspace: + at: /home/cassandra + - build_cassandra_dtest_jars + - persist_to_workspace: + root: /home/cassandra + paths: +- dtest_jars + j8_unit_tests: <<: *j8_par_executor steps: @@@ -156,17 -139,13 +167,25 @@@ steps: - attach_workspace: at: /home/cassandra - - run_junit_tests: - target: test-jvm-dtest-forking + - create_junit_containers: + classlistprefix: distributed + extra_filters: "| grep -v upgrade" + - log_environment + - run_parallel_junit_tests: + classlistprefix: distributed + j8_jvm_upgrade_dtests: +<<: *j8_seq_executor +steps: + - attach_workspace: + at: /home/cassandra - - run_junit_tests: - target: test-jvm-upgrade-dtest-forking ++ - create_junit_containers: ++ classlistprefix: distributed ++ extra_filters: "| grep upgrade" ++ - log_environment ++ - run_parallel_junit_tests: ++ classlistprefix: distributed + utests_long: <<: *j8_seq_executor steps: @@@ -412,7 -357,7 +441,10 @@@ commands export PATH=$JAVA_HOME/bin:$PATH time mv ~/cassandra /tmp cd /tmp/cassandra - ant <> -Dtest.classlistfile=/tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt -Dtest.classlistprefix=unit ++ if [ -d ~/dtest_jars ]; then ++cp ~/dtest_jars/dtest* /tmp/cassandra/build/ ++ fi + ant <> -Dtest.classlistfile=/tmp/java_tests_${CIRCLE_NODE_INDEX}_final.txt -Dtest.classlistprefix=<> no_output_timeout: <> - store_test_results: path: /tmp/cassandra/build/test/output/ diff --cc .circleci/config-2_1.yml.high_res.patch index 22f434d,847a08f..3c85668 --- a/.circleci/config-2_1.yml.high_res.patch +++ b/.circleci/config-2_1.yml.high_res.patch @@@ -10,7 -10,13 +10,19 @@@ --- > exec_resource_class: xlarge > parallelism: 100 - 29c29 + 29,30c29,30 + < #exec_resource_class: xlarge + < parallelism: 1 + --- + > exec_resource_class: xlarge + > parallelism: 2 -35c35 ++35,36c35,36 ++< #exec_resource_class: xlarge ++< parallelism: 1 ++--- ++> exec_resource_class: xlarge ++> parallelism: 2 ++41c41 < #exec_resource_class: xlarge --- > exec_resource_class: xlarge diff --cc .circleci/config.yml index d80b78d,ae582af..817d726 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@@ -1,51 -1,5 +1,92 @@@ version: 2 jobs: + j8_jvm_upgrade_dtests: +docker: +- image: spod/cassandra-testing-ubuntu1810-java11-w-dependencies:201
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 5508fecf54a521792fa78345ad04c83de5ae3a82 Merge: b80e146 06a3604 Author: Mick Semb Wever AuthorDate: Tue Jan 28 07:52:50 2020 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 build.xml | 90 +++ 1 file changed, 38 insertions(+), 52 deletions(-) diff --cc build.xml index e543316,a55709d..98c22a5 --- a/build.xml +++ b/build.xml @@@ -617,17 -663,7 +638,6 @@@ - - https://cassandra.apache.org"; - name="Apache Cassandra"> - - - - @@@ -1057,8 -1115,7 +1067,6 @@@ - - @@@ -2039,28 -2044,15 +2045,15 @@@ - + - - - - - - + - - + - - - - - + + + + + + + - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit b80e1469d6af16d073f0b70223937fa67a45da0f Merge: b907dc9 7827ad5 Author: Mick Semb Wever AuthorDate: Wed Jan 22 20:49:35 2020 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 .jenkins/Jenkinsfile | 3 +++ 1 file changed, 3 insertions(+) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. marcuse pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 03586bc6ec4080bba9a1ac0ae670fe8c543d84c9 Merge: 14aa561 91f321e Author: Marcus Eriksson AuthorDate: Wed Jan 22 14:18:01 2020 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 test/distributed/org/apache/cassandra/distributed/impl/Versions.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 14aa561c3229585a065a2b308e5e2b236b8f56ba Merge: 5f57212 d69f769 Author: Mick Semb Wever AuthorDate: Tue Jan 21 19:05:54 2020 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 .jenkins/Jenkinsfile | 273 + build.xml | 6 +- ide/idea/workspace.xml | 1 - 3 files changed, 274 insertions(+), 6 deletions(-) diff --cc .jenkins/Jenkinsfile index 000,adb2a8d..572e8de mode 00,100644..100644 --- a/.jenkins/Jenkinsfile +++ b/.jenkins/Jenkinsfile @@@ -1,0 -1,273 +1,273 @@@ + // Licensed to the Apache Software Foundation (ASF) under one + // or more contributor license agreements. See the NOTICE file + // distributed with this work for additional information + // regarding copyright ownership. The ASF licenses this file + // to you under the Apache License, Version 2.0 (the + // "License"); you may not use this file except in compliance + // with the License. You may obtain a copy of the License at + // + //https://www.apache.org/licenses/LICENSE-2.0 + // + // Unless required by applicable law or agreed to in writing, + // software distributed under the License is distributed on an + // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + // KIND, either express or implied. See the License for the + // specific language governing permissions and limitations + // under the License. + // + // + // Jenkins declaration of how to build and test the current codebase. + // Jenkins infrastructure related settings should be kept in + // https://github.com/apache/cassandra-builds/blob/master/jenkins-dsl/cassandra_job_dsl_seed.groovy + // + + pipeline { + agent any + stages { + stage('Init') { + steps { + cleanWs() + } + } + stage('Build') { + steps { + build job: "${env.JOB_NAME}-artifacts" + } + } + stage('Test') { + parallel { + stage('JVM DTests') { + steps { + warnError('Tests unstable') { + build job: "${env.JOB_NAME}-test-jvm-dtest-forking" + } + } + post { + success { + warnError('missing test xml files') { + script { + copyTestResults('test-jvm-dtest-forking') + } + } + } + unstable { + warnError('missing test xml files') { + script { + copyTestResults('test-jvm-dtest-forking') + } + } + } + } + } + stage('units') { + steps { + warnError('Tests unstable') { + build job: "${env.JOB_NAME}-test" + } + } + post { + success { + warnError('missing test xml files') { + script { + copyTestResults('test') + } + } + } + unstable { + warnError('missing test xml files') { + script { + copyTestResults('test') + } + } + } + } + } + stage('long units') { + steps { + warnError('Tests unstable') { + build job: "${env.JOB_NAME}-long-test" + } + } + post { + success { + warnError('missing test xml files') { + script { + copyTestResults('long-test') + } + } + } + unstable { + warnError('missing test xml files') { + script { + copyTestResults('long-test') + } + } + } + } + } + stage('burn') { + steps { + warnError('Tests unstable') { + build job: "${env.JOB_NAME}-test-burn" + } + } + post { + success { + warnError('missing test xml files') { + script { + copyTestResults('test-burn') + } + } + } + unstable { +
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit fccbfbaa4f9d09b2ea18997ea0f13323d74234fa Merge: 577a9e3 ca8469e Author: Mick Semb Wever AuthorDate: Wed Jan 8 08:22:35 2020 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 test/burn/org/apache/cassandra/utils/LongBTreeTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --cc test/burn/org/apache/cassandra/utils/LongBTreeTest.java index 5044290,5b91a5e..c052015 --- a/test/burn/org/apache/cassandra/utils/LongBTreeTest.java +++ b/test/burn/org/apache/cassandra/utils/LongBTreeTest.java @@@ -44,24 -51,16 +44,24 @@@ import com.codahale.metrics.MetricRegis import com.codahale.metrics.Snapshot; import com.codahale.metrics.Timer; import org.apache.cassandra.concurrent.NamedThreadFactory; -import org.apache.cassandra.utils.btree.BTree; -import org.apache.cassandra.utils.btree.BTreeSearchIterator; -import org.apache.cassandra.utils.btree.BTreeSet; -import org.apache.cassandra.utils.btree.UpdateFunction; +import org.apache.cassandra.utils.btree.*; + +import static com.google.common.base.Predicates.notNull; +import static com.google.common.collect.Iterables.filter; +import static com.google.common.collect.Iterables.transform; +import static java.util.Comparator.naturalOrder; +import static java.util.Comparator.reverseOrder; +import static org.apache.cassandra.utils.btree.BTree.iterable; +import static org.junit.Assert.assertTrue; -// TODO : should probably lower fan-factor for tests to make them more intensive public class LongBTreeTest { -private static final int ITERATIONS = 1; +private static final boolean DEBUG = false; - private static int perThreadTrees = 1; ++private static int perThreadTrees = 100; +private static int minTreeSize = 4; +private static int maxTreeSize = 1; +private static int threads = DEBUG ? 1 : Runtime.getRuntime().availableProcessors() * 8; private static final MetricRegistry metrics = new MetricRegistry(); private static final Timer BTREE_TIMER = metrics.timer(MetricRegistry.name(BTree.class, "BTREE")); private static final Timer TREE_TIMER = metrics.timer(MetricRegistry.name(BTree.class, "TREE")); - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. ifesdjeen pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 49918efa803d6a420a281f24f9b12ca9208ba68f Merge: 3c73a13 5635928 Author: Alex Petrov AuthorDate: Wed Dec 18 18:05:04 2019 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 .../distributed/impl/AbstractCluster.java | 3 +- .../cassandra/distributed/impl/InstanceConfig.java | 6 ++-- .../distributed/test/GossipSettlesTest.java| 42 ++ 3 files changed, 48 insertions(+), 3 deletions(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 9e8c17627f6ba67f3a850b1d02ab4245294ae51a Merge: 01b52de f05bf64 Author: Mick Semb Wever AuthorDate: Fri Nov 15 07:30:04 2019 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. ifesdjeen pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit d90dc87bd3f8a149d98ccf40b40bf152405fbbec Merge: f0aa60b 50b7094 Author: Alex Petrov AuthorDate: Mon Nov 11 15:32:59 2019 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 .../apache/cassandra/service/CassandraDaemon.java | 66 + .../apache/cassandra/distributed/api/Feature.java | 2 +- .../cassandra/distributed/api/IInstance.java | 2 + .../apache/cassandra/distributed/api/IListen.java | 2 + .../distributed/impl/AbstractCluster.java | 158 + .../cassandra/distributed/impl/Instance.java | 21 +++ .../distributed/impl/InstanceClassLoader.java | 16 ++- .../cassandra/distributed/impl/InstanceConfig.java | 34 +++-- .../apache/cassandra/distributed/impl/Listen.java | 20 ++- .../apache/cassandra/distributed/impl/RowUtil.java | 17 +++ .../distributed/test/DistributedTestBase.java | 7 + .../distributed/test/NativeProtocolTest.java | 59 .../distributed/test/ResourceLeakTest.java | 16 +++ 13 files changed, 349 insertions(+), 71 deletions(-) diff --cc src/java/org/apache/cassandra/service/CassandraDaemon.java index cc8b2ae,c0ba38e..32fd97c --- a/src/java/org/apache/cassandra/service/CassandraDaemon.java +++ b/src/java/org/apache/cassandra/service/CassandraDaemon.java @@@ -28,9 -28,9 +28,8 @@@ import java.rmi.server.RMIServerSocketF import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.UUID; import java.util.concurrent.TimeUnit; - import javax.management.MBeanServer; import javax.management.ObjectName; import javax.management.StandardMBean; import javax.management.remote.JMXConnectorServer; @@@ -393,11 -363,53 +399,15 @@@ public class CassandraDaemo int rpcPort = DatabaseDescriptor.getRpcPort(); int listenBacklog = DatabaseDescriptor.getRpcListenBacklog(); thriftServer = new ThriftServer(rpcAddr, rpcPort, listenBacklog); + initializeNativeTransport(); + completeSetup(); + } + + public void initializeNativeTransport() + { // Native transport -InetAddress nativeAddr = DatabaseDescriptor.getRpcAddress(); -int nativePort = DatabaseDescriptor.getNativeTransportPort(); -nativeServer = new org.apache.cassandra.transport.Server(nativeAddr, nativePort); -} - -public void startNativeTransport() -{ -validateTransportsCanStart(); - -if (nativeServer == null) -throw new IllegalStateException("native transport should be set up before it can be started"); - -nativeServer.start(); -} - -private void validateTransportsCanStart() -{ -// We only start transports if bootstrap has completed and we're not in survey mode, OR if we are in -// survey mode and streaming has completed but we're not using auth. -// OR if we have not joined the ring yet. -if (StorageService.instance.hasJoined()) -{ -if (StorageService.instance.isSurveyMode()) -{ -if (StorageService.instance.isBootstrapMode() || DatabaseDescriptor.getAuthenticator().requireAuthentication()) -{ -throw new IllegalStateException("Not starting client transports in write_survey mode as it's bootstrapping or " + -"auth is enabled"); -} -} -else -{ -if (!SystemKeyspace.bootstrapComplete()) -{ -throw new IllegalStateException("Node is not yet bootstrapped completely. Use nodetool to check bootstrap" + -" state and resume. For more, see `nodetool help bootstrap`"); -} -} -} +nativeTransportService = new NativeTransportService(); - - completeSetup(); } /* @@@ -548,6 -543,18 +545,16 @@@ } } + @VisibleForTesting + public void destroyNativeTransport() throws InterruptedException + { -// In 2.2, just stopping the server works. Future versions require `destroy` to be called -// so we maintain the name for consistency -if (nativeServer != null) ++if (nativeTransportService != null) + { -nativeServer.stopAndAwaitTermination(); -nativeServer = null; ++nativeTransportService.destroy(); ++nativeTransportService = null; + } + } + /** * Clean up all resources obtained during the lifetime of the daemon. This @@@ -626,59 -633,6 +633,64 @@@ } } - public void startNativeTransport() ++
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mshuler pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 3a4fac84406550283ed9d1584dcf735fdef6ff56 Merge: 98f56c1 4ee4cee Author: Michael Shuler AuthorDate: Thu Oct 24 09:49:32 2019 -0500 Merge branch 'cassandra-2.2' into cassandra-3.0 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. marcuse pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 9cba621f50536289380994593ca1e56c9337a4d8 Merge: 93815db 9081d00 Author: Marcus Eriksson AuthorDate: Thu Oct 24 10:09:42 2019 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 .../cassandra/db/SinglePartitionReadCommand.java | 4 +- .../db/partitions/AbstractBTreePartition.java | 9 +++- .../cassandra/distributed/api/IInstance.java | 3 ++ .../impl/DelegatingInvokableInstance.java | 10 .../cassandra/distributed/impl/Instance.java | 19 +++ .../upgrade/MixedModeReadRepairTest.java | 59 ++ .../distributed/upgrade/UpgradeTestBase.java | 17 ++- 7 files changed, 117 insertions(+), 4 deletions(-) diff --cc src/java/org/apache/cassandra/db/SinglePartitionReadCommand.java index 4c8e0bc,000..15b74d8 mode 100644,00..100644 --- a/src/java/org/apache/cassandra/db/SinglePartitionReadCommand.java +++ b/src/java/org/apache/cassandra/db/SinglePartitionReadCommand.java @@@ -1,1299 -1,0 +1,1299 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.cassandra.db; + +import java.io.IOException; +import java.nio.ByteBuffer; +import java.util.*; + +import com.google.common.collect.Iterables; +import com.google.common.collect.Sets; + +import org.apache.cassandra.cache.IRowCacheEntry; +import org.apache.cassandra.cache.RowCacheKey; +import org.apache.cassandra.cache.RowCacheSentinel; +import org.apache.cassandra.concurrent.Stage; +import org.apache.cassandra.concurrent.StageManager; +import org.apache.cassandra.config.CFMetaData; +import org.apache.cassandra.config.ColumnDefinition; +import org.apache.cassandra.config.DatabaseDescriptor; +import org.apache.cassandra.db.lifecycle.*; +import org.apache.cassandra.db.filter.*; +import org.apache.cassandra.db.partitions.*; +import org.apache.cassandra.db.rows.*; +import org.apache.cassandra.db.transform.RTBoundValidator; +import org.apache.cassandra.exceptions.RequestExecutionException; +import org.apache.cassandra.io.sstable.format.SSTableReader; +import org.apache.cassandra.io.sstable.format.SSTableReadsListener; +import org.apache.cassandra.io.util.DataInputPlus; +import org.apache.cassandra.io.util.DataOutputPlus; +import org.apache.cassandra.metrics.TableMetrics; +import org.apache.cassandra.net.MessageOut; +import org.apache.cassandra.net.MessagingService; +import org.apache.cassandra.schema.IndexMetadata; +import org.apache.cassandra.service.CacheService; +import org.apache.cassandra.service.ClientState; +import org.apache.cassandra.service.StorageProxy; +import org.apache.cassandra.service.pager.*; +import org.apache.cassandra.thrift.ThriftResultsMerger; +import org.apache.cassandra.tracing.Tracing; +import org.apache.cassandra.utils.FBUtilities; +import org.apache.cassandra.utils.SearchIterator; +import org.apache.cassandra.utils.btree.BTreeSet; +import org.apache.cassandra.utils.concurrent.OpOrder; +import org.apache.cassandra.utils.memory.HeapAllocator; + + +/** + * A read command that selects a (part of a) single partition. + */ +public class SinglePartitionReadCommand extends ReadCommand +{ +protected static final SelectionDeserializer selectionDeserializer = new Deserializer(); + +private final DecoratedKey partitionKey; +private final ClusteringIndexFilter clusteringIndexFilter; + +private int oldestUnrepairedTombstone = Integer.MAX_VALUE; + +private SinglePartitionReadCommand(boolean isDigest, + int digestVersion, + boolean isForThrift, + CFMetaData metadata, + int nowInSec, + ColumnFilter columnFilter, + RowFilter rowFilter, + DataLimits limits, + DecoratedKey partitionKey, +
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. samt pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 63097a37c0e9791ed547f615ff891d643d91e841 Merge: 97eae44 b2f6953 Author: Sam Tunnicliffe AuthorDate: Fri Jul 5 18:57:46 2019 +0100 Merge branch 'cassandra-2.2' into cassandra-3.0 CHANGES.txt| 1 + .../apache/cassandra/auth/CassandraAuthorizer.java | 23 +-- .../cassandra/auth/CassandraRoleManager.java | 45 +- .../cassandra/auth/PasswordAuthenticator.java | 2 +- .../apache/cassandra/auth/PermissionsCache.java| 17 ++-- src/java/org/apache/cassandra/auth/Roles.java | 25 +--- src/java/org/apache/cassandra/auth/RolesCache.java | 19 + .../exceptions/AuthenticationException.java| 5 +++ .../exceptions/UnauthorizedException.java | 5 +++ .../org/apache/cassandra/service/ClientState.java | 13 ++- 10 files changed, 106 insertions(+), 49 deletions(-) diff --cc CHANGES.txt index c891ce2,d8da354..364720d --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,22 -1,6 +1,23 @@@ -2.2.15 +3.0.19 + * Multiget thrift query returns null records after digest mismatch (CASSANDRA-14812) + * Skipping illegal legacy cells can break reverse iteration of indexed partitions (CASSANDRA-15178) + * Handle paging states serialized with a different version than the session's (CASSANDRA-15176) + * Throw IOE instead of asserting on unsupporter peer versions (CASSANDRA-15066) + * Update token metadata when handling MOVING/REMOVING_TOKEN events (CASSANDRA-15120) + * Add ability to customize cassandra log directory using $CASSANDRA_LOG_DIR (CASSANDRA-15090) + * Skip cells with illegal column names when reading legacy sstables (CASSANDRA-15086) + * Fix assorted gossip races and add related runtime checks (CASSANDRA-15059) + * Fix mixed mode partition range scans with limit (CASSANDRA-15072) + * cassandra-stress works with frozen collections: list and set (CASSANDRA-14907) + * For nodetool listsnapshots output, put spaces between columns, and increase snapshot padding (CASSANDRA-14876) + * Fix handling FS errors on writing and reading flat files - LogTransaction and hints (CASSANDRA-15053) + * Avoid double closing the iterator to avoid overcounting the number of requests (CASSANDRA-15058) + * Improve `nodetool status -r` speed (CASSANDRA-14847) + * Improve merkle tree size and time on heap (CASSANDRA-14096) + * Add missing commands to nodetool-completion (CASSANDRA-14916) + * Anti-compaction temporarily corrupts sstable state for readers (CASSANDRA-15004) + Merged from 2.2: + * Handle exceptions during authentication/authorization (CASSANDRA-15041) - * Fix JDK7 compatibility broken in cassandra-2.2 (CASSANDRA-15050) * Support cross version messaging in in-jvm upgrade dtests (CASSANDRA-15078) * Fix index summary redistribution cancellation (CASSANDRA-15045) * Refactor Circle CI configuration (CASSANDRA-14806) diff --cc src/java/org/apache/cassandra/service/ClientState.java index 641d174,9593802..bba6ca4 --- a/src/java/org/apache/cassandra/service/ClientState.java +++ b/src/java/org/apache/cassandra/service/ClientState.java @@@ -37,9 -38,11 +37,10 @@@ import org.apache.cassandra.cql3.functi import org.apache.cassandra.db.SystemKeyspace; import org.apache.cassandra.exceptions.AuthenticationException; import org.apache.cassandra.exceptions.InvalidRequestException; + import org.apache.cassandra.exceptions.RequestExecutionException; import org.apache.cassandra.exceptions.UnauthorizedException; -import org.apache.cassandra.schema.LegacySchemaTables; +import org.apache.cassandra.schema.SchemaKeyspace; import org.apache.cassandra.thrift.ThriftValidation; -import org.apache.cassandra.tracing.TraceKeyspace; import org.apache.cassandra.utils.FBUtilities; import org.apache.cassandra.utils.JVMStabilityInspector; import org.apache.cassandra.utils.CassandraVersion; - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mshuler pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 8ea4a8186684e316bb5bfa79be6123e259375a14 Merge: e4b5d98 a9a4f17 Author: Michael Shuler AuthorDate: Fri Jun 7 08:37:20 2019 -0500 Merge branch 'cassandra-2.2' into cassandra-3.0 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. mshuler pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit fa6b40f4603025ef416afee7e4f76b9b8cd041fc Merge: c07f3c8 63ff65a Author: Michael Shuler AuthorDate: Wed May 22 15:09:25 2019 -0400 Merge branch 'cassandra-2.2' into cassandra-3.0 build.properties.default | 4 ++-- build.xml| 24 2 files changed, 14 insertions(+), 14 deletions(-) diff --cc build.xml index 8ef8c67,ca06b41..2023e11 --- a/build.xml +++ b/build.xml @@@ -25,10 -25,10 +25,10 @@@ - + - - - http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree"/> + https://gitbox.apache.org/repos/asf/cassandra.git"/> + https://gitbox.apache.org/repos/asf/cassandra.git"/> + https://gitbox.apache.org/repos/asf?p=cassandra.git;a=tree"/> @@@ -104,10 -108,14 +104,10 @@@ - - - - - - - + + + - + - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org