Skip to content
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

Default compression setting via CS config #13203

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

vlad-gogov
Copy link
Collaborator

Changelog entry

Default compression setting via CS config and its validation

Changelog category

  • New feature

@vlad-gogov vlad-gogov self-assigned this Jan 9, 2025
@vlad-gogov vlad-gogov requested a review from a team as a code owner January 9, 2025 04:55
Copy link

github-actions bot commented Jan 9, 2025

2025-01-09 04:59:29 UTC Pre-commit check linux-x86_64-relwithdebinfo for a6bfc84 has started.
2025-01-09 04:59:41 UTC Artifacts will be uploaded here
2025-01-09 05:03:01 UTC ya make is running...
🟡 2025-01-09 06:29:24 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?
27468 24948 0 8 2383 129

2025-01-09 06:31:42 UTC ya make is running... (failed tests rerun, try 2)
🟢 2025-01-09 06:43:12 UTC Tests successful.

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

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
198 (only retried tests) 73 0 0 0 125

🟢 2025-01-09 06:43:20 UTC Build successful.
🟢 2025-01-09 06:43:40 UTC ydbd size 2.1 GiB changed* by +19.4 KiB, which is < 100.0 KiB vs main: OK

ydbd size dash main: 9f31130 merge: a6bfc84 diff diff %
ydbd size 2 244 317 464 Bytes 2 244 337 352 Bytes +19.4 KiB +0.001%
ydbd stripped size 472 336 560 Bytes 472 338 224 Bytes +1.6 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 Jan 9, 2025

2025-01-09 04:59:41 UTC Pre-commit check linux-x86_64-release-asan for a6bfc84 has started.
2025-01-09 04:59:53 UTC Artifacts will be uploaded here
2025-01-09 05:03:04 UTC ya make is running...
🟡 2025-01-09 06:29:53 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet Going to retry failed tests...

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
13467 13399 0 30 7 31

2025-01-09 06:31:00 UTC ya make is running... (failed tests rerun, try 2)
🟡 2025-01-09 06:43:14 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet Going to retry failed tests...

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

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
112 (only retried tests) 81 0 4 0 27

2025-01-09 06:43:22 UTC ya make is running... (failed tests rerun, try 3)
🟡 2025-01-09 06:49:13 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet

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

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
58 (only retried tests) 31 0 1 0 26

🟢 2025-01-09 06:49:19 UTC Build successful.
🟢 2025-01-09 06:49:49 UTC ydbd size 3.6 GiB changed* by +30.3 KiB, which is < 100.0 KiB vs main: OK

ydbd size dash main: 9f31130 merge: a6bfc84 diff diff %
ydbd size 3 873 834 368 Bytes 3 873 865 376 Bytes +30.3 KiB +0.001%
ydbd stripped size 1 350 684 240 Bytes 1 350 689 136 Bytes +4.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 Jan 9, 2025

2025-01-09 10:22:30 UTC Pre-commit check linux-x86_64-release-asan for c3b875d has started.
2025-01-09 10:22:37 UTC Artifacts will be uploaded here
2025-01-09 10:25:53 UTC ya make is running...
🟡 2025-01-09 11:53:04 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet Going to retry failed tests...

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
13468 13413 0 22 6 27

2025-01-09 11:54:45 UTC ya make is running... (failed tests rerun, try 2)
🟡 2025-01-09 12:06:33 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet Going to retry failed tests...

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

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
93 (only retried tests) 64 0 4 2 23

2025-01-09 12:06:41 UTC ya make is running... (failed tests rerun, try 3)
🟡 2025-01-09 12:18:18 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet

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

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
52 (only retried tests) 26 0 2 0 24

🟢 2025-01-09 12:18:27 UTC Build successful.
🟢 2025-01-09 12:18:55 UTC ydbd size 3.6 GiB changed* by +34.5 KiB, which is < 100.0 KiB vs main: OK

ydbd size dash main: 0859ec3 merge: c3b875d diff diff %
ydbd size 3 874 438 760 Bytes 3 874 474 072 Bytes +34.5 KiB +0.001%
ydbd stripped size 1 350 831 216 Bytes 1 350 840 336 Bytes +8.9 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 Jan 9, 2025

2025-01-09 10:24:34 UTC Pre-commit check linux-x86_64-relwithdebinfo for c3b875d has started.
2025-01-09 10:24:46 UTC Artifacts will be uploaded here
2025-01-09 10:27:58 UTC ya make is running...
🟡 2025-01-09 11:47:48 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?
27470 24947 0 5 2383 135

