Skip to content

Make TQueueInplace and TOneOneQueueInplace usable without an extra pointer #21488

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Jul 23, 2025

Conversation

snaury
Copy link
Member

@snaury snaury commented Jul 22, 2025

Changelog entry

...

Changelog category

  • Not for changelog (changelog entry is not required)

Description for reviewers

This PR makes it possible to specify a deleter for TOneOneQueueInplace when storing pointers, which alleviates the need for custom smart pointers. Also it makes TQueueInplace use constructors and destructors for its elements, which allows storing non-default-constructible and non-assignable types inplace, similar to standard containers.

Additionally this PR replaces indirect TOneOneQueueInplace uses with a direct TDelete specifier, and replaces single-threaded TOneOneQueueInplace with TQueueInplace.

@snaury snaury self-assigned this Jul 22, 2025
Copy link

github-actions bot commented Jul 22, 2025

🟢 2025-07-23 09:29:39 UTC The validation of the Pull Request description is successful.

Copy link

github-actions bot commented Jul 22, 2025

2025-07-22 11:29:05 UTC Pre-commit check linux-x86_64-release-asan for 84dc7cd has started.
2025-07-22 11:29:19 UTC Artifacts will be uploaded here
2025-07-22 11:33:03 UTC ya make is running...
2025-07-22 12:32:52 UTC Check cancelled

Copy link

github-actions bot commented Jul 22, 2025

2025-07-22 11:29:05 UTC Pre-commit check linux-x86_64-relwithdebinfo for 84dc7cd has started.
2025-07-22 11:33:23 UTC Artifacts will be uploaded here
2025-07-22 11:37:08 UTC ya make is running...
2025-07-22 12:32:29 UTC Check cancelled

@snaury snaury force-pushed the one-one-queue-inplace-deleter branch 2 times, most recently from 64e43dd to 208bbc8 Compare July 22, 2025 12:32
Copy link

github-actions bot commented Jul 22, 2025

2025-07-22 12:35:39 UTC Pre-commit check linux-x86_64-relwithdebinfo for 20dba9c has started.
2025-07-22 12:35:54 UTC Artifacts will be uploaded here
2025-07-22 12:39:46 UTC ya make is running...
🟡 2025-07-22 14:35:56 UTC Some tests failed, follow the links below. Going to retry failed tests...

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
39298 36565 0 2 2692 39

2025-07-22 14:39:38 UTC ya make is running... (failed tests rerun, try 2)
🟢 2025-07-22 14:49:27 UTC Tests successful.

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

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
277 (only retried tests) 256 0 0 0 21

🟢 2025-07-22 14:49:36 UTC Build successful.
🟢 2025-07-22 14:49:53 UTC ydbd size 2.2 GiB changed* by +12.9 KiB, which is < 100.0 KiB vs main: OK

ydbd size dash main: b179ac4 merge: 20dba9c diff diff %
ydbd size 2 397 933 224 Bytes 2 397 946 424 Bytes +12.9 KiB +0.001%
ydbd stripped size 501 468 232 Bytes 501 465 352 Bytes -2.8 KiB -0.001%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation
2025-07-22 14:49:54 UTC Check cancelled

Copy link

github-actions bot commented Jul 22, 2025

2025-07-22 12:35:57 UTC Pre-commit check linux-x86_64-release-asan for 20dba9c has started.
2025-07-22 12:36:10 UTC Artifacts will be uploaded here
2025-07-22 12:39:45 UTC ya make is running...
🟢 2025-07-22 14:50:41 UTC ydbd size 3.9 GiB changed* by +29.6 KiB, which is < 100.0 KiB vs main: OK

ydbd size dash main: b179ac4 merge: 20dba9c diff diff %
ydbd size 4 215 911 000 Bytes 4 215 941 344 Bytes +29.6 KiB +0.001%
ydbd stripped size 1 461 060 696 Bytes 1 461 069 400 Bytes +8.5 KiB +0.001%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation
2025-07-22 14:50:44 UTC Check cancelled

@snaury snaury force-pushed the one-one-queue-inplace-deleter branch from 208bbc8 to 9ee9f03 Compare July 22, 2025 14:49
@snaury snaury changed the title Make TOneOneQueueInplace usable without an extra pointer layer Make TQueueInplace and TOneOneQueueInplace usable without an extra pointer Jul 22, 2025
Copy link

