Skip to content

Conversation

@Vladilen
Copy link
Collaborator

Changelog entry

...

Changelog category

  • Not for changelog (changelog entry is not required)

Description for reviewers

...

Copilot AI review requested due to automatic review settings November 10, 2025 18:01
@Vladilen Vladilen requested a review from a team as a code owner November 10, 2025 18:01
@Vladilen Vladilen requested a review from dorooleg November 10, 2025 18:01
@github-actions
Copy link

github-actions bot commented Nov 10, 2025

2025-11-10 18:04:56 UTC Pre-commit check linux-x86_64-release-asan for dde59b3 has started.
2025-11-10 18:05:14 UTC Artifacts will be uploaded here
2025-11-10 18:07:17 UTC ya make is running...
2025-11-10 19:07:12 UTC Check cancelled

@github-actions
Copy link

🟢 2025-11-10 18:05:17 UTC The validation of the Pull Request description is successful.

@github-actions
Copy link

github-actions bot commented Nov 10, 2025

2025-11-10 18:05:31 UTC Pre-commit check linux-x86_64-relwithdebinfo for dde59b3 has started.
2025-11-10 18:05:48 UTC Artifacts will be uploaded here
2025-11-10 18:07:57 UTC ya make is running...
2025-11-10 19:07:11 UTC Check cancelled

Copy link
Contributor

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

This PR implements a new normalizer to clean portions that use the SUB_COLUMNS data accessor. The normalizer identifies and removes these portions from the database during tablet reboot, which is useful for database maintenance and schema migration scenarios.

Key Changes

  • Added TCleanSubColumnsPortionsNormalizer that detects and removes portions containing columns with SUB_COLUMNS accessor
  • Implemented comprehensive test coverage using Y_UNIT_TEST_TWIN to verify behavior with and without subcolumns
  • Registered the new normalizer in the build system

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
ydb/core/tx/columnshard/normalizer/portion/clean_sub_columns_portions.h Header file defining the new normalizer class interface
ydb/core/tx/columnshard/normalizer/portion/clean_sub_columns_portions.cpp Implementation of the normalizer that identifies and marks SUB_COLUMNS portions for removal
ydb/core/tx/columnshard/normalizer/portion/ya.make Build system registration for the new normalizer source file
ydb/core/tx/columnshard/ut_rw/ut_normalizer.cpp Added test case and helper classes to verify the normalizer functionality, plus new includes

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

const ui64 tableId = 1;
const std::vector<NArrow::NTest::TTestColumn> schema = { NArrow::NTest::TTestColumn("id", TTypeInfo(NTypeIds::Uint64)),
NArrow::NTest::TTestColumn("json_payload", TTypeInfo(NTypeIds::JsonDocument)) };
const std::vector<ui32> columnsIds = { 1, 2 };
Copy link

Copilot AI Nov 10, 2025

Choose a reason for hiding this comment

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

The variable columnsIds is defined but never used. It should either be removed or used in the writer.Write() call on line 552 instead of the hardcoded {1, 2}.

Copilot uses AI. Check for mistakes.
@iddqdex iddqdex added the rebase-and-check Rebase PR with the current base branch and check label Nov 10, 2025
@github-actions github-actions bot removed the rebase-and-check Rebase PR with the current base branch and check label Nov 10, 2025
@github-actions
Copy link

github-actions bot commented Nov 10, 2025

2025-11-10 19:08:43 UTC Pre-commit check linux-x86_64-relwithdebinfo for 467261f has started.
2025-11-10 19:09:00 UTC Artifacts will be uploaded here
2025-11-10 19:11:21 UTC ya make is running...
🟡 2025-11-10 20:29:01 UTC Some tests failed, follow the links below. Going to retry failed tests...

Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
31585 30175 0 2 1385 23

2025-11-10 20:29:14 UTC ya make is running... (failed tests rerun, try 2)
🟢 2025-11-10 20:37:42 UTC Tests successful.

Ya make output | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
47 (only retried tests) 33 0 0 0 14

🟢 2025-11-10 20:37:50 UTC Build successful.
🟡 2025-11-10 20:38:10 UTC ydbd size 2.3 GiB changed* by +117.6 KiB, which is >= 100.0 KiB vs main: Warning

ydbd size dash main: 3b1cf4e merge: 467261f diff diff %
ydbd size 2 437 459 680 Bytes 2 437 580 120 Bytes +117.6 KiB +0.005%
ydbd stripped size 518 602 832 Bytes 518 619 600 Bytes +16.4 KiB +0.003%

*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 Nov 10, 2025

2025-11-10 19:08:52 UTC Pre-commit check linux-x86_64-release-asan for 467261f has started.
2025-11-10 19:09:15 UTC Artifacts will be uploaded here
2025-11-10 19:10:44 UTC ya make is running...
🟡 2025-11-10 21:06:15 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?
15433 14971 0 153 277 32

🟢 2025-11-10 21:06:24 UTC Build successful.
🟡 2025-11-10 21:06:52 UTC ydbd size 3.8 GiB changed* by +155.9 KiB, which is >= 100.0 KiB vs main: Warning

ydbd size dash main: 3b1cf4e merge: 467261f diff diff %
ydbd size 4 080 530 776 Bytes 4 080 690 400 Bytes +155.9 KiB +0.004%
ydbd stripped size 1 514 729 960 Bytes 1 514 764 808 Bytes +34.0 KiB +0.002%

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

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