Skip to content

25-4-1: schemeshard: add batch processing for ttl responses#34445

Open
ijon wants to merge 3 commits intoydb-platform:stable-25-4-1from
ijon:merge/25-4-1/schemeshard-batch-proc-ttl-responses
Open

25-4-1: schemeshard: add batch processing for ttl responses#34445
ijon wants to merge 3 commits intoydb-platform:stable-25-4-1from
ijon:merge/25-4-1/schemeshard-batch-proc-ttl-responses

Conversation

@ijon
Copy link
Collaborator

@ijon ijon commented Feb 18, 2026

Cherry-pick from main:

Changes:

  • Add size- and time- based batching for TEvConditionalEraseRowsResponse. TTxScheduleConditionalErase now processes batches instead of individual responses.
  • Process TEvConditionalEraseRowsResponse::PARTIAL response early, without entering a local transaction.
  • Make table checks once per table, not once per shard.

ijon added 3 commits February 18, 2026 20:02
Changes:
- Add size- and time- based batching for `TEvConditionalEraseRowsResponse`. `TTxScheduleConditionalErase` now processes batches instead of individual responses.
- Process `TEvConditionalEraseRowsResponse::PARTIAL` response early, without entering a local transaction.
- Also move TSchemeShardConfig from `config.proto` to separate `schemeshard_config.proto`.

Configuration:
- `feature_flags.enable_conditional_erase_response_batching` — enables batching
- `schemeshard_config.cond_erase_response_batch_size` — batch size limit
	- default: 100
	- zero disables batching
- `schemeshard_config.cond_erase_response_batch_max_time_ms` — max pending batch time
	- default: 100 ms
	- value clamped between 1-1000 ms
Make table checks once per table, not once per shard.
@github-actions
Copy link

🟢 2026-02-18 17:05:17 UTC The validation of the Pull Request description is successful.

@ydbot
Copy link
Collaborator

ydbot commented Feb 18, 2026

Run Extra Tests

Run additional tests for this PR. You can customize:

  • Test Size: small, medium, large (default: all)
  • Test Targets: any directory path (default: ydb/)
  • Sanitizers: ASAN, MSAN, TSAN
  • Coredumps: enable for debugging (default: off)
  • Additional args: custom ya make arguments

▶  Run tests

@github-actions
Copy link

github-actions bot commented Feb 18, 2026

2026-02-18 17:05:46 UTC Pre-commit check linux-x86_64-release-asan for 9a2690a has started.
2026-02-18 17:06:02 UTC Artifacts will be uploaded here
2026-02-18 17:10:20 UTC ya make is running...
🟡 2026-02-18 20:19:32 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet

Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
18484 17922 0 258 277 27

🟢 2026-02-18 20:19:38 UTC Build successful.
🟡 2026-02-18 20:20:24 UTC ydbd size 3.8 GiB changed* by +136.3 KiB, which is >= 100.0 KiB vs stable-25-4-1: Warning

ydbd size dash stable-25-4-1: 340298f merge: 9a2690a diff diff %
ydbd size 4 035 737 320 Bytes 4 035 876 856 Bytes +136.3 KiB +0.003%
ydbd stripped size 1 499 982 080 Bytes 1 500 034 976 Bytes +51.7 KiB +0.004%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

@github-actions
Copy link

github-actions bot commented Feb 18, 2026

2026-02-18 17:06:54 UTC Pre-commit check linux-x86_64-relwithdebinfo for 9a2690a has started.
2026-02-18 17:07:38 UTC Artifacts will be uploaded here
2026-02-18 17:12:29 UTC ya make is running...
🟡 2026-02-18 19:52:39 UTC Some tests failed, follow the links below. Going to retry failed tests...

Details

Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
41957 39245 0 30 2657 25

2026-02-18 19:52:49 UTC ya make is running... (failed tests rerun, try 2)
🟡 2026-02-18 20:24:40 UTC Some tests failed, follow the links below. Going to retry failed tests...

Details

Ya make output | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
1321 (only retried tests) 1283 0 6 0 32

2026-02-18 20:24:43 UTC ya make is running... (failed tests rerun, try 3)
🔴 2026-02-18 20:44:57 UTC Some tests failed, follow the links below.

Ya make output | Test bloat | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
635 (only retried tests) 616 0 2 0 17

🟢 2026-02-18 20:45:00 UTC Build successful.
🟢 2026-02-18 20:45:21 UTC ydbd size 2.3 GiB changed* by +91.1 KiB, which is < 100.0 KiB vs stable-25-4-1: OK

ydbd size dash stable-25-4-1: 340298f merge: 9a2690a diff diff %
ydbd size 2 426 703 048 Bytes 2 426 796 304 Bytes +91.1 KiB +0.004%
ydbd stripped size 516 040 680 Bytes 516 060 104 Bytes +19.0 KiB +0.004%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

@ijon ijon marked this pull request as ready for review February 19, 2026 08:03
@ijon ijon requested a review from a team as a code owner February 19, 2026 08:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

schemeshard: add batch processing for TEvDataShard::TEvConditionalEraseRowsResponse (TTL)

2 participants

Comments