github-actions bot commented Jul 22, 2025

2025-07-22 14:52:05 UTC Pre-commit check linux-x86_64-release-asan for 236c713 has started.
2025-07-22 14:52:19 UTC Artifacts will be uploaded here
2025-07-22 14:53:41 UTC Check cancelled

Copy link

github-actions bot commented Jul 22, 2025

2025-07-22 14:52:05 UTC Pre-commit check linux-x86_64-relwithdebinfo for 236c713 has started.
2025-07-22 14:52:18 UTC Artifacts will be uploaded here
2025-07-22 14:53:41 UTC Check cancelled

@snaury snaury force-pushed the one-one-queue-inplace-deleter branch from 9ee9f03 to 8c4239f Compare July 22, 2025 14:53
Copy link

github-actions bot commented Jul 22, 2025

2025-07-22 14:56:34 UTC Pre-commit check linux-x86_64-relwithdebinfo for 9509576 has started.
2025-07-22 14:56:48 UTC Artifacts will be uploaded here
2025-07-22 15:00:31 UTC ya make is running...
2025-07-22 15:19:37 UTC Check cancelled

Copy link

github-actions bot commented Jul 22, 2025

2025-07-22 14:56:51 UTC Pre-commit check linux-x86_64-release-asan for 9509576 has started.
2025-07-22 14:57:04 UTC Artifacts will be uploaded here
2025-07-22 15:00:52 UTC ya make is running...
2025-07-22 15:19:37 UTC Check cancelled

Copy link

github-actions bot commented Jul 22, 2025

2025-07-22 15:20:53 UTC Pre-commit check linux-x86_64-release-asan for f752140 has started.
2025-07-22 15:21:12 UTC Artifacts will be uploaded here
2025-07-22 15:25:04 UTC ya make is running...
🟡 2025-07-22 17:44:07 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
16748 16322 0 121 283 22

🟢 2025-07-22 17:45:35 UTC Build successful.
🟢 2025-07-22 17:46:04 UTC ydbd size 3.9 GiB changed* by +28.4 KiB, which is < 100.0 KiB vs main: OK

ydbd size dash main: 1f6c060 merge: f752140 diff diff %
ydbd size 4 216 011 600 Bytes 4 216 040 680 Bytes +28.4 KiB +0.001%
ydbd stripped size 1 461 098 392 Bytes 1 461 108 696 Bytes +10.1 KiB +0.001%

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

Copy link

github-actions bot commented Jul 22, 2025

2025-07-22 15:20:54 UTC Pre-commit check linux-x86_64-relwithdebinfo for f752140 has started.
2025-07-22 15:21:08 UTC Artifacts will be uploaded here
2025-07-22 15:24:51 UTC ya make is running...
🟡 2025-07-22 17:02:39 UTC Some tests failed, follow the links below. Going to retry failed tests...

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
39304 36579 0 1 2692 32

2025-07-22 17:06:17 UTC ya make is running... (failed tests rerun, try 2)
🟢 2025-07-22 17:17:45 UTC Tests successful.

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

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
230 (only retried tests) 207 0 0 0 23

🟢 2025-07-22 17:17:52 UTC Build successful.
🟢 2025-07-22 17:18:12 UTC ydbd size 2.2 GiB changed* by +15.3 KiB, which is < 100.0 KiB vs main: OK

ydbd size dash main: 1f6c060 merge: f752140 diff diff %
ydbd size 2 397 996 952 Bytes 2 398 012 584 Bytes +15.3 KiB +0.001%
ydbd stripped size 501 475 752 Bytes 501 475 944 Bytes +192 Bytes +0.000%

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

@snaury snaury marked this pull request as ready for review July 22, 2025 15:34
@snaury snaury requested a review from a team as a code owner July 22, 2025 15:34
kunga
kunga previously approved these changes Jul 22, 2025
Copy link

github-actions bot commented Jul 23, 2025

2025-07-23 08:21:34 UTC Pre-commit check linux-x86_64-relwithdebinfo for 38c926b has started.
2025-07-23 08:21:39 UTC Artifacts will be uploaded here
2025-07-23 08:22:54 UTC Check cancelled

