Skip to content

alternator: Add stream support for tablets#28500

Merged
scylladb-promoter merged 5 commits intoscylladb:masterfrom
radoslawcybulski:add-stream-support-for-tablets-ver2
Apr 18, 2026
Merged

alternator: Add stream support for tablets#28500
scylladb-promoter merged 5 commits intoscylladb:masterfrom
radoslawcybulski:add-stream-support-for-tablets-ver2

Conversation

@radoslawcybulski
Copy link
Copy Markdown

@radoslawcybulski radoslawcybulski commented Feb 2, 2026

Implements neccesary changes for Streams to work with tablet based tables.

  • add utility functions to system_keyspace that helps reading cdc content from cdc log tables for tablet based base tables (similar api to ones for vnodes)
  • remove antitablet if checks, update tests that fail / skip if tablets are selected
  • add two tests to extensively test tablet based version, especially while manipulating stream count

Fixes #23838
Fixes SCYLLADB-463

@scylladbbot
Copy link
Copy Markdown

Docs Preview 📖

Docs Preview for this pull request is available here

Changed Files:

Note: This preview will be available for 30 days and will be automatically deleted after that period. You can manually trigger a new build by committing changes.

@scylladbbot
Copy link
Copy Markdown

🔴 CI State: FAILURE

Mode Stage Status Queue Time Run Time Node
Framework test spider9.cloudius-systems.com
dev Build 2h 49m 7m spider14.cloudius-systems.com
release Build 2h 52m 8m spider15.cloudius-systems.com
debug Build 2h 40m 9m spider14.cloudius-systems.com

Build Details:

  • Total Queue: 8h 21m
  • Total Run: 26m

Note: To re-trigger CI for this PR, comment: @scylladbbot trigger-ci

@scylladbbot
Copy link
Copy Markdown

🔴 CI State: FAILURE

Mode Stage Status Queue Time Run Time Node
Framework test spider11.cloudius-systems.com
dev Build 3h 31m 7m spider13.cloudius-systems.com
release Build 3h 38m 8m spider17.cloudius-systems.com
debug Build 3h 39m 10m spider7.cloudius-systems.com

Build Details:

  • Total Queue: 10h 48m
  • Total Run: 27m

Note: To re-trigger CI for this PR, comment: @scylladbbot trigger-ci

@scylladbbot
Copy link
Copy Markdown

🔴 CI State: FAILURE

Mode Stage Status Queue Time Run Time Node
Framework test spider9.cloudius-systems.com
dev Build 10m 15m spider6.cloudius-systems.com
test.py 1h 29m spider6.cloudius-systems.com
release Build 2h 49m 17m spider13.cloudius-systems.com
test.py 44m spider13.cloudius-systems.com
debug Build 32m 16m spider1.cloudius-systems.com
test.py 4h 22m spider1.cloudius-systems.com
dtest dtest with tablets
dtest with consistent topology changes

Failed Tests (17/155624):

📄 Elasticsearch analysis for test_get_records_with_alternating_tablets_count[using tablets]
Period CI Failures / Total CI Pass Rate (%) Next Failures / Total Next Pass Rate (%)
Week (7d) 0/0 0 0/0 0
Month (30d) 0/0 0 0/0 0
Quarter (90d) 0/0 0 0/0 0

Recent 10 Failures

Test Name Arch Mode Jenkins Node Jenkins Job Ref Timestamp Days Ago
📄 Elasticsearch analysis for test_parent_filtering[using tablets]
Period CI Failures / Total CI Pass Rate (%) Next Failures / Total Next Pass Rate (%)
Week (7d) 0/0 0 0/0 0
Month (30d) 0/0 0 0/0 0
Quarter (90d) 0/0 0 0/0 0

Recent 10 Failures

Test Name Arch Mode Jenkins Node Jenkins Job Ref Timestamp Days Ago

Build Details:

  • Total Queue: 3h 31m
  • Total Run: 13h 47m

Note: To re-trigger CI for this PR, comment: @scylladbbot trigger-ci

