Commit Graph

46661 Commits

Author SHA1 Message Date
Benny Halevy
2f2d392d54 topology_custom/test_tablets: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit 649e68c6db)
2025-05-12 13:58:18 +03:00
Benny Halevy
871ef9c9b2 topology_custom/test_table_desc_read_barrier: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit 005ceb77d3)
2025-05-12 13:58:18 +03:00
Benny Halevy
84ff0eefdc topology_custom/test_shutdown_hang: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit 50a8f5c1c0)
2025-05-12 13:58:18 +03:00
Benny Halevy
a866a1ccf3 topology_custom/test_select_from_mutation_fragments: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit 4fd6c2d24e)
2025-05-12 13:58:18 +03:00
Benny Halevy
b20816ffd2 topology_custom/test_rpc_compression: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit 72bc4016e7)
2025-05-12 13:58:18 +03:00
Benny Halevy
c87d12c416 topology_custom/test_reversed_queries_during_simulated_upgrade_process: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit 47326d01b7)
2025-05-12 13:58:18 +03:00
Benny Halevy
23052b4df1 topology_custom/test_raft_snapshot_truncation: use create_new_test_keyspace
Using the new_test_keyspace fixture is awkward for this test
as it is written to explicitly drop the created keyspaces
at certain points.

Therefore, just use create_new_test_keyspace to standardize the
creation procedure.

Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit e72a9d3faa)
2025-05-12 13:58:18 +03:00
Benny Halevy
51cd55fb2e topology_custom/test_raft_no_quorum: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit 3f35491264)
2025-05-12 13:58:18 +03:00
Benny Halevy
296fbbf1d6 topology_custom/test_raft_fix_broken_snapshot: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit 380c5e5ac8)
2025-05-12 13:58:18 +03:00
Benny Halevy
9b602cf6c1 topology_custom/test_query_rebounce: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit e05372afa4)
2025-05-12 13:58:18 +03:00
Benny Halevy
4c96ff3e36 topology_custom/test_not_enough_token_owners: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit c68d2a471c)
2025-05-12 13:58:18 +03:00
Benny Halevy
0d6383f70d topology_custom/test_node_shutdown_waits_for_pending_requests: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit 5759a97eb4)
2025-05-12 13:58:18 +03:00
Benny Halevy
2c8d6075b8 topology_custom/test_node_isolation: use create_new_test_keyspace
new_test_keyspace is problematic here since
the presence of the banned node can fail the automatic drop of
the test keyspace due to NoHostAvailable (in debug mode for
some reason)

Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit 55b35eb21c)
2025-05-12 13:58:18 +03:00
Benny Halevy
7a8e3f7bb3 topology_custom/test_mv_topology_change: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit ff9c8428df)
2025-05-12 13:58:18 +03:00
Benny Halevy
8ece858560 topology_custom/test_mv_tablets_replace: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit 11005b10db)
2025-05-12 13:58:18 +03:00
Benny Halevy
b29a01a453 topology_custom/test_mv_tablets_empty_ip: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit 966cf82dae)
2025-05-12 13:58:18 +03:00
Benny Halevy
4b6d5c82ed topology_custom/test_mv_tablets: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit c05794c156)
2025-05-12 13:58:18 +03:00
Benny Halevy
33cf81e195 topology_custom/test_mv_read_concurrency: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit d5e3c578f5)
2025-05-12 13:58:18 +03:00
Benny Halevy
c2c0c0b4e1 topology_custom/test_mv_fail_building: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit 42a104038d)
2025-05-12 13:58:18 +03:00
Benny Halevy
149eab295a topology_custom/test_mv_delete_partitions: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit 629ee3cb46)
2025-05-12 13:58:18 +03:00
Benny Halevy
1c0b6aaa47 topology_custom/test_mv_building: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit a82e734110)
2025-05-12 13:58:18 +03:00
Benny Halevy
ec888b253a topology_custom/test_mv_backlog: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit b13e48b648)
2025-05-12 13:58:18 +03:00
Benny Halevy
5b418eebe7 topology_custom/test_mv_admission_control: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit ef85c4b27e)
2025-05-12 13:58:18 +03:00
Benny Halevy
3b4ac3cb2d topology_custom/test_major_compaction: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit 0e11aad9c5)
2025-05-12 13:58:18 +03:00
Benny Halevy
67c2ca55a6 topology_custom/test_maintenance_mode: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit 0668c642a2)
2025-05-12 13:58:18 +03:00
Benny Halevy
4e778b4875 topology_custom/test_lwt_semaphore: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit 9c095b622b)
2025-05-12 13:58:18 +03:00
Benny Halevy
dbf42b8e75 topology_custom/test_ip_mappings: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit c6653e65ba)
2025-05-12 13:58:18 +03:00
Benny Halevy
9adb5a4e84 topology_custom/test_hints: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit fed078a38a)
2025-05-12 13:58:18 +03:00
Benny Halevy
ecd337763c topology_custom/test_group0_schema_versioning: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit 480a5837ab)
2025-05-12 13:58:18 +03:00
Benny Halevy
9751bd3dbf topology_custom/test_data_resurrection_after_cleanup: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit 4fefffe335)
2025-05-12 13:58:18 +03:00
Benny Halevy
9179938036 topology_custom/test_read_repair_with_conflicting_hash_keys: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit 57faab9ffa)
2025-05-12 13:58:17 +03:00
Benny Halevy
a9c8651722 topology_custom/test_read_repair: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit 205ed113dd)
2025-05-12 13:58:17 +03:00
Benny Halevy
5a563503b4 topology_custom/test_compacting_reader_tombstone_gc_with_data_in_memtable: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit fdb339bf28)
2025-05-12 13:58:17 +03:00
Benny Halevy
1d3d48c79e topology_custom/test_commitlog_segment_data_resurrection: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit 59687c25e0)
2025-05-12 13:58:17 +03:00
Benny Halevy
84adef0489 topology_custom/test_change_replication_factor_1_to_0: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit df84097a4b)
2025-05-12 13:58:17 +03:00
Benny Halevy
bffd3fa3b7 topology/test_tls: test_upgrade_to_ssl: use new_test_keyspace
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit a66ddb7c04)
2025-05-12 13:58:17 +03:00
Benny Halevy
ab86683e7a test/topology/util: new_test_keyspace: drop keyspace only on success
When the test fails with exception, keep the keyspace
intact for post-mortem analysis.

Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit 0fd1b846fe)
2025-05-12 13:58:17 +03:00
Benny Halevy
09ffcb2d98 test/topology/util: refactor new_test_keyspace
Define create_new_test_keyspace that can be used in
cases we cannot automatically drop the newly created keyspace
due to e.g. loss of raft majority at the end of the test.

Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit f946302369)
2025-05-12 13:58:17 +03:00
Benny Halevy
ce0c6e7595 test/topology/util: CREATE KEYSPACE IF NOT EXISTS
Workaround spurious keyspace creation errors
due to retries caused by
https://github.com/scylladb/python-driver/issues/317.
This is safe since the function uses a unique_name for the
keyspace so it should never exist by mistake.

Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit 5d448f721e)
2025-05-12 13:58:17 +03:00
Benny Halevy
6d88937dcd test/topology/util: new_test_keyspace: accept ManagerClient
Following patch will convert topology tests to use
new_test_keyspace and friends.