2025-01-09 11:50:03 UTC ya make is running... (failed tests rerun, try 2)
🟢 2025-01-09 12:01:54 UTC Tests successful.

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

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
198 (only retried tests) 78 0 0 0 120

🟢 2025-01-09 12:02:01 UTC Build successful.
🟢 2025-01-09 12:02:19 UTC ydbd size 2.1 GiB changed* by +19.6 KiB, which is < 100.0 KiB vs main: OK

ydbd size dash main: 592bc99 merge: c3b875d diff diff %
ydbd size 2 244 699 432 Bytes 2 244 719 536 Bytes +19.6 KiB +0.001%
ydbd stripped size 472 406 672 Bytes 472 408 400 Bytes +1.7 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

@vlad-gogov vlad-gogov force-pushed the validate_compression_from_cs_config branch from 459a77f to 2bb005a Compare January 10, 2025 12:35
Copy link

github-actions bot commented Jan 10, 2025

2025-01-10 12:37:19 UTC Pre-commit check linux-x86_64-relwithdebinfo for e93ff3d has started.
2025-01-10 12:37:30 UTC Artifacts will be uploaded here
2025-01-10 12:40:50 UTC ya make is running...
🟡 2025-01-10 14:06:18 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?
27480 24974 0 1 2380 125

🟢 2025-01-10 14:08:41 UTC ydbd size 2.1 GiB changed* by +27.7 KiB, which is < 100.0 KiB vs main: OK

ydbd size dash main: f5f4a12 merge: e93ff3d diff diff %
ydbd size 2 244 922 968 Bytes 2 244 951 312 Bytes +27.7 KiB +0.001%
ydbd stripped size 472 441 872 Bytes 472 451 760 Bytes +9.7 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

Copy link

github-actions bot commented Jan 10, 2025

2025-01-10 12:40:02 UTC Pre-commit check linux-x86_64-release-asan for e93ff3d has started.
2025-01-10 12:40:14 UTC Artifacts will be uploaded here
2025-01-10 12:43:23 UTC ya make is running...
🟡 2025-01-10 14:12:26 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet Going to retry failed tests...

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
13477 13417 0 23 3 34

🟢 2025-01-10 14:13:08 UTC ydbd size 3.6 GiB changed* by +34.6 KiB, which is < 100.0 KiB vs main: OK

ydbd size dash main: f5f4a12 merge: e93ff3d diff diff %
ydbd size 3 874 879 552 Bytes 3 874 914 984 Bytes +34.6 KiB +0.001%
ydbd stripped size 1 350 984 496 Bytes 1 350 993 584 Bytes +8.9 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
Collaborator

@swalrus1 swalrus1 left a comment

Choose a reason for hiding this comment

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

В основном, переиспользовать уже реализованную логику валидации

if (!columnShardConfig.HasDefaultCompression() && !columnShardConfig.HasDefaultCompressionLevel()) {
return EValidationResult::Ok;
}
if (!columnShardConfig.HasDefaultCompression() && columnShardConfig.HasDefaultCompressionLevel()) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

Такая же логика валидации есть в десериалайзере family. По-моему, этот код надо переиспользовать, чтобы валидация была реализована только один раз.

}
std::optional<arrow::Compression::type> codec = NArrow::CompressionFromProto(columnShardConfig.GetDefaultCompression());
if (!codec.has_value()) {
msg.push_back("ColumnShardConfig: Unknown compression");
Copy link
Collaborator

Choose a reason for hiding this comment

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

Зачем собирать сообщения об ошибках в вектор? Не будет лучше подходить TConclusionStatus: возвращается либо провал валидации и сообщение, либо успех?

if (validateDefaultCompressionResult == EValidationResult::Error) {
return EValidationResult::Error;
}
if (msg.size() > 0) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

Если в msg заранее были сообщения, то ValidateColumnShardConfig будет возвращать WARN, что, кажется, неожиданно. Зачем этот случай вообще обрабатывается?

if (!arrow::util::Codec::SupportsCompressionLevel(compression)) {
return false;
}
if (compressionLevel.has_value()) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

Кажется, этот код дублируется в десериализайзере family. Его можно переиспользовать?

Copy link
Collaborator

@swalrus1 swalrus1 left a comment

Choose a reason for hiding this comment

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

В основном, переиспользовать логику валидации

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.

3 participants