@scylladbbot
Copy link
Copy Markdown

🔴 CI State: FAILURE

Mode Stage Status Queue Time Run Time Node
Framework test spider11.cloudius-systems.com
dev Build 16h 35m 3m spider16.cloudius-systems.com

Build Details:

  • Total Queue: 16h 35m
  • Total Run: 16h 40m

Note: To re-trigger CI for this PR, comment: @scylladbbot trigger-ci

@ScyllaPiotr
Copy link
Copy Markdown
Contributor

@radoslawcybulski please add Fixes SCYLLADB-463 too.
What's the state of this PR? Does it wait for the five PRs that are being reviewed? Is it actually blocked by them?

@radoslawcybulski
Copy link
Copy Markdown
Author

@ScyllaPiotr @nyh can do the review, but we can't merge it and i assume we might need some rebases.

@ScyllaPiotr
Copy link
Copy Markdown
Contributor

The build stage failed:

05:20:56 ./db/system_keyspace.hh:220:27: error: duplicate member 'CDC_TIMESTAMPS'
05:20:56 220 | static constexpr auto CDC_TIMESTAMPS = "cdc_timestamps";
05:20:56 ./db/system_keyspace.hh:203:27: note: previous declaration is here
05:20:56 203 | static constexpr auto CDC_TIMESTAMPS = "cdc_timestamps";
05:20:56 ./db/system_keyspace.hh:221:27: error: duplicate member 'CDC_STREAMS'
05:20:56 221 | static constexpr auto CDC_STREAMS = "cdc_streams";
05:20:56 ./db/system_keyspace.hh:204:27: note: previous declaration is here
05:20:56 204 | static constexpr auto CDC_STREAMS = "cdc_streams";
05:20:56 2 errors generated.
05:20:56 [275/1226] CXX build/dev/test/lib/sstable_utils.o
05:20:56 FAILED: [code=1] build/dev/test/lib/sstable_utils.o

@radoslawcybulski
Copy link
Copy Markdown
Author

@ScyllaPiotr fixed.

@ScyllaPiotr
Copy link
Copy Markdown
Contributor

@ScyllaPiotr fixed.

Did you push?

@radoslawcybulski
Copy link
Copy Markdown
Author

radoslawcybulski commented Mar 10, 2026

@ScyllaPiotr i did. git push -f shows no changes and fetch shows my commit. Yet it is not shown here...

