This is an automated email from the ASF dual-hosted git repository.
smiklosovic pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git
The following commit(s) were added to refs/heads/trunk by this push:
new 50960a2e7e Remove 4.0 upgrade paths and related 4.0 tests
50960a2e7e is described below
commit 50960a2e7e88b255298afc208d178b7b805048aa
Author: Stefan Miklosovic <[email protected]>
AuthorDate: Wed Apr 22 13:04:43 2026 +0200
Remove 4.0 upgrade paths and related 4.0 tests
patch by Stefan Miklosovic; reviewed by Michael Semb Wever for
CASSANDRA-21324
---
.build/run-tests.sh | 2 +-
.circleci/config.yml | 2 +-
.circleci/config.yml.FREE | 2 +-
.circleci/config.yml.PAID | 2 +-
.circleci/config_template.yml | 2 +-
test/data/config/version=4.0-alpha1.yml | 321 ---------------------
.../cassandra/distributed/impl/InstanceConfig.java | 6 -
.../distributed/upgrade/BatchUpgradeTest.java | 2 +-
.../upgrade/CompactStorageColumnDeleteTest.java | 2 +-
.../upgrade/CompactStorageHiddenColumnTest.java | 2 +-
...CompactStorageImplicitNullInClusteringTest.java | 2 +-
.../upgrade/CompactStoragePagingTest.java | 2 +-
.../CompactStoragePagingWithProtocolV40Test.java | 33 ---
.../CompactionHistorySystemTableUpgradeTest.java | 2 -
.../upgrade/ConfigCompatibilityTestGenerate.java | 3 +-
.../distributed/upgrade/MixedModeIndexV40Test.java | 33 ---
.../upgrade/MixedModeMessageForwardTest.java | 2 +-
.../distributed/upgrade/MixedModePaxosTTLTest.java | 24 +-
.../upgrade/MixedModePaxosTestBase.java | 26 +-
.../distributed/upgrade/MixedModeRepairTest.java | 6 +-
.../MixedModeTTLOverflowUpgradeTestBase.java | 2 -
.../upgrade/MixedModeWritetimeOrTTLTest.java | 2 -
.../upgrade/Pre40MessageFilterTest.java | 63 ----
.../upgrade/RepairRequestTimeoutUpgradeTest.java | 53 ----
.../distributed/upgrade/UpgradeTestBase.java | 8 -
.../cassandra/config/ConfigCompatibilityTest.java | 9 -
26 files changed, 28 insertions(+), 585 deletions(-)
diff --git a/.build/run-tests.sh b/.build/run-tests.sh
index 8ec8148cfc..d9ab624120 100755
--- a/.build/run-tests.sh
+++ b/.build/run-tests.sh
@@ -203,7 +203,7 @@ _build_all_dtest_jars() {
[ "${java_version}" -eq 11 ] && export CASSANDRA_USE_JDK11=true
pushd ${TMP_DIR}/cassandra-dtest-jars >/dev/null
- for branch in cassandra-4.0 cassandra-4.1 cassandra-5.0 cassandra-6.0
trunk ; do
+ for branch in cassandra-4.1 cassandra-5.0 cassandra-6.0 trunk ; do
git clean -qxdff && git reset --hard HEAD || echo "failed to
reset/clean ${TMP_DIR}/cassandra-dtest-jars… continuing…"
git checkout --quiet $branch
dtest_jar_version=$(grep 'property\s*name=\"base.version\"' build.xml
|sed -ne 's/.*value=\"\([^"]*\)\".*/\1/p')
diff --git a/.circleci/config.yml b/.circleci/config.yml
index eb7c6d1780..790404df81 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -5045,7 +5045,7 @@ jobs:
cd ~/cassandra
mkdir ~/dtest_jars
git remote add apache https://github.com/apache/cassandra.git
- for branch in cassandra-4.0 cassandra-4.1 cassandra-5.0
cassandra-6.0 trunk; do
+ for branch in cassandra-4.1 cassandra-5.0 cassandra-6.0 trunk; do
# check out the correct cassandra version:
git remote set-branches --add apache '$branch'
git fetch --depth 1 apache $branch
diff --git a/.circleci/config.yml.FREE b/.circleci/config.yml.FREE
index eb7c6d1780..790404df81 100644
--- a/.circleci/config.yml.FREE
+++ b/.circleci/config.yml.FREE
@@ -5045,7 +5045,7 @@ jobs:
cd ~/cassandra
mkdir ~/dtest_jars
git remote add apache https://github.com/apache/cassandra.git
- for branch in cassandra-4.0 cassandra-4.1 cassandra-5.0
cassandra-6.0 trunk; do
+ for branch in cassandra-4.1 cassandra-5.0 cassandra-6.0 trunk; do
# check out the correct cassandra version:
git remote set-branches --add apache '$branch'
git fetch --depth 1 apache $branch
diff --git a/.circleci/config.yml.PAID b/.circleci/config.yml.PAID
index 92a7eccfb6..a64135449b 100644
--- a/.circleci/config.yml.PAID
+++ b/.circleci/config.yml.PAID
@@ -5045,7 +5045,7 @@ jobs:
cd ~/cassandra
mkdir ~/dtest_jars
git remote add apache https://github.com/apache/cassandra.git
- for branch in cassandra-4.0 cassandra-4.1 cassandra-5.0
cassandra-6.0 trunk; do
+ for branch in cassandra-4.1 cassandra-5.0 cassandra-6.0 trunk; do
# check out the correct cassandra version:
git remote set-branches --add apache '$branch'
git fetch --depth 1 apache $branch
diff --git a/.circleci/config_template.yml b/.circleci/config_template.yml
index abae0e8bb0..c1f0bf0972 100644
--- a/.circleci/config_template.yml
+++ b/.circleci/config_template.yml
@@ -2824,7 +2824,7 @@ commands:
cd ~/cassandra
mkdir ~/dtest_jars
git remote add apache https://github.com/apache/cassandra.git
- for branch in cassandra-4.0 cassandra-4.1 cassandra-5.0
cassandra-6.0 trunk; do
+ for branch in cassandra-4.1 cassandra-5.0 cassandra-6.0 trunk; do
# check out the correct cassandra version:
git remote set-branches --add apache '$branch'
git fetch --depth 1 apache $branch
diff --git a/test/data/config/version=4.0-alpha1.yml
b/test/data/config/version=4.0-alpha1.yml
deleted file mode 100644
index 872f1ec7df..0000000000
--- a/test/data/config/version=4.0-alpha1.yml
+++ /dev/null
@@ -1,321 +0,0 @@
-# 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.
-#
-#
----
-repaired_data_tracking_for_range_reads_enabled: "java.lang.Boolean"
-block_for_peers_timeout_in_secs: "java.lang.Integer"
-flush_compression: "org.apache.cassandra.config.Config.FlushCompression"
-audit_logging_options:
- audit_logs_dir: "java.lang.String"
- included_users: "java.lang.String"
- logger:
- class_name: "java.lang.String"
- parameters: "java.util.Map"
- excluded_categories: "java.lang.String"
- roll_cycle: "java.lang.String"
- enabled: "java.lang.Boolean"
- included_categories: "java.lang.String"
- max_archive_retries: "java.lang.Integer"
- excluded_keyspaces: "java.lang.String"
- archive_command: "java.lang.String"
- included_keyspaces: "java.lang.String"
- max_log_size: "java.lang.Long"
- allow_nodetool_archive_command: "java.lang.Boolean"
- block: "java.lang.Boolean"
- excluded_users: "java.lang.String"
- max_queue_weight: "java.lang.Integer"
-cdc_total_space_in_mb: "java.lang.Integer"
-internode_application_send_queue_reserve_global_capacity_in_bytes:
"java.lang.Integer"
-row_cache_save_period: "java.lang.Integer"
-snapshot_links_per_second: "java.lang.Long"
-disk_optimization_estimate_percentile: "java.lang.Double"
-hinted_handoff_disabled_datacenters: "java.util.Set"
-cdc_enabled: "java.lang.Boolean"
-read_request_timeout_in_ms: "java.lang.Long"
-internode_application_receive_queue_reserve_global_capacity_in_bytes:
"java.lang.Integer"
-credentials_validity_in_ms: "java.lang.Integer"
-memtable_heap_space_in_mb: "java.lang.Integer"
-commitlog_sync: "org.apache.cassandra.config.Config.CommitLogSync"
-user_defined_function_warn_timeout: "java.lang.Long"
-tracetype_repair_ttl: "java.lang.Integer"
-concurrent_materialized_view_writes: "java.lang.Integer"
-commitlog_total_space_in_mb: "java.lang.Integer"
-hints_directory: "java.lang.String"
-native_transport_max_concurrent_connections_per_ip: "java.lang.Long"
-internode_socket_send_buffer_size_in_bytes: "java.lang.Integer"
-rpc_interface_prefer_ipv6: "java.lang.Boolean"
-check_for_duplicate_rows_during_compaction: "java.lang.Boolean"
-internode_socket_receive_buffer_size_in_bytes: "java.lang.Integer"
-user_function_timeout_policy:
"org.apache.cassandra.config.Config.UserFunctionTimeoutPolicy"
-counter_write_request_timeout_in_ms: "java.lang.Long"
-roles_update_interval_in_ms: "java.lang.Integer"
-memtable_allocation_type:
"org.apache.cassandra.config.Config.MemtableAllocationType"
-trickle_fsync_interval_in_kb: "java.lang.Integer"
-enable_transient_replication: "java.lang.Boolean"
-key_cache_size_in_mb: "java.lang.Long"
-tombstone_warn_threshold: "java.lang.Integer"
-column_index_cache_size_in_kb: "java.lang.Integer"
-full_query_logging_options:
- log_dir: "java.lang.String"
- archive_command: "java.lang.String"
- max_log_size: "java.lang.Long"
- allow_nodetool_archive_command: "java.lang.Boolean"
- block: "java.lang.Boolean"
- roll_cycle: "java.lang.String"
- max_queue_weight: "java.lang.Integer"
- max_archive_retries: "java.lang.Integer"
-table_count_warn_threshold: "java.lang.Integer"
-write_request_timeout_in_ms: "java.lang.Long"
-internode_tcp_user_timeout_in_ms: "java.lang.Integer"
-auto_optimise_inc_repair_streams: "java.lang.Boolean"
-commitlog_sync_batch_window_in_ms: "java.lang.Double"
-disk_failure_policy: "org.apache.cassandra.config.Config.DiskFailurePolicy"
-tombstone_failure_threshold: "java.lang.Integer"
-validation_preview_purge_head_start_in_sec: "java.lang.Integer"
-max_mutation_size_in_kb: "java.lang.Integer"
-initial_token: "java.lang.String"
-batch_size_warn_threshold_in_kb: "java.lang.Integer"
-dynamic_snitch_badness_threshold: "java.lang.Double"
-index_summary_capacity_in_mb: "java.lang.Long"
-allocate_tokens_for_local_replication_factor: "java.lang.Integer"
-counter_cache_keys_to_save: "java.lang.Integer"
-disk_optimization_page_cross_chance: "java.lang.Double"
-listen_on_broadcast_address: "java.lang.Boolean"
-internode_application_receive_queue_reserve_endpoint_capacity_in_bytes:
"java.lang.Integer"
-row_cache_class_name: "java.lang.String"
-gc_warn_threshold_in_ms: "java.lang.Integer"
-disk_optimization_strategy:
"org.apache.cassandra.config.Config.DiskOptimizationStrategy"
-hinted_handoff_throttle_in_kb: "java.lang.Integer"
-otc_backlog_expiration_interval_ms: "java.lang.Integer"
-counter_cache_save_period: "java.lang.Integer"
-keyspace_count_warn_threshold: "java.lang.Integer"
-hints_flush_period_in_ms: "java.lang.Integer"
-role_manager: "java.lang.String"
-block_for_peers_in_remote_dcs: "java.lang.Boolean"
-repair_command_pool_size: "java.lang.Integer"
-column_index_size_in_kb: "java.lang.Integer"
-memtable_offheap_space_in_mb: "java.lang.Integer"
-data_file_directories: "java.util.List"
-native_transport_max_frame_size_in_mb: "java.lang.Integer"
-index_summary_resize_interval_in_minutes: "java.lang.Integer"
-enable_user_defined_functions: "java.lang.Boolean"
-max_hint_window_in_ms: "java.lang.Integer"
-seed_provider:
- class_name: "java.lang.String"
- parameters: "java.util.Map"
-check_for_duplicate_rows_during_reads: "java.lang.Boolean"
-key_cache_migrate_during_compaction: "java.lang.Boolean"
-network_authorizer: "java.lang.String"
-batchlog_replay_throttle_in_kb: "java.lang.Integer"
-enable_scripted_user_defined_functions: "java.lang.Boolean"
-internode_application_send_queue_reserve_endpoint_capacity_in_bytes:
"java.lang.Integer"
-commitlog_compression:
- class_name: "java.lang.String"
- parameters: "java.util.Map"
-broadcast_address: "java.lang.String"
-credentials_update_interval_in_ms: "java.lang.Integer"
-snapshot_before_compaction: "java.lang.Boolean"
-back_pressure_strategy:
- class_name: "java.lang.String"
- parameters: "java.util.Map"
-prepared_statements_cache_size_mb: "java.lang.Long"
-native_transport_port_ssl: "java.lang.Integer"
-allocate_tokens_for_keyspace: "java.lang.String"
-diagnostic_events_enabled: "java.lang.Boolean"
-storage_port: "java.lang.Integer"
-counter_cache_size_in_mb: "java.lang.Long"
-repair_request_timeout_in_ms: "java.lang.Long"
-dynamic_snitch_reset_interval_in_ms: "java.lang.Integer"
-tracetype_query_ttl: "java.lang.Integer"
-autocompaction_on_startup_enabled: "java.lang.Boolean"
-commit_failure_policy: "org.apache.cassandra.config.Config.CommitFailurePolicy"
-concurrent_writes: "java.lang.Integer"
-range_request_timeout_in_ms: "java.lang.Long"
-dynamic_snitch_update_interval_in_ms: "java.lang.Integer"
-hinted_handoff_enabled: "java.lang.Boolean"
-internode_application_receive_queue_capacity_in_bytes: "java.lang.Integer"
-automatic_sstable_upgrade: "java.lang.Boolean"
-max_value_size_in_mb: "java.lang.Integer"
-memtable_flush_writers: "java.lang.Integer"
-otc_coalescing_strategy: "java.lang.String"
-snapshot_on_repaired_data_mismatch: "java.lang.Boolean"
-commitlog_max_compression_buffers_in_pool: "java.lang.Integer"
-internode_application_send_queue_capacity_in_bytes: "java.lang.Integer"
-roles_cache_max_entries: "java.lang.Integer"
-native_transport_max_negotiable_protocol_version: "java.lang.Integer"
-start_native_transport: "java.lang.Boolean"
-ssl_storage_port: "java.lang.Integer"
-cluster_name: "java.lang.String"
-incremental_backups: "java.lang.Boolean"
-key_cache_save_period: "java.lang.Integer"
-windows_timer_interval: "java.lang.Integer"
-rpc_interface: "java.lang.String"
-repair_session_space_in_mb: "java.lang.Integer"
-row_cache_keys_to_save: "java.lang.Integer"
-repair_command_pool_full_strategy:
"org.apache.cassandra.config.Config.RepairCommandPoolFullStrategy"
-inter_dc_stream_throughput_outbound_megabits_per_sec: "java.lang.Integer"
-client_encryption_options:
- optional: "java.lang.Boolean"
- store_type: "java.lang.String"
- cipher_suites: "java.util.List"
- enabled: "java.lang.Boolean"
- require_endpoint_verification: "java.lang.Boolean"
- accepted_protocols: "java.util.List"
- keystore_password: "java.lang.String"
- protocol: "java.lang.String"
- require_client_auth: "java.lang.Boolean"
- truststore_password: "java.lang.String"
- keystore: "java.lang.String"
- truststore: "java.lang.String"
- algorithm: "java.lang.String"
-concurrent_validations: "java.lang.Integer"
-ideal_consistency_level: "org.apache.cassandra.db.ConsistencyLevel"
-consecutive_message_errors_threshold: "java.lang.Integer"
-trickle_fsync: "java.lang.Boolean"
-reject_repair_compaction_threshold: "java.lang.Integer"
-max_streaming_retries: "java.lang.Integer"
-native_transport_flush_in_batches_legacy: "java.lang.Boolean"
-rpc_address: "java.lang.String"
-file_cache_enabled: "java.lang.Boolean"
-cdc_raw_directory: "java.lang.String"
-num_tokens: "java.lang.Integer"
-repaired_data_tracking_for_partition_reads_enabled: "java.lang.Boolean"
-enable_drop_compact_storage: "java.lang.Boolean"
-commitlog_directory: "java.lang.String"
-unlogged_batch_across_partitions_warn_threshold: "java.lang.Integer"
-auto_bootstrap: "java.lang.Boolean"
-authorizer: "java.lang.String"
-sstable_preemptive_open_interval_in_mb: "java.lang.Integer"
-broadcast_rpc_address: "java.lang.String"
-listen_interface_prefer_ipv6: "java.lang.Boolean"
-repair_session_max_tree_depth: "java.lang.Integer"
-auto_optimise_preview_repair_streams: "java.lang.Boolean"
-concurrent_compactors: "java.lang.Integer"
-buffer_pool_use_heap_if_exhausted: "java.lang.Boolean"
-local_system_data_file_directory: "java.lang.String"
-stream_entire_sstables: "java.lang.Boolean"
-corrupted_tombstone_strategy:
"org.apache.cassandra.config.Config.CorruptedTombstoneStrategy"
-listen_address: "java.lang.String"
-rpc_keepalive: "java.lang.Boolean"
-allow_extra_insecure_udfs: "java.lang.Boolean"
-request_timeout_in_ms: "java.lang.Long"
-disk_access_mode: "org.apache.cassandra.config.Config.DiskAccessMode"
-concurrent_counter_writes: "java.lang.Integer"
-row_cache_size_in_mb: "java.lang.Long"
-cas_contention_timeout_in_ms: "java.lang.Long"
-min_free_space_per_drive_in_mb: "java.lang.Integer"
-cross_node_timeout: "java.lang.Boolean"
-dynamic_snitch: "java.lang.Boolean"
-permissions_validity_in_ms: "java.lang.Integer"
-phi_convict_threshold: "java.lang.Double"
-native_transport_max_threads: "java.lang.Integer"
-permissions_update_interval_in_ms: "java.lang.Integer"
-authenticator: "java.lang.String"
-allow_insecure_udfs: "java.lang.Boolean"
-cache_load_timeout_seconds: "java.lang.Integer"
-concurrent_replicates: "java.lang.Integer"
-commitlog_sync_period_in_ms: "java.lang.Integer"
-auto_optimise_full_repair_streams: "java.lang.Boolean"
-internode_max_message_size_in_bytes: "java.lang.Integer"
-native_transport_max_concurrent_requests_in_bytes: "java.lang.Long"
-compaction_large_partition_warning_threshold_mb: "java.lang.Integer"
-enable_user_defined_functions_threads: "java.lang.Boolean"
-native_transport_allow_older_protocols: "java.lang.Boolean"
-otc_coalescing_enough_coalesced_messages: "java.lang.Integer"
-slow_query_log_timeout_in_ms: "java.lang.Long"
-report_unconfirmed_repaired_data_mismatches: "java.lang.Boolean"
-use_offheap_merkle_trees: "java.lang.Boolean"
-concurrent_materialized_view_builders: "java.lang.Integer"
-server_encryption_options:
- enable_legacy_ssl_storage_port: "java.lang.Boolean"
- optional: "java.lang.Boolean"
- store_type: "java.lang.String"
- cipher_suites: "java.util.List"
- enabled: "java.lang.Boolean"
- require_endpoint_verification: "java.lang.Boolean"
- accepted_protocols: "java.util.List"
- keystore_password: "java.lang.String"
- protocol: "java.lang.String"
- require_client_auth: "java.lang.Boolean"
- internode_encryption:
"org.apache.cassandra.config.EncryptionOptions.ServerEncryptionOptions.InternodeEncryption"
- truststore_password: "java.lang.String"
- keystore: "java.lang.String"
- truststore: "java.lang.String"
- algorithm: "java.lang.String"
-max_hints_delivery_threads: "java.lang.Integer"
-native_transport_idle_timeout_in_ms: "java.lang.Long"
-saved_caches_directory: "java.lang.String"
-max_concurrent_automatic_sstable_upgrades: "java.lang.Integer"
-file_cache_round_up: "java.lang.Boolean"
-streaming_keep_alive_period_in_secs: "java.lang.Integer"
-enable_sasi_indexes: "java.lang.Boolean"
-gc_log_threshold_in_ms: "java.lang.Integer"
-snapshot_on_duplicate_row_detection: "java.lang.Boolean"
-commitlog_sync_group_window_in_ms: "java.lang.Double"
-internode_compression:
"org.apache.cassandra.config.Config.InternodeCompression"
-otc_coalescing_window_us: "java.lang.Integer"
-credentials_cache_max_entries: "java.lang.Integer"
-periodic_commitlog_sync_lag_block_in_ms: "java.lang.Integer"
-enable_materialized_views: "java.lang.Boolean"
-roles_validity_in_ms: "java.lang.Integer"
-networking_cache_size_in_mb: "java.lang.Integer"
-native_transport_port: "java.lang.Integer"
-permissions_cache_max_entries: "java.lang.Integer"
-stream_throughput_outbound_megabits_per_sec: "java.lang.Integer"
-hints_compression:
- class_name: "java.lang.String"
- parameters: "java.util.Map"
-commitlog_periodic_queue_size: "java.lang.Integer"
-force_new_prepared_statement_behaviour: "java.lang.Boolean"
-back_pressure_enabled: "java.lang.Boolean"
-cdc_free_space_check_interval_ms: "java.lang.Integer"
-transparent_data_encryption_options:
- cipher: "java.lang.String"
- chunk_length_kb: "java.lang.Integer"
- iv_length: "java.lang.Integer"
- key_alias: "java.lang.String"
- key_provider:
- class_name: "java.lang.String"
- parameters: "java.util.Map"
- enabled: "java.lang.Boolean"
-initial_range_tombstone_list_allocation_size: "java.lang.Integer"
-partitioner: "java.lang.String"
-listen_interface: "java.lang.String"
-user_defined_function_fail_timeout: "java.lang.Long"
-file_cache_size_in_mb: "java.lang.Integer"
-inter_dc_tcp_nodelay: "java.lang.Boolean"
-internode_authenticator: "java.lang.String"
-key_cache_keys_to_save: "java.lang.Integer"
-commitlog_segment_size_in_mb: "java.lang.Integer"
-replica_filtering_protection:
- cached_rows_fail_threshold: "java.lang.Integer"
- cached_rows_warn_threshold: "java.lang.Integer"
-internode_tcp_connect_timeout_in_ms: "java.lang.Integer"
-native_transport_max_concurrent_requests_in_bytes_per_ip: "java.lang.Long"
-range_tombstone_list_growth_factor: "java.lang.Double"
-native_transport_max_concurrent_connections: "java.lang.Long"
-memtable_cleanup_threshold: "java.lang.Float"
-concurrent_reads: "java.lang.Integer"
-streaming_connections_per_host: "java.lang.Integer"
-truncate_request_timeout_in_ms: "java.lang.Long"
-auto_snapshot: "java.lang.Boolean"
-native_transport_receive_queue_capacity_in_bytes: "java.lang.Integer"
-internode_streaming_tcp_user_timeout_in_ms: "java.lang.Integer"
-batch_size_fail_threshold_in_kb: "java.lang.Integer"
-compaction_throughput_mb_per_sec: "java.lang.Integer"
-max_hints_file_size_in_mb: "java.lang.Integer"
-endpoint_snitch: "java.lang.String"
diff --git
a/test/distributed/org/apache/cassandra/distributed/impl/InstanceConfig.java
b/test/distributed/org/apache/cassandra/distributed/impl/InstanceConfig.java
index 5d88cc0102..01a594fa60 100644
--- a/test/distributed/org/apache/cassandra/distributed/impl/InstanceConfig.java
+++ b/test/distributed/org/apache/cassandra/distributed/impl/InstanceConfig.java
@@ -373,12 +373,6 @@ public class InstanceConfig implements IInstanceConfig
config.remove("node_proximity");
config.set("endpoint_snitch",
"org.apache.cassandra.distributed.impl.DistributedTestSnitch");
- // 4.0+ has seed_provider without port
- if (version.compareTo(UpgradeTestBase.v40) >= 0)
- return config;
-
- config.set("seed_provider", new
ParameterizedClass(SimpleSeedProvider.class.getName(),
-
Collections.singletonMap("seeds", "127.0.0.1")));
return config;
}
diff --git
a/test/distributed/org/apache/cassandra/distributed/upgrade/BatchUpgradeTest.java
b/test/distributed/org/apache/cassandra/distributed/upgrade/BatchUpgradeTest.java
index c62b28b8ac..7976f3f133 100644
---
a/test/distributed/org/apache/cassandra/distributed/upgrade/BatchUpgradeTest.java
+++
b/test/distributed/org/apache/cassandra/distributed/upgrade/BatchUpgradeTest.java
@@ -35,7 +35,7 @@ public class BatchUpgradeTest extends UpgradeTestBase
.nodes(2)
.nodesToUpgrade(2)
.withConfig(c -> c.with(Feature.GOSSIP))
- .upgradesToCurrentFrom(v40).setup((cluster) -> {
+ .upgradesToCurrentFrom(v41).setup((cluster) -> {
cluster.schemaChange("CREATE TABLE " + KEYSPACE + ".users (" +
"userid uuid PRIMARY KEY," +
"firstname ascii," +
diff --git
a/test/distributed/org/apache/cassandra/distributed/upgrade/CompactStorageColumnDeleteTest.java
b/test/distributed/org/apache/cassandra/distributed/upgrade/CompactStorageColumnDeleteTest.java
index 520d077082..50b9d3ae8f 100644
---
a/test/distributed/org/apache/cassandra/distributed/upgrade/CompactStorageColumnDeleteTest.java
+++
b/test/distributed/org/apache/cassandra/distributed/upgrade/CompactStorageColumnDeleteTest.java
@@ -35,7 +35,7 @@ public class CompactStorageColumnDeleteTest extends
UpgradeTestBase
.nodes(2)
.nodesToUpgrade(2)
.withConfig(c -> c.with(Feature.GOSSIP))
- .upgradesToCurrentFrom(v40)
+ .upgradesToCurrentFrom(v41)
.setup((cluster) -> {
cluster.schemaChange("CREATE TABLE " + KEYSPACE + ".tbl (pk int,
ck int, v int, PRIMARY KEY (pk, ck)) WITH COMPACT STORAGE");
})
diff --git
a/test/distributed/org/apache/cassandra/distributed/upgrade/CompactStorageHiddenColumnTest.java
b/test/distributed/org/apache/cassandra/distributed/upgrade/CompactStorageHiddenColumnTest.java
index 91b2b8137b..6f23b4a419 100644
---
a/test/distributed/org/apache/cassandra/distributed/upgrade/CompactStorageHiddenColumnTest.java
+++
b/test/distributed/org/apache/cassandra/distributed/upgrade/CompactStorageHiddenColumnTest.java
@@ -35,7 +35,7 @@ public class CompactStorageHiddenColumnTest extends
UpgradeTestBase
.nodes(2)
.nodesToUpgrade(2)
.withConfig(c -> c.with(Feature.GOSSIP))
- .upgradesToCurrentFrom(v40)
+ .upgradesToCurrentFrom(v41)
.setup((cluster) -> {
cluster.schemaChange("CREATE TABLE " + KEYSPACE + ".tbl (pk int,
ck int, PRIMARY KEY (pk, ck)) WITH COMPACT STORAGE");
})
diff --git
a/test/distributed/org/apache/cassandra/distributed/upgrade/CompactStorageImplicitNullInClusteringTest.java
b/test/distributed/org/apache/cassandra/distributed/upgrade/CompactStorageImplicitNullInClusteringTest.java
index 09f3976925..c4859b5b19 100644
---
a/test/distributed/org/apache/cassandra/distributed/upgrade/CompactStorageImplicitNullInClusteringTest.java
+++
b/test/distributed/org/apache/cassandra/distributed/upgrade/CompactStorageImplicitNullInClusteringTest.java
@@ -35,7 +35,7 @@ public class CompactStorageImplicitNullInClusteringTest
extends UpgradeTestBase
.nodes(2)
.nodesToUpgrade(2)
.withConfig(c -> c.with(Feature.GOSSIP))
- .upgradesToCurrentFrom(v40)
+ .upgradesToCurrentFrom(v41)
.setup((cluster) -> {
cluster.schemaChange("CREATE TABLE " + KEYSPACE + ".tbl (pk int,
ck1 int, ck2 int, v int, PRIMARY KEY (pk, ck1, ck2)) WITH COMPACT STORAGE");
})
diff --git
a/test/distributed/org/apache/cassandra/distributed/upgrade/CompactStoragePagingTest.java
b/test/distributed/org/apache/cassandra/distributed/upgrade/CompactStoragePagingTest.java
index 9298631a8d..c64ae8a55e 100644
---
a/test/distributed/org/apache/cassandra/distributed/upgrade/CompactStoragePagingTest.java
+++
b/test/distributed/org/apache/cassandra/distributed/upgrade/CompactStoragePagingTest.java
@@ -35,7 +35,7 @@ public class CompactStoragePagingTest extends UpgradeTestBase
.nodes(2)
.nodesToUpgrade(2)
.withConfig(c -> c.with(Feature.GOSSIP))
- .upgradesToCurrentFrom(v40)
+ .upgradesToCurrentFrom(v41)
.setup((cluster) -> {
cluster.schemaChange("CREATE TABLE " + KEYSPACE + ".tbl (pk int,
ck int, v int, PRIMARY KEY (pk, ck)) WITH COMPACT STORAGE");
for (int i = 1; i < 10; i++)
diff --git
a/test/distributed/org/apache/cassandra/distributed/upgrade/CompactStoragePagingWithProtocolV40Test.java
b/test/distributed/org/apache/cassandra/distributed/upgrade/CompactStoragePagingWithProtocolV40Test.java
deleted file mode 100644
index d245d9fdb7..0000000000
---
a/test/distributed/org/apache/cassandra/distributed/upgrade/CompactStoragePagingWithProtocolV40Test.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * 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 com.vdurmont.semver4j.Semver;
-
-/**
- * {@link CompactStoragePagingWithProtocolTester} for v40 -> CURRENT upgrade
path.
- */
-public class CompactStoragePagingWithProtocolV40Test extends
CompactStoragePagingWithProtocolTester
-{
- @Override
- protected Semver initialVersion()
- {
- return v40;
- }
-}
diff --git
a/test/distributed/org/apache/cassandra/distributed/upgrade/CompactionHistorySystemTableUpgradeTest.java
b/test/distributed/org/apache/cassandra/distributed/upgrade/CompactionHistorySystemTableUpgradeTest.java
index 5f310279b3..2f626947b2 100644
---
a/test/distributed/org/apache/cassandra/distributed/upgrade/CompactionHistorySystemTableUpgradeTest.java
+++
b/test/distributed/org/apache/cassandra/distributed/upgrade/CompactionHistorySystemTableUpgradeTest.java
@@ -40,8 +40,6 @@ public class CompactionHistorySystemTableUpgradeTest extends
UpgradeTestBase
new TestCase()
.nodes(1)
.nodesToUpgrade(1)
- // all upgrades from v40 to current, excluding v50 -> v51
- .singleUpgradeToCurrentFrom(v40)
.singleUpgradeToCurrentFrom(v41)
.withConfig(c -> c.with(Feature.GOSSIP))
.setup((cluster) -> {
diff --git
a/test/distributed/org/apache/cassandra/distributed/upgrade/ConfigCompatibilityTestGenerate.java
b/test/distributed/org/apache/cassandra/distributed/upgrade/ConfigCompatibilityTestGenerate.java
index 23a3f21669..ed2ac4adf2 100644
---
a/test/distributed/org/apache/cassandra/distributed/upgrade/ConfigCompatibilityTestGenerate.java
+++
b/test/distributed/org/apache/cassandra/distributed/upgrade/ConfigCompatibilityTestGenerate.java
@@ -34,7 +34,6 @@ import org.apache.cassandra.distributed.shared.Versions;
import static org.apache.cassandra.config.ConfigCompatibilityTest.TEST_DIR;
import static org.apache.cassandra.config.ConfigCompatibilityTest.dump;
import static org.apache.cassandra.config.ConfigCompatibilityTest.toTree;
-import static org.apache.cassandra.distributed.upgrade.UpgradeTestBase.v40;
import static org.apache.cassandra.distributed.upgrade.UpgradeTestBase.v41;
import static org.apache.cassandra.distributed.upgrade.UpgradeTestBase.v50;
@@ -47,7 +46,7 @@ public class ConfigCompatibilityTestGenerate
{
ICluster.setup();
Versions versions = Versions.find();
- for (Semver version : Arrays.asList(v40, v41, v50))
+ for (Semver version : Arrays.asList(v41, v50))
{
File path = new File(TEST_DIR, "version=" + version + ".yml");
path.getParentFile().mkdirs();
diff --git
a/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeIndexV40Test.java
b/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeIndexV40Test.java
deleted file mode 100644
index bd4488b928..0000000000
---
a/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeIndexV40Test.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * 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 org.junit.Test;
-
-/**
- * {@link MixedModeIndexTestBase} for upgrades from 4.0.
- */
-public class MixedModeIndexV40Test extends MixedModeIndexTestBase
-{
- @Test
- public void testIndex() throws Throwable
- {
- testIndex(v40);
- }
-}
diff --git
a/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeMessageForwardTest.java
b/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeMessageForwardTest.java
index 766bbef542..d1386eec34 100644
---
a/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeMessageForwardTest.java
+++
b/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeMessageForwardTest.java
@@ -104,7 +104,7 @@ public class MixedModeMessageForwardTest extends
UpgradeTestBase
.withConfig(c -> c.with(Feature.GOSSIP, Feature.NETWORK))
.withBuilder(b -> b.withRacks(numDCs, 1, nodesPerDc))
.nodes(numDCs * nodesPerDc)
- .upgradesToCurrentFrom(v40)
+ .upgradesToCurrentFrom(v41)
.setup(cluster -> {
cluster.schemaChange("ALTER KEYSPACE " + KEYSPACE +
" WITH replication = {'class': 'NetworkTopologyStrategy', " +
ntsArgs + " };");
diff --git
a/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModePaxosTTLTest.java
b/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModePaxosTTLTest.java
index 63d2497ad8..f78d9b3824 100644
---
a/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModePaxosTTLTest.java
+++
b/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModePaxosTTLTest.java
@@ -33,22 +33,12 @@ public class MixedModePaxosTTLTest extends UpgradeTestBase
/**
* Tests the mixed mode paxos loop bug in CASSANDRA-20514
*
- * CEP-14 changed the ttl behavior of legacy paxos state to expire based
off the ballot time of the operation being
- * persisted, not the time a commit is persisted. This eliminated the race
addressed by CASSANDRA-12043, and so the
- * check it added to the most recent commit prepare logic was removed.
- *
- * When operating in mixed mode though, this can still be a problem. If a
4.1 or higher node is coordinating a paxos
- * operation with 2 or more replicas on 4.0 or lower, this race becomes a
problem again. You need 3 things to make
- * this an infinite loop
- * 1. a 4.1 node coordinating a paxos operation with 2x 4.0 replicas
- * 2. replica A) a 4.0 node returns a most recent commit for a ballot
that's could have been ttld
- * 3. replica B) a 4.0 node has ttl'd that mrc AND converted the ttld
cells into tombstones
- *
- * The 4.1 coordinator receives the mrc from replica A, but since it no
longer disregards missing most recent commits
- * past the ttl window, it sends the "missing" commit to replica B. Since
replica B now has a tombstone for that mrc,
- * and tombstones win when reconciled with live cells, even ones with
ttls, the commit is a noop and it continues
- * to report nothing for its mrc value when the coordinator restarts the
prepare phase. This loops until the query
- * times out.
+ * Regression test for mixed-mode paxos with ttl'd legacy paxos state.
CEP-14 made legacy paxos
+ * state expire off the ballot time rather than the commit-persist time,
which eliminated the race
+ * addressed by CASSANDRA-12043 and let that check be removed.
Historically, a post-CEP-14
+ * coordinator paired with pre-CEP-14 replicas could hit an infinite
prepare loop when a tombstoned
+ * most-recent-commit on one replica shadowed the coordinator's resend.
This test keeps the
+ * scenario covered for current upgrade paths.
*/
@Test
public void legacyExpiredStateTest() throws Throwable
@@ -61,7 +51,7 @@ public class MixedModePaxosTTLTest extends UpgradeTestBase
.withConfig(c -> c.with(Feature.GOSSIP,
Feature.NETWORK).set("cas_contention_timeout", "500ms"))
.nodes(3)
.nodesToUpgrade(1)
- .upgradesToCurrentFrom(v40)
+ .upgradesToCurrentFrom(v41)
.setup(cluster -> {
cluster.schemaChange(format("CREATE KEYSPACE %s WITH
REPLICATION={'class': 'SimpleStrategy', 'replication_factor': '2'}", keyspace));
cluster.schemaChange(format("CREATE TABLE %s.%s (k int primary
key, v int) " +
diff --git
a/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModePaxosTestBase.java
b/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModePaxosTestBase.java
index e238e8c00c..827d3ac3c0 100644
---
a/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModePaxosTestBase.java
+++
b/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModePaxosTestBase.java
@@ -52,24 +52,12 @@ public abstract class MixedModePaxosTestBase extends
UpgradeTestBase
/**
* Tests the mixed mode loop bug in CASSANDRA-20493
* <p>
- * Paxos uses a 'zero' ballot in place of null when it doesn't find a
ballot in system.paxos. CEP-14 changed the lsb
- * of the zero ballot uuid from the TimeUUID.MIN_CLOCK_SEQ_AND_NODE value
of 0x8080808080808080 (-9187201950435737472)
- * to 0. It also removed the check added in CASSANDRA-12043, since the way
it read and filtered ttld paxos data had
- * been improved.
- * <p>
- * In mixed mode with a 4.0 or lower replica and a 4.1 and higher paxos
coordinator, and in the absence of existing
- * paxos metadata for the key being queried, the prepare phase will
interpret the mismatched ‘zero’ ballots as the
- * 4.0 and lower nodes having missed the most recent commit and will
attempt to update them using the 4.1 zero ballot
- * and empty partition update.
- * <p>
- * In cases where this is the first paxos operation on a key, or the
previously ttl'd paxos data on disk had been purged,
- * this would just add a retry step as it updated the 4.0 and lower hosts
with its zero ballot.
- * <p>
- * On nodes where there was ttl'd paxos data though, the ttl'd data on
disk would shadow this update. This would
- * happen because paxos commits are recorded to system.paxos using the
ballot timestamp as the write timestamp, so
- * the more recent write updating the commit with timestamp 0 would be
shadowed by the now ttl’d write with a ‘real’
- * timestamp. When the prepare phase restarted it would again get the old
zero value and cause the prepare phase to
- * get into an infinite loop.
+ * Regression test for mixed-mode paxos with TTL'd paxos data on disk.
CEP-14 changed the lsb of the
+ * zero ballot uuid from TimeUUID.MIN_CLOCK_SEQ_AND_NODE
(0x8080808080808080) to 0 and removed the
+ * CASSANDRA-12043 check; the historical concern was that pre-CEP-14
replicas paired with newer
+ * coordinators could get stuck in an infinite prepare loop when ttl'd
system.paxos data shadowed
+ * the coordinator's zero-ballot update. This test keeps the scenario
covered for current upgrade
+ * paths.
*/
private void ttldPaxosStateTest(boolean legacyAware, boolean upgradeAware)
throws Throwable
{
@@ -81,7 +69,7 @@ public abstract class MixedModePaxosTestBase extends
UpgradeTestBase
.withConfig(c -> c.with(Feature.GOSSIP, Feature.NETWORK))
.nodes(2)
.nodesToUpgrade(1)
- .upgradesToCurrentFrom(v40)
+ .upgradesToCurrentFrom(v41)
.setup(cluster -> {
cluster.schemaChange(format("CREATE TABLE %s.%s (k int primary
key, v int) " +
"WITH gc_grace_seconds=%s", keyspace,
table, gcGrace));
diff --git
a/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeRepairTest.java
b/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeRepairTest.java
index a886d04764..4db35366a3 100644
---
a/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeRepairTest.java
+++
b/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeRepairTest.java
@@ -44,9 +44,7 @@ public class MixedModeRepairTest extends UpgradeTestBase
public static final String SELECT = withKeyspace("SELECT * FROM %s.t WHERE
k=?");
/**
- * Test that repairs fail during a major upgrade. If the repaired node is
>= 4.0 thanks to CASSANDRA-13944 there
- * will be an informative message. Otherwise, if the repaired node is
below 4.0, there won't be such an informative
- * message and the repair will take very long to timeout.
+ * Test that repairs fail during a major upgrade with an informative
message (CASSANDRA-13944).
*/
@Test
public void testRepairDuringMajorUpgrade() throws Throwable
@@ -54,7 +52,7 @@ public class MixedModeRepairTest extends UpgradeTestBase
new UpgradeTestBase.TestCase()
.nodes(2)
.nodesToUpgrade(UPGRADED_NODE)
- .upgradesToCurrentFrom(v40)
+ .upgradesToCurrentFrom(v41)
.withConfig(config -> config.with(NETWORK,
GOSSIP).set("storage_compatibility_mode", "CASSANDRA_4"))
.setup(cluster -> {
cluster.schemaChange(CREATE_TABLE);
diff --git
a/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeTTLOverflowUpgradeTestBase.java
b/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeTTLOverflowUpgradeTestBase.java
index 618f3ebb2e..e93a1e18d5 100644
---
a/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeTTLOverflowUpgradeTestBase.java
+++
b/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeTTLOverflowUpgradeTestBase.java
@@ -111,8 +111,6 @@ public abstract class MixedModeTTLOverflowUpgradeTestBase
extends UpgradeTestBas
new TestCase()
.nodes(2)
.nodesToUpgradeOrdered(1, 2)
- // all upgrades from v40 to current, excluding v50 -> v51
- .singleUpgradeToCurrentFrom(v40)
.singleUpgradeToCurrentFrom(v41)
.withConfig(c ->
c.with(Feature.GOSSIP).set("storage_compatibility_mode", "CASSANDRA_4"))
.setup(cluster -> {
diff --git
a/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeWritetimeOrTTLTest.java
b/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeWritetimeOrTTLTest.java
index 6674335bd5..a6d9e9ff4c 100644
---
a/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeWritetimeOrTTLTest.java
+++
b/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeWritetimeOrTTLTest.java
@@ -53,8 +53,6 @@ public class MixedModeWritetimeOrTTLTest extends
UpgradeTestBase
new TestCase()
.nodes(2)
.nodesToUpgradeOrdered(1, 2)
- // all upgrades from v40 to current, excluding v50 -> v51
- .singleUpgradeToCurrentFrom(v40)
.singleUpgradeToCurrentFrom(v41)
.withConfig(c -> c.with(Feature.GOSSIP))
.setup(cluster -> {
diff --git
a/test/distributed/org/apache/cassandra/distributed/upgrade/Pre40MessageFilterTest.java
b/test/distributed/org/apache/cassandra/distributed/upgrade/Pre40MessageFilterTest.java
deleted file mode 100644
index 4aba07b5fb..0000000000
---
a/test/distributed/org/apache/cassandra/distributed/upgrade/Pre40MessageFilterTest.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * 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.function.Consumer;
-
-import org.junit.Test;
-
-import org.apache.cassandra.distributed.api.ConsistencyLevel;
-import org.apache.cassandra.distributed.api.Feature;
-import org.apache.cassandra.distributed.api.IInstanceConfig;
-
-public class Pre40MessageFilterTest extends UpgradeTestBase
-{
- public void reserializePre40RequestPaxosTest(Consumer<IInstanceConfig>
configConsumer) throws Throwable
- {
- new UpgradeTestBase.TestCase()
- .nodes(2)
- .withConfig(configConsumer)
- .nodesToUpgrade(1)
- .upgradesToCurrentFrom(v40)
- .setup((cluster) -> {
- cluster.filters().outbound().allVerbs().messagesMatching((f,t,m)
-> false).drop();
- cluster.schemaChange("CREATE TABLE " + KEYSPACE + ".tbl (pk int,
ck int, v int, PRIMARY KEY (pk, ck))");
- cluster.coordinator(1).execute("INSERT INTO " + KEYSPACE +
".tbl(pk,ck,v) VALUES (1, 1, 1) IF NOT EXISTS",
- ConsistencyLevel.QUORUM,
- 1);
- })
- .runAfterNodeUpgrade((cluster, node) -> {
- cluster.coordinator(node).execute("UPDATE " + KEYSPACE + ".tbl SET
v = ? WHERE pk = ? AND ck = ? IF v = ?",
- ConsistencyLevel.QUORUM,
- 2, 1, 1, 1);
- }).run();
- }
-
- @Test
- public void reserializePre40RequestPaxosWithoutNetworkTest() throws
Throwable
- {
- reserializePre40RequestPaxosTest(config ->
config.with(Feature.GOSSIP));
- }
-
- @Test
- public void reserializePre40RequestPaxosWithNetworkTest() throws Throwable
- {
- reserializePre40RequestPaxosTest(config ->
config.with(Feature.NETWORK, Feature.GOSSIP));
- }
-}
diff --git
a/test/distributed/org/apache/cassandra/distributed/upgrade/RepairRequestTimeoutUpgradeTest.java
b/test/distributed/org/apache/cassandra/distributed/upgrade/RepairRequestTimeoutUpgradeTest.java
deleted file mode 100644
index 4929d8dea6..0000000000
---
a/test/distributed/org/apache/cassandra/distributed/upgrade/RepairRequestTimeoutUpgradeTest.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * 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 org.junit.Test;
-
-import org.apache.cassandra.distributed.api.Feature;
-
-import static org.apache.cassandra.net.Verb.VALIDATION_REQ;
-
-public class RepairRequestTimeoutUpgradeTest extends UpgradeTestBase
-{
- @Test
- public void simpleUpgradeWithNetworkAndGossipTest() throws Throwable
- {
- new TestCase()
- .nodes(2)
- .nodesToUpgrade(1)
- .withConfig((cfg) -> cfg.with(Feature.NETWORK,
Feature.GOSSIP).set("repair_request_timeout_in_ms", 1000))
- .upgrades(v40, v41)
- .setup((cluster) -> {
- cluster.schemaChange("CREATE TABLE " + KEYSPACE + ".tbl (pk int,
ck int, v int, PRIMARY KEY (pk, ck))");
- for (int i = 0; i < 10; i++)
- cluster.get(i % 2 + 1).executeInternal("INSERT INTO " +
KEYSPACE + ".tbl (pk, ck, v) VALUES ("+i+", 1, 1)");
- cluster.forEach(i -> i.flush(KEYSPACE));
- })
- .runAfterNodeUpgrade((cluster, node) -> {
- cluster.filters().verbs(VALIDATION_REQ.id).drop();
- cluster.get(2).nodetoolResult("repair", KEYSPACE,
"-full").asserts().failure();
- cluster.filters().reset();
- for (int i = 10; i < 20; i++)
- cluster.get(i % 2 + 1).executeInternal("INSERT INTO " +
KEYSPACE + ".tbl (pk, ck, v) VALUES ("+i+", 1, 1)");
- cluster.forEach(i -> i.flush(KEYSPACE));
- cluster.get(1).nodetoolResult("repair", KEYSPACE,
"-full").asserts().success();
- }).run();
- }
-}
diff --git
a/test/distributed/org/apache/cassandra/distributed/upgrade/UpgradeTestBase.java
b/test/distributed/org/apache/cassandra/distributed/upgrade/UpgradeTestBase.java
index 4c958998e7..b9eefc39ca 100644
---
a/test/distributed/org/apache/cassandra/distributed/upgrade/UpgradeTestBase.java
+++
b/test/distributed/org/apache/cassandra/distributed/upgrade/UpgradeTestBase.java
@@ -95,7 +95,6 @@ public class UpgradeTestBase extends DistributedTestBase
public void run(UpgradeableCluster cluster, int node) throws Throwable;
}
- public static final Semver v40 = new Semver("4.0-alpha1",
SemverType.LOOSE);
public static final Semver v41 = new Semver("4.1-alpha1",
SemverType.LOOSE);
public static final Semver v42 = new Semver("4.2-alpha1",
SemverType.LOOSE);
public static final Semver v50 = new Semver("5.0-alpha1",
SemverType.LOOSE);
@@ -103,13 +102,6 @@ public class UpgradeTestBase extends DistributedTestBase
public static final Semver v70 = new Semver("7.0-alpha1",
SemverType.LOOSE);
protected static final SimpleGraph<Semver> SUPPORTED_UPGRADE_PATHS = new
SimpleGraph.Builder<Semver>()
- // 40
edges are here temporarily
- //
until we resolve CASSANDRA-21324
-
.addEdge(v40, v41)
-
.addEdge(v40, v50)
-
.addEdge(v40, v60)
-
.addEdge(v40, v70)
- /////
.addEdge(v41, v50)
.addEdge(v41, v60)
.addEdge(v41, v70)
diff --git a/test/unit/org/apache/cassandra/config/ConfigCompatibilityTest.java
b/test/unit/org/apache/cassandra/config/ConfigCompatibilityTest.java
index 5b0010eef8..a060765a87 100644
--- a/test/unit/org/apache/cassandra/config/ConfigCompatibilityTest.java
+++ b/test/unit/org/apache/cassandra/config/ConfigCompatibilityTest.java
@@ -143,15 +143,6 @@ public class ConfigCompatibilityTest
diff(TEST_DIR + "/version=3.11.0.yml", ALLOW_LIST, EXPECTED_FOR_50);
}
- @Test
- public void diff_4_0() throws IOException
- {
- diff(TEST_DIR + "/version=4.0-alpha1.yml",
ImmutableSet.<String>builder()
- .addAll(WINDOWS)
-
.addAll(ALLOW_LIST)
- .build(),
EXPECTED_FOR_50);
- }
-
@Test
public void diff_4_1() throws IOException
{
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]