Some tests restart server and reset the driver connection
so we cannot use the original cql Session for
dropping the created keyspace in the `finally` block.

Pass the ManagerClient instead to get a new cql
session for dropping the keyspace.

Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
(cherry picked from commit 50ce0aaf1c)
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
2025-05-12 13:58:16 +03:00
David Garcia
65d57819c9 docs: fix md redirections for multiversion support
This change resolves an issue where selecting a version from the multiversion dropdown on Markdown pages (e.g. https://docs.scylladb.com/manual/stable/alternator/getting-started.html) incorrectly redirected users to the main page instead of the corresponding versioned page.

The underlying cause was that the `multiversion` extension relies on `source_suffix` to identify available pages for URL mapping. Without this configuration, proper redirection fails for `.md` files.

This fix should be backported to `2025.1` to ensure correct behavior. Otherwise, the fix will only take effect in future releases.

Testing locally is non-trivial: clone the repository, apply the changes to each relevant branch, set `smv_remote_whitelist` to "", then run `make multiversionpreview`. Afterward, switch between versions in the dropdown to verify behavior. I've tested it locally, so the best next step is to merge and confirm that it works as expected in the live environment.

Closes scylladb/scylladb#23957

(cherry picked from commit 4ba7182515)

Closes scylladb/scylladb#24010
2025-05-08 11:18:56 +03:00
Botond Dénes
c341668371 Merge '[Backport 2025.1] replica: skip flush of dropped table' from Scylladb[bot]
Currently, flush throws no_such_column_family if a table is dropped. Skip the flush of dropped table instead.

Fixes: #16095.

Needs backport to 2025.1 and 6.2 as they contain the bug

- (cherry picked from commit 91b57e79f3)

- (cherry picked from commit c1618c7de5)

Parent PR: #23876

Closes scylladb/scylladb#23905

* github.com:scylladb/scylladb:
  test: test table drop during flush
  replica: skip flush of dropped table
2025-05-08 11:18:17 +03:00
Aleksandra Martyniuk
880f11fdba streaming: skip dropped tables
Currently, stream_session::prepare throws when a table in requests
or summaries is dropped. However, we do not want to fail streaming
if the table is dropped.

Delete table checks from stream_session::prepare. Further streaming
steps can handle the dropped table and finish the streaming successfully.

Fixes: #15257.

Closes scylladb/scylladb#23915

(cherry picked from commit 20c2d6210e)

Closes scylladb/scylladb#24052
2025-05-08 11:17:18 +03:00
Pavel Emelyanov
d19d02b543 sstable_directory: Print ks.cf when moving unshared remove sstables
When an sstable is identified by sstable_directory as remote-unshared,
it will at some point be moved to the target shard. When it happens a
log-message appears:

    sstable_directory - Moving 1 unshared SSTables to shard 1

Processing of tables by sstable_directory often happens in parallel, and
messages from sstable_directory are intermixed. Having a message like
above is not very informative, as it tells nothing about sstables that
are being moved.

Equip the message with ks:cf pair to make it more informative.

Signed-off-by: Pavel Emelyanov <xemul@scylladb.com>

Closes scylladb/scylladb#23912

(cherry picked from commit d40d6801b0)

Closes scylladb/scylladb#24015
2025-05-08 11:14:40 +03:00
Anna Stuchlik
db7de7f434 doc: add a link to the previous Enterprise documentation
This commit adds a link to the docs for previous Enterprise versions
at https://enterprise.docs.scylladb.com/ to the left menu.

As we still support versions 2024.1 and 2024.2, we need to ensure
easier access to those docs sets.

Fixes https://github.com/scylladb/scylladb/issues/23870

Closes scylladb/scylladb#23945

(cherry picked from commit 851a433663)

Closes scylladb/scylladb#24017
2025-05-08 10:58:05 +03:00
Botond Dénes
6201531b39 replica/database: memtable_list: save ref to memtable_table_shared_data
This is passed by reference to the constructor, but a copy is saved into
the _table_shared_data member. A reference to this member is passed down
to all memtable readers. Because of the copy, the memtable readers save
a reference to the memtable_list's member, which goes away together with
the memtable_list when the storage_group is destroyed.
This causes use-after-free when a storage group is destroyed while a
memtable read is still ongoing. The memtable reader keeps the memtable
alive, but its reference to the memtable_table_shared_data becomes
stale.
Fix by saving a reference in the memtable_list too, so memtable readers
receive a reference pointing to the original replica::table member,
which is stable accross tablet migrations and merges.
The copy was introduced by 2a76065e3d.
There was a copy even before this commit, but in the previous vnode-only
world this was fine -- there was one memtable_list per table and it was
around until the table itself was. In the tablet world, this is no
longer given, but the above commit didn't account for this.

A test is included, which reproduces the use-after-free on memtable
migration. The test is somewhat artificial in that the use-after-free
would be prevented by holding on to an ERM, but this is done
intentionaly to keep the test simple. Migration -- unlike merge where
this use-after-free was originally observed -- is easy to trigger from
unit tests.

Fixes: #23762

Closes scylladb/scylladb#23984

(cherry picked from commit 0a9ca52cfd)

Closes scylladb/scylladb#24033
2025-05-07 19:21:03 +03:00
Piotr Dulikowski
7591e131a2 test: mv: skip test_view_building_scheduling_group in debug
The test populates a table with 50k rows, creates a view on that table
and then compares the time spent in streaming vs. gossip scheduling
groups. It only takes 10s in dev mode on my machine, but is much slower
in debug mode in CI - building the view doesn't finish within 2 minutes.

The bigger the view to build, the more accurrate the measurement;
moreover, the test scenario isn't interesting enough to be worth running
it in debug mode as this should be covered by other tests. Therefore,
just skip this test in debug mode.

Fixes: scylladb/scylladb#23862

Closes scylladb/scylladb#23866

(cherry picked from commit 3d73c79a72)

Closes scylladb/scylladb#23881
2025-05-06 10:16:57 +02:00
Aleksandra Martyniuk
bfdf7c944b test: test table drop during flush
(cherry picked from commit c1618c7de5)
2025-05-06 09:52:42 +02:00
Aleksandra Martyniuk
238cf27471 replica: skip flush of dropped table
(cherry picked from commit 91b57e79f3)
2025-05-06 09:52:30 +02:00
Benny Halevy
fc21a0f8a1 loading_cache_test: test_loading_cache_reload_during_eviction: use manual_clock
Rather than lowres_clock, as since
32b7cab917,
loading_cache_for_test uses manual_clock for timing
and relying on lowres_clock to time the test might
run out of memory on fast test machines.

Fixes #23497

Signed-off-by: Benny Halevy <bhalevy@scylladb.com>

Closes scylladb/scylladb#23498

(cherry picked from commit 5f2ce0b022)

Closes scylladb/scylladb#23983
2025-05-01 14:07:25 +03:00