Copy link

github-actions bot commented Jul 23, 2025

2025-07-23 08:21:52 UTC Pre-commit check linux-x86_64-release-asan for 38c926b has started.
2025-07-23 08:22:06 UTC Artifacts will be uploaded here
2025-07-23 08:22:54 UTC Check cancelled

Copy link

github-actions bot commented Jul 23, 2025

2025-07-23 08:24:06 UTC Pre-commit check linux-x86_64-release-asan for 8551064 has started.
2025-07-23 08:24:11 UTC Artifacts will be uploaded here
2025-07-23 08:27:57 UTC ya make is running...
2025-07-23 09:24:23 UTC Check cancelled

Copy link

github-actions bot commented Jul 23, 2025

2025-07-23 08:26:25 UTC Pre-commit check linux-x86_64-relwithdebinfo for 8551064 has started.
2025-07-23 08:26:38 UTC Artifacts will be uploaded here
2025-07-23 08:30:15 UTC ya make is running...
2025-07-23 09:24:00 UTC Check cancelled

Copy link

github-actions bot commented Jul 23, 2025

2025-07-23 09:25:50 UTC Pre-commit check linux-x86_64-relwithdebinfo for b82e5a8 has started.
2025-07-23 09:26:03 UTC Artifacts will be uploaded here
2025-07-23 09:29:39 UTC ya make is running...
2025-07-23 10:03:12 UTC Check cancelled

Copy link

github-actions bot commented Jul 23, 2025

2025-07-23 09:26:47 UTC Pre-commit check linux-x86_64-release-asan for b82e5a8 has started.
2025-07-23 09:27:02 UTC Artifacts will be uploaded here
2025-07-23 09:30:39 UTC ya make is running...
2025-07-23 10:03:13 UTC Check cancelled

Copy link

github-actions bot commented Jul 23, 2025

2025-07-23 10:04:31 UTC Pre-commit check linux-x86_64-relwithdebinfo for ef85ba4 has started.
2025-07-23 10:04:47 UTC Artifacts will be uploaded here
2025-07-23 10:08:24 UTC ya make is running...
🟡 2025-07-23 11:59:05 UTC Some tests failed, follow the links below. Going to retry failed tests...

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
39325 36542 0 4 2742 37

2025-07-23 12:02:41 UTC ya make is running... (failed tests rerun, try 2)
🟢 2025-07-23 12:15:00 UTC Tests successful.

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

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
328 (only retried tests) 253 0 0 49 26

🟢 2025-07-23 12:15:08 UTC Build successful.
🟢 2025-07-23 12:15:30 UTC ydbd size 2.2 GiB changed* by +24.1 KiB, which is < 100.0 KiB vs main: OK

ydbd size dash main: 9b23106 merge: ef85ba4 diff diff %
ydbd size 2 398 842 520 Bytes 2 398 867 152 Bytes +24.1 KiB +0.001%
ydbd stripped size 501 618 088 Bytes 501 616 296 Bytes -1.8 KiB -0.000%

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

Copy link

github-actions bot commented Jul 23, 2025

2025-07-23 10:05:06 UTC Pre-commit check linux-x86_64-release-asan for ef85ba4 has started.
2025-07-23 10:05:19 UTC Artifacts will be uploaded here
2025-07-23 10:08:57 UTC ya make is running...
🟡 2025-07-23 12:31:30 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
16759 16326 0 99 309 25

🟢 2025-07-23 12:33:00 UTC Build successful.
🟢 2025-07-23 12:33:28 UTC ydbd size 3.9 GiB changed* by +17.5 KiB, which is < 100.0 KiB vs main: OK

ydbd size dash main: 1fc1c49 merge: ef85ba4 diff diff %
ydbd size 4 217 843 560 Bytes 4 217 861 440 Bytes +17.5 KiB +0.000%
ydbd stripped size 1 461 748 280 Bytes 1 461 756 088 Bytes +7.6 KiB +0.001%

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

@snaury snaury requested a review from kunga July 23, 2025 10:13
@snaury snaury merged commit 2dffb99 into ydb-platform:main Jul 23, 2025
12 checks passed
@snaury snaury deleted the one-one-queue-inplace-deleter branch July 23, 2025 15:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants