Skip to content

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

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

25-4: schemeshard: add batch processing for ttl responses#34444
ijon wants to merge 3 commits intoydb-platform:stable-25-4from
ijon:merge/25-4/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 19:55
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

github-actions bot commented Feb 18, 2026

2026-02-18 17:01:30 UTC Pre-commit check linux-x86_64-relwithdebinfo for dd74022 has started.
2026-02-18 17:02:00 UTC Artifacts will be uploaded here
2026-02-18 17:06:36 UTC ya make is running...
🟡 2026-02-18 19:54:51 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?
41973 39255 0 11 2664 43

2026-02-18 19:55:05 UTC ya make is running... (failed tests rerun, try 2)
🟡 2026-02-18 20:36:37 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?
1645 (only retried tests) 1593 0 11 9 32

2026-02-18 20:36:40 UTC ya make is running... (failed tests rerun, try 3)
🔴 2026-02-18 21:02:54 UTC Some tests failed, follow the links below.

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

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
1424 (only retried tests) 1390 0 4 3 27

🟢 2026-02-18 21:02:57 UTC Build successful.
🟢 2026-02-18 21:03:23 UTC ydbd size 2.3 GiB changed* by +91.3 KiB, which is < 100.0 KiB vs stable-25-4: OK

ydbd size dash stable-25-4: ee9876b merge: dd74022 diff diff %
ydbd size 2 429 648 608 Bytes 2 429 742 096 Bytes +91.3 KiB +0.004%
ydbd stripped size 516 679 208 Bytes 516 698 888 Bytes +19.2 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

@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:02:56 UTC Pre-commit check linux-x86_64-release-asan for dd74022 has started.
2026-02-18 17:03:34 UTC Artifacts will be uploaded here
2026-02-18 17:08:17 UTC ya make is running...
🟡 2026-02-18 20:05:27 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?
18500 17959 0 229 289 23

🟢 2026-02-18 20:05:34 UTC Build successful.
🟡 2026-02-18 20:06:04 UTC ydbd size 3.8 GiB changed* by +143.6 KiB, which is >= 100.0 KiB vs stable-25-4: Warning

ydbd size dash stable-25-4: ee9876b merge: dd74022 diff diff %
ydbd size 4 040 730 216 Bytes 4 040 877 264 Bytes +143.6 KiB +0.004%
ydbd stripped size 1 502 145 344 Bytes 1 502 206 112 Bytes +59.3 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

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

@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