EDIT: (there's this nice "progress" thingy in top right corner, which shows "processing updates". i guess github is lagged or something else broke)

image

radoslawcybulski pushed a commit to radoslawcybulski/scylladb that referenced this pull request Apr 16, 2026
response.get('Records') can return None when the key is missing from the
response dictionary. While the code already guards iteration with
'if records:', using an explicit default empty list is more defensive
and makes the intent clearer.

Addresses review comment:
scylladb#28500 (comment)
@radoslawcybulski radoslawcybulski force-pushed the add-stream-support-for-tablets-ver2 branch from 7abc51a to f2cb12e Compare April 16, 2026 08:00
@radoslawcybulski radoslawcybulski force-pushed the add-stream-support-for-tablets-ver2 branch 2 times, most recently from 1067007 to d7edd9a Compare April 16, 2026 11:23
@radoslawcybulski
Copy link
Copy Markdown
Author

Patch updated - squashed review fix commits. Added #28189 as base branch, so the patch would run tests successfully.

ScyllaPiotr added a commit to ScyllaPiotr/scylladb that referenced this pull request Apr 16, 2026
Drop the tablet-vs-streams error checks added by scylladb#28500.
The next commit replaces them with a deferred enablement mechanism
that makes Alternator Streams compatible with tablet tables.
@scylladbbot
Copy link
Copy Markdown

🟢 CI State: SUCCESS

Mode Stage Status Queue Time Run Time Node
Checkout 2m spider9.cloudius-systems.com
Framework test 0m spider9.cloudius-systems.com
Build 5h 25m 44m spider12.cloudius-systems.com
dev test.py 12m spider12.cloudius-systems.com
Unit Tests Custom
🔹 test/alternator/test_cql_schema.py
🔹 test/alternator/test_metrics.py
🔹 test_describe_stream
🔹 test_describe_stream_create_time
🔹 test_describe_stream_with_nonexistent_last_shard
🔹 test_get_records
🔹 test_get_shard_iterator
🔹 test_get_shard_iterator_for_nonexistent_shard
🔹 test_get_shard_iterator_for_nonexistent_stream
🔹 test_list_streams_alter
🔹 test_list_streams_create
🔹 test_list_streams_paged
🔹 test_list_streams_paged_with_new_table
🔹 test_list_streams_too_high_limit
🔹 test_list_streams_with_nonexistent_last_stream
🔹 test_list_streams_zero_limit
🔹 test_stream_arn_unchanging
🔹 test_get_records_with_alternating_tablets_count
🔹 test_parent_children_merge
🔹 test_parent_children_split
0m 3m spider12.cloudius-systems.com
release test.py 21m spider12.cloudius-systems.com
Unit Tests Custom
🔹 test/alternator/test_cql_schema.py
🔹 test/alternator/test_metrics.py
🔹 test_describe_stream
🔹 test_describe_stream_create_time
🔹 test_describe_stream_with_nonexistent_last_shard
🔹 test_get_records
🔹 test_get_shard_iterator
🔹 test_get_shard_iterator_for_nonexistent_shard
🔹 test_get_shard_iterator_for_nonexistent_stream
🔹 test_list_streams_alter
🔹 test_list_streams_create
🔹 test_list_streams_paged
🔹 test_list_streams_paged_with_new_table
🔹 test_list_streams_too_high_limit
🔹 test_list_streams_with_nonexistent_last_stream
🔹 test_list_streams_zero_limit
🔹 test_stream_arn_unchanging
🔹 test_get_records_with_alternating_tablets_count
🔹 test_parent_children_merge
🔹 test_parent_children_split
0m 4m spider12.cloudius-systems.com
debug test.py 2h 21m spider12.cloudius-systems.com
Unit Tests Custom
🔹 test/alternator/test_cql_schema.py
🔹 test/alternator/test_metrics.py
🔹 test_describe_stream
🔹 test_describe_stream_create_time
🔹 test_describe_stream_with_nonexistent_last_shard
🔹 test_get_records
🔹 test_get_shard_iterator
🔹 test_get_shard_iterator_for_nonexistent_shard
🔹 test_get_shard_iterator_for_nonexistent_stream
🔹 test_list_streams_alter
🔹 test_list_streams_create
🔹 test_list_streams_paged
🔹 test_list_streams_paged_with_new_table
🔹 test_list_streams_too_high_limit
🔹 test_list_streams_with_nonexistent_last_stream
🔹 test_list_streams_zero_limit
🔹 test_stream_arn_unchanging
🔹 test_get_records_with_alternating_tablets_count
🔹 test_parent_children_merge
🔹 test_parent_children_split
0m 10m spider12.cloudius-systems.com
dtest dtest with tablets 41m
dtest with consistent topology changes 48m

Build Details:

  • Total Queue: 5h 25m
  • Total Run: 9h 23m

@ScyllaPiotr
Copy link
Copy Markdown
Contributor

ScyllaPiotr commented Apr 16, 2026

Patch updated - squashed review fix commits. Added #28189 as base branch, so the patch would run tests successfully.

🟢 CI State: SUCCESS

👏 😄

ScyllaPiotr added a commit to ScyllaPiotr/scylladb that referenced this pull request Apr 16, 2026
Remove the error checks that reject enabling Alternator Streams on
tablet tables. This is the code-guard removal part of scylladb#28500;
the documentation and test updates from that PR are not included here.
The next commit replaces these guards with a deferred enablement
mechanism that makes Alternator Streams compatible with tablet tables.

This commit is intended to be dropped once scylladb#28500 is merged,
as that PR carries the same removal together with the full cleanup.
@ScyllaPiotr
Copy link
Copy Markdown
Contributor

ScyllaPiotr commented Apr 17, 2026

@radoslawcybulski with #28189 merged, this branch naturally became conflicted.

@radoslawcybulski radoslawcybulski force-pushed the add-stream-support-for-tablets-ver2 branch from d7edd9a to 794f0d9 Compare April 17, 2026 12:27
@radoslawcybulski
Copy link
Copy Markdown
Author

Patch updated - rebased.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 19 out of 19 changed files in this pull request and generated 6 comments.

future<std::map<db_clock::time_point, cdc::streams_version>> cdc_get_versioned_streams(db_clock::time_point not_older_than, context);

// Read current generation timestamp for the given table. Throws runtime_error (see `cql3::untyped_result_set::one()`) if table not found.
// NOTE: there's a sibling `read_cdc_for_tablets_current_generation_timestamp` in `system_keyspace`, that does the same for tables backed up by tablets.
Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor wording: "backed up by tablets" reads like backup/restore; this seems to mean "backed by tablets". Clarifying avoids confusion.

Suggested change
// NOTE: there's a sibling `read_cdc_for_tablets_current_generation_timestamp` in `system_keyspace`, that does the same for tables backed up by tablets.
// NOTE: there's a sibling `read_cdc_for_tablets_current_generation_timestamp` in `system_keyspace`, that does the same for tables backed by tablets.

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

copilot is correct here

#
# SPDX-License-Identifier: LicenseRef-ScyllaDB-Source-Available-1.1

# Tests for stream operations' nuanses that are intristic to ScyllaDB (parent-children relationship on stream shards).
Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment has multiple spelling errors (e.g. "nuanses", "intristic") which makes the test module description harder to read; please correct the wording.

Suggested change
# Tests for stream operations' nuanses that are intristic to ScyllaDB (parent-children relationship on stream shards).
# Tests for stream operation nuances that are intrinsic to ScyllaDB (parent-child relationship on stream shards).

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

copilot is correct here.


# Tests for stream operations' nuanses that are intristic to ScyllaDB (parent-children relationship on stream shards).

import time, random, collections
Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Combined imports on one line ("import time, random, collections") deviates from the import style used elsewhere in Alternator tests and makes diffs noisier when adding/removing imports. Split these into separate import statements.

Suggested change
import time, random, collections
import collections
import random
import time

Copilot uses AI. Check for mistakes.
Comment on lines +220 to +224
# run a test, where we create two cdc log generations (parent and children)
# and children count is double of parents (thus parents are splited into children)
# validate split assumptions:
# - every parents has the two distinct children
# - every two children has the same parent
Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spelling/grammar in this comment is off (e.g. "splited", "every parents"), which makes the test intent harder to parse. Please fix the wording.

Suggested change
# run a test, where we create two cdc log generations (parent and children)
# and children count is double of parents (thus parents are splited into children)
# validate split assumptions:
# - every parents has the two distinct children
# - every two children has the same parent
# Run a test where we create two CDC log generations (parents and children)
# and the number of children is double the number of parents (that is, each parent is split into children).
# Validate the split assumptions:
# - every parent has two distinct children
# - every pair of children has the same parent

Copilot uses AI. Check for mistakes.
Comment thread alternator/streams.cc
Comment on lines 900 to +912
// filter out cdc generations older than the table or now() - cdc::ttl (typically dynamodb_streams_max_window - 24h)
auto low_ts = std::max(as_timepoint(schema->id()), db_clock::now() - ttl);
if (schema->table().uses_tablets()) {
// We can't use table creation time here, as tablets might report a
// generation timestamp just before table creation. This is safe
// because CDC generations are per-table and cannot pre-date the
// table, so expanding the window won't pull in unrelated data.
auto low_ts = db_clock::now() - ttl;
topologies = co_await _system_keyspace.read_cdc_for_tablets_versioned_streams(bs->ks_name(), bs->cf_name(), low_ts);
} else {
auto normal_token_owners = _proxy.get_token_metadata_ptr()->count_normal_token_owners();
auto low_ts = std::max(as_timepoint(schema->id()), db_clock::now() - ttl);
topologies = co_await _sdks.cdc_get_versioned_streams(low_ts, { normal_token_owners });
}
Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This module computes describe_cl based on token owners, but in tablets mode DescribeStream now reads CDC generations from system_keyspace virtual tables using consistency_level::ONE only. Consider adjusting the audited consistency level for the tablets path (or computing it after the uses_tablets() check) so audit records reflect the actual read behavior.

Copilot uses AI. Check for mistakes.
Comment thread db/system_keyspace.hh
future<> read_cdc_streams_history(table_id table, std::optional<db_clock::time_point> from, noncopyable_function<future<>(table_id, db_clock::time_point, cdc::cdc_stream_diff)> f);

// Reads current generation timestamp for the given table. Throws runtime_error (see `cql3::untyped_result_set::one()`) if table not found.
// NOTE: there's a sibling `cdc_current_generation_timestamp` in `system_distributed_keyspace`, that does the same for tables backed up by vnodes.
Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor wording: "backed up by" reads like backup/restore; this seems to mean "backed by" (vnodes). Clarifying this would avoid confusion for future readers.

Suggested change
// NOTE: there's a sibling `cdc_current_generation_timestamp` in `system_distributed_keyspace`, that does the same for tables backed up by vnodes.
// NOTE: there's a sibling `cdc_current_generation_timestamp` in `system_distributed_keyspace`, that does the same for tables backed by vnodes.

Copilot uses AI. Check for mistakes.
@scylladbbot
Copy link
Copy Markdown

🟢 CI State: SUCCESS

Mode Stage Status Queue Time Run Time Node
Checkout 2m spider9.cloudius-systems.com
Framework test 0m spider9.cloudius-systems.com
Build 21m 44m spider14.cloudius-systems.com
dev test.py 12m spider14.cloudius-systems.com
Unit Tests Custom
🔹 test/alternator/test_cql_schema.py
🔹 test/alternator/test_metrics.py
🔹 test_describe_stream
🔹 test_describe_stream_create_time
🔹 test_describe_stream_with_nonexistent_last_shard
🔹 test_get_records
🔹 test_get_shard_iterator
🔹 test_get_shard_iterator_for_nonexistent_shard
🔹 test_get_shard_iterator_for_nonexistent_stream
🔹 test_list_streams_alter
🔹 test_list_streams_create
🔹 test_list_streams_paged
🔹 test_list_streams_paged_with_new_table
🔹 test_list_streams_too_high_limit
🔹 test_list_streams_with_nonexistent_last_stream
🔹 test_list_streams_zero_limit
🔹 test_stream_arn_unchanging
🔹 test_get_records_with_alternating_tablets_count
🔹 test_parent_children_merge
🔹 test_parent_children_split
0m 2m spider14.cloudius-systems.com
release test.py 22m spider14.cloudius-systems.com
Unit Tests Custom
🔹 test/alternator/test_cql_schema.py
🔹 test/alternator/test_metrics.py
🔹 test_describe_stream
🔹 test_describe_stream_create_time
🔹 test_describe_stream_with_nonexistent_last_shard
🔹 test_get_records
🔹 test_get_shard_iterator
🔹 test_get_shard_iterator_for_nonexistent_shard
🔹 test_get_shard_iterator_for_nonexistent_stream
🔹 test_list_streams_alter
🔹 test_list_streams_create
🔹 test_list_streams_paged
🔹 test_list_streams_paged_with_new_table
🔹 test_list_streams_too_high_limit
🔹 test_list_streams_with_nonexistent_last_stream
🔹 test_list_streams_zero_limit
🔹 test_stream_arn_unchanging
🔹 test_get_records_with_alternating_tablets_count
🔹 test_parent_children_merge
🔹 test_parent_children_split
0m 3m spider14.cloudius-systems.com
debug test.py 2h 17m spider14.cloudius-systems.com
Unit Tests Custom
🔹 test/alternator/test_cql_schema.py
🔹 test/alternator/test_metrics.py
🔹 test_describe_stream
🔹 test_describe_stream_create_time
🔹 test_describe_stream_with_nonexistent_last_shard
🔹 test_get_records
🔹 test_get_shard_iterator
🔹 test_get_shard_iterator_for_nonexistent_shard
🔹 test_get_shard_iterator_for_nonexistent_stream
🔹 test_list_streams_alter
🔹 test_list_streams_create
🔹 test_list_streams_paged
🔹 test_list_streams_paged_with_new_table
🔹 test_list_streams_too_high_limit
🔹 test_list_streams_with_nonexistent_last_stream
🔹 test_list_streams_zero_limit
🔹 test_stream_arn_unchanging
🔹 test_get_records_with_alternating_tablets_count
🔹 test_parent_children_merge
🔹 test_parent_children_split
0m 8m spider14.cloudius-systems.com
dtest dtest with tablets 41m
dtest with consistent topology changes 48m

Build Details:

  • Total Queue: 21m
  • Total Run: 4h 12m

@ScyllaPiotr
Copy link
Copy Markdown
Contributor

@radoslawcybulski needs rebase

Radosław Cybulski added 5 commits April 17, 2026 18:57
Add a reference to `system_keyspace` object to `executor` object in
alternator. The reference is needed, because in future commit
we will add there (and use) helper functions that read `cdc_log` tables
for tablet based tables similarly to already existing siblings
for vnodes living in `system_distributed_keyspace`.
Add helper functions to `system_keyspace` object, that deal
with reading cdc content for tablet based table's.
`read_cdc_for_tablets_current_generation_timestamp` will read current
generation's timestamp.
`read_cdc_for_tablets_versioned_streams` will build
timestamp -> `cdc::streams_version` map similar to how
`system_distributed_keyspace::cdc_get_versioned_streams` works.
We're adding those helper functions, because their siblings in
`system_distributed_keyspace` work only, when base table is backed up
by vnodes. New additions work only, when base table is backed up
by tablets.
Add a code, that will handle Streams reading, when table is
using tablets underneath.

Fixes scylladb#23838
Remove `if` condition, that prevented tables with tablets
working with Streams.
Remove a test, that verifies, that Alternator will reject
tables with tablets underneath working with Streams feature enabled
on them.
Update few tests, that were expected to fail on tablets to enable their
normal execution.
Add tests for Streams, when table uses tablets underneath.
One test verifies filtering using CHILD_SHARDS feature.
Other one makes sure we get read all data while the table
undergoes tablet count change.

Add `--tablet-load-stats-refresh-interval-in-seconds=1`
to `alternator/run` script, as otherwise newly added tests will fail.
The setting changes how often scylla refreshes tablet metadata.
This can't be done using `scylla_config_temporary`, as
1) default is 60 seconds
2) scylla will wait full timeout (60s) to read configuration variable again.
@radoslawcybulski
Copy link
Copy Markdown
Author

Patch updated - rebased.

Copy link
Copy Markdown
Contributor

@nyh nyh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. Looks good to me.

There are some typos that copilot found, and probably a bunch of other stuff, but I'll merge anyway. Feel free to send followup patches to later fix these typos or anything else you want to fix.

future<std::map<db_clock::time_point, cdc::streams_version>> cdc_get_versioned_streams(db_clock::time_point not_older_than, context);

// Read current generation timestamp for the given table. Throws runtime_error (see `cql3::untyped_result_set::one()`) if table not found.
// NOTE: there's a sibling `read_cdc_for_tablets_current_generation_timestamp` in `system_keyspace`, that does the same for tables backed up by tablets.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

copilot is correct here

TAGS = []
# The following fixture is to ensure that tests in this module will be tested with both vnodes and tablets.
# This fixture runs automatically for every test in this module.
# To avoid relying on semantics of a similar fixture used in TTL tests, we define it locally here instead of reusing
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would have removed this comment, but never mind now.

#
# SPDX-License-Identifier: LicenseRef-ScyllaDB-Source-Available-1.1

# Tests for stream operations' nuanses that are intristic to ScyllaDB (parent-children relationship on stream shards).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

copilot is correct here.

@scylladbbot
Copy link
Copy Markdown

🟢 CI State: SUCCESS

Mode Stage Status Queue Time Run Time Node
Checkout 2m spider9.cloudius-systems.com
Framework test 0m spider9.cloudius-systems.com
Build 0m 41m spider14.cloudius-systems.com
dev test.py 12m spider14.cloudius-systems.com
Unit Tests Custom
🔹 test/alternator/test_cql_schema.py
🔹 test/alternator/test_metrics.py
🔹 test_describe_stream
🔹 test_describe_stream_create_time
🔹 test_describe_stream_with_nonexistent_last_shard
🔹 test_get_records
🔹 test_get_shard_iterator
🔹 test_get_shard_iterator_for_nonexistent_shard
🔹 test_get_shard_iterator_for_nonexistent_stream
🔹 test_list_streams_alter
🔹 test_list_streams_create
🔹 test_list_streams_paged
🔹 test_list_streams_paged_with_new_table
🔹 test_list_streams_too_high_limit
🔹 test_list_streams_with_nonexistent_last_stream
🔹 test_list_streams_zero_limit
🔹 test_stream_arn_unchanging
🔹 test_get_records_with_alternating_tablets_count
🔹 test_parent_children_merge
🔹 test_parent_children_split
0m 2m spider14.cloudius-systems.com
release test.py 21m spider14.cloudius-systems.com
Unit Tests Custom
🔹 test/alternator/test_cql_schema.py
🔹 test/alternator/test_metrics.py
🔹 test_describe_stream
🔹 test_describe_stream_create_time
🔹 test_describe_stream_with_nonexistent_last_shard
🔹 test_get_records
🔹 test_get_shard_iterator
🔹 test_get_shard_iterator_for_nonexistent_shard
🔹 test_get_shard_iterator_for_nonexistent_stream
🔹 test_list_streams_alter
🔹 test_list_streams_create
🔹 test_list_streams_paged
🔹 test_list_streams_paged_with_new_table
🔹 test_list_streams_too_high_limit
🔹 test_list_streams_with_nonexistent_last_stream
🔹 test_list_streams_zero_limit
🔹 test_stream_arn_unchanging
🔹 test_get_records_with_alternating_tablets_count
🔹 test_parent_children_merge
🔹 test_parent_children_split
0m 3m spider14.cloudius-systems.com
debug test.py 2h 13m spider14.cloudius-systems.com
Unit Tests Custom
🔹 test/alternator/test_cql_schema.py
🔹 test/alternator/test_metrics.py
🔹 test_describe_stream
🔹 test_describe_stream_create_time
🔹 test_describe_stream_with_nonexistent_last_shard
🔹 test_get_records
🔹 test_get_shard_iterator
🔹 test_get_shard_iterator_for_nonexistent_shard
🔹 test_get_shard_iterator_for_nonexistent_stream
🔹 test_list_streams_alter
🔹 test_list_streams_create
🔹 test_list_streams_paged
🔹 test_list_streams_paged_with_new_table
🔹 test_list_streams_too_high_limit
🔹 test_list_streams_with_nonexistent_last_stream
🔹 test_list_streams_zero_limit
🔹 test_stream_arn_unchanging
🔹 test_get_records_with_alternating_tablets_count
🔹 test_parent_children_merge
🔹 test_parent_children_split
0m 8m spider14.cloudius-systems.com
dtest dtest with tablets 41m
dtest with consistent topology changes 46m

Build Details:

  • Total Queue: 0m
  • Total Run: 3h 44m

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-assisted area/alternator Alternator related Issues backport/none Backport is not required documentation Requires documentation P1 Urgent promoted-to-master

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support tablets in Alternator Streams

8 participants