Skip to content

Conversation

GrigoriyPA
Copy link
Collaborator

Changelog entry

Supported solomon insert into solomon in query service and streaming queries

Changelog category

  • New feature

Description for reviewers

Copy link

github-actions bot commented Oct 2, 2025

🟢 2025-10-02 09:00:33 UTC The validation of the Pull Request description is successful.

Copy link

github-actions bot commented Oct 2, 2025

2025-10-02 09:00:37 UTC Pre-commit check linux-x86_64-relwithdebinfo for bff1bb2 has started.
2025-10-02 09:00:52 UTC Artifacts will be uploaded here
2025-10-02 09:02:54 UTC Check cancelled

Copy link

github-actions bot commented Oct 2, 2025

2025-10-02 09:01:04 UTC Pre-commit check linux-x86_64-release-asan for bff1bb2 has started.
2025-10-02 09:01:18 UTC Artifacts will be uploaded here
2025-10-02 09:02:54 UTC Check cancelled

Copy link

github-actions bot commented Oct 2, 2025

2025-10-02 09:04:31 UTC Pre-commit check linux-x86_64-relwithdebinfo for 7150dd3 has started.
2025-10-02 09:04:44 UTC Artifacts will be uploaded here
2025-10-02 09:05:29 UTC Check cancelled

Copy link
Contributor

@Copilot 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

Enables writing metrics to Solomon from KQP (both query service and streaming queries), introducing a new SoInsert path and wiring it through DQ integration and compute actor.

  • Add TSoInsert node and associated type annotation and physical optimization to build Solomon sink stages.
  • Gate legacy SoWriteToShard path vs. new DQ-integrated write via TSolomonState::WriteThroughDqIntegration; wire up Solomon write actor in KQP; extend tests and test utilities.
  • Improve error messages and add Solomon emulator helpers for tests; add a streaming query UT that writes into Solomon.

Reviewed Changes

Copilot reviewed 22 out of 22 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
ydb/tests/tools/kqprun/configuration/app_config.conf Enables schema secrets (feature flag), supporting credentials use for external sources/sinks.
ydb/library/yql/providers/solomon/solomon_accessor/client/solomon_accessor_client.cpp Improves error diagnostics with curl/http status details.
ydb/library/yql/providers/solomon/provider/yql_solomon_provider.h Adds WriteThroughDqIntegration flag to toggle write path.
ydb/library/yql/providers/solomon/provider/yql_solomon_physical_optimize.cpp Introduces BuildSinkStage, adds SoInsert handler, and conditions legacy path.
ydb/library/yql/providers/solomon/provider/yql_solomon_dq_integration.cpp Wraps legacy writes into SoInsert when DQ integration write is enabled.
ydb/library/yql/providers/solomon/provider/yql_solomon_datasink_type_ann.cpp Adds type annotation for SoInsert, factors out validation, adjusts SoShard handling.
ydb/library/yql/providers/solomon/expr_nodes/yql_solomon_expr_nodes.json Declares new TSoInsert callable.
ydb/library/yql/providers/solomon/actors/ut/ya.make Adds test library dependencies and helpers.
ydb/library/yql/providers/solomon/actors/ut/ut_helpers.[h,cpp] Removes local Solomon emulator helpers (moved to shared testlib).
ydb/library/yql/providers/solomon/actors/ut/dq_solomon_write_actor_ut.cpp Switches to shared helpers and strengthens assertions; enables big batch test.
ydb/library/testlib/ya.make, solomon_helpers/* Adds shared Solomon emulator helpers for tests.
ydb/core/kqp/ut/federated_query/datastreams/* Adds recipe include and a streaming query UT that writes into Solomon.
ydb/core/kqp/ut/federated_query/common/common.cpp Wires CreateSolomonGateway to the federated query setup.
ydb/core/kqp/opt/kqp_opt_effects.cpp Tightens invariant checks for external effects.
ydb/core/kqp/host/kqp_host.cpp Enables DQ write path for Solomon in KQP host.
ydb/core/kqp/compute_actor/kqp_compute_actor.cpp Registers Solomon write async IO factory for compute actor.
ydb/core/kqp/gateway/behaviour/streaming_query/optimization.cpp Recognizes Solomon as a streaming write sink without increasing PQ write count.

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Copy link

github-actions bot commented Oct 2, 2025

2025-10-02 09:05:09 UTC Pre-commit check linux-x86_64-release-asan for 7150dd3 has started.
2025-10-02 09:05:25 UTC Check cancelled

Copy link

github-actions bot commented Oct 2, 2025

2025-10-02 09:06:56 UTC Pre-commit check linux-x86_64-release-asan for b40aae3 has started.
2025-10-02 09:07:21 UTC Artifacts will be uploaded here
2025-10-02 09:10:53 UTC Check cancelled

Copy link

github-actions bot commented Oct 2, 2025

2025-10-02 09:07:04 UTC Pre-commit check linux-x86_64-relwithdebinfo for b40aae3 has started.
2025-10-02 09:07:19 UTC Artifacts will be uploaded here
2025-10-02 09:10:53 UTC Check cancelled

@GrigoriyPA GrigoriyPA requested a review from gridnevvvit October 2, 2025 09:11
Copy link

github-actions bot commented Oct 2, 2025

2025-10-02 09:12:22 UTC Pre-commit check linux-x86_64-release-asan for abdcea4 has started.
2025-10-02 09:12:36 UTC Artifacts will be uploaded here
2025-10-02 09:16:08 UTC ya make is running...
🟡 2025-10-02 11:14:54 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?
15678 15237 0 153 264 24

🟢 2025-10-02 11:14:59 UTC Build successful.
🟡 2025-10-02 11:15:20 UTC ydbd size 3.7 GiB changed* by +227.5 KiB, which is >= 100.0 KiB vs main: Warning

ydbd size dash main: b1e3f5a merge: abdcea4 diff diff %
ydbd size 3 991 216 344 Bytes 3 991 449 320 Bytes +227.5 KiB +0.006%
ydbd stripped size 1 487 784 800 Bytes 1 487 864 352 Bytes +77.7 KiB +0.005%

*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 Oct 2, 2025

2025-10-02 09:12:23 UTC Pre-commit check linux-x86_64-relwithdebinfo for abdcea4 has started.
2025-10-02 09:12:39 UTC Artifacts will be uploaded here
2025-10-02 09:16:21 UTC ya make is running...
🟡 2025-10-02 10:45:50 UTC Some tests failed, follow the links below. Going to retry failed tests...

Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
38616 35712 0 2 2862 40

2025-10-02 10:45:59 UTC ya make is running... (failed tests rerun, try 2)
🟢 2025-10-02 11:05:16 UTC Tests successful.

Ya make output | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
394 (only retried tests) 261 0 0 108 25

🟢 2025-10-02 11:05:19 UTC Build successful.
🟢 2025-10-02 11:05:36 UTC ydbd size 2.2 GiB changed* by +82.8 KiB, which is < 100.0 KiB vs main: OK

ydbd size dash main: b1e3f5a merge: abdcea4 diff diff %
ydbd size 2 399 031 392 Bytes 2 399 116 152 Bytes +82.8 KiB +0.004%
ydbd stripped size 512 872 808 Bytes 512 888 680 Bytes +15.5 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


auto solomonState = MakeIntrusive<TSolomonState>();

solomonState->SupportRtmrMode = false;
Copy link
Member

Choose a reason for hiding this comment

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

что такое rtmr mode?

Copy link
Collaborator Author

@GrigoriyPA GrigoriyPA Oct 6, 2025

Choose a reason for hiding this comment

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

Это legacy режим записи в solomon в случае RTMR over YQL, в этом случае отключается DQ integration для записи. Он отключается в KQP, чтобы была возможность писать в solomon через DQ integration

@GrigoriyPA GrigoriyPA force-pushed the YQ-4750-support-solomon-writing branch from a856e98 to 134d385 Compare October 6, 2025 09:13
Copy link

github-actions bot commented Oct 6, 2025

2025-10-06 09:16:19 UTC Pre-commit check linux-x86_64-release-asan for 4524125 has started.
2025-10-06 09:16:28 UTC Artifacts will be uploaded here
2025-10-06 09:20:03 UTC ya make is running...
🟡 2025-10-06 11:55:14 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?
15710 15294 0 157 233 26

🟢 2025-10-06 11:55:22 UTC Build successful.
🟡 2025-10-06 11:55:46 UTC ydbd size 3.7 GiB changed* by +867.0 KiB, which is >= 100.0 KiB vs main: Warning

ydbd size dash main: f41318a merge: 4524125 diff diff %
ydbd size 4 018 509 160 Bytes 4 019 397 008 Bytes +867.0 KiB +0.022%
ydbd stripped size 1 493 368 096 Bytes 1 493 566 208 Bytes +193.5 KiB +0.013%

*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 Oct 6, 2025

2025-10-06 09:18:44 UTC Pre-commit check linux-x86_64-relwithdebinfo for 4524125 has started.
2025-10-06 09:18:58 UTC Artifacts will be uploaded here
2025-10-06 09:22:29 UTC ya make is running...
🟡 2025-10-06 11:18:29 UTC Some tests failed, follow the links below. Going to retry failed tests...

Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
38657 35888 0 2 2740 27

2025-10-06 11:18:41 UTC ya make is running... (failed tests rerun, try 2)
🟡 2025-10-06 11:34:31 UTC Some tests failed, follow the links below. Going to retry failed tests...

Ya make output | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
252 (only retried tests) 228 0 1 1 22

2025-10-06 11:34:33 UTC ya make is running... (failed tests rerun, try 3)
🔴 2025-10-06 11:43:40 UTC Some tests failed, follow the links below.

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

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
238 (only retried tests) 217 0 1 0 20

🟢 2025-10-06 11:43:43 UTC Build successful.
🟢 2025-10-06 11:44:01 UTC ydbd size 2.3 GiB changed* by +71.8 KiB, which is < 100.0 KiB vs main: OK

ydbd size dash main: 6806a43 merge: 4524125 diff diff %
ydbd size 2 416 481 832 Bytes 2 416 555 376 Bytes +71.8 KiB +0.003%
ydbd stripped size 514 852 840 Bytes 514 863 528 Bytes +10.4 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

@GrigoriyPA GrigoriyPA added the rebase-and-check Rebase PR with the current base branch and check label Oct 6, 2025
@github-actions github-actions bot removed the rebase-and-check Rebase PR with the current base branch and check label Oct 6, 2025
Copy link

github-actions bot commented Oct 6, 2025

2025-10-06 12:20:45 UTC Pre-commit check linux-x86_64-release-asan for 890e5ec has started.
2025-10-06 12:20:59 UTC Artifacts will be uploaded here
2025-10-06 12:24:33 UTC ya make is running...
🟡 2025-10-06 14:29: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?
15691 15260 0 130 280 21

🟢 2025-10-06 14:29:20 UTC Build successful.
🟡 2025-10-06 14:29:42 UTC ydbd size 3.7 GiB changed* by +221.6 KiB, which is >= 100.0 KiB vs main: Warning

ydbd size dash main: 280fc84 merge: 890e5ec diff diff %
ydbd size 4 019 649 800 Bytes 4 019 876 728 Bytes +221.6 KiB +0.006%
ydbd stripped size 1 493 543 392 Bytes 1 493 624 032 Bytes +78.8 KiB +0.005%

*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 Oct 6, 2025

2025-10-06 12:21:01 UTC Pre-commit check linux-x86_64-relwithdebinfo for 890e5ec has started.
2025-10-06 12:21:34 UTC Artifacts will be uploaded here
2025-10-06 12:26:10 UTC ya make is running...
🟡 2025-10-06 13:53:27 UTC Some tests failed, follow the links below. Going to retry failed tests...

Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
38639 35870 0 4 2740 25

2025-10-06 13:53:39 UTC ya make is running... (failed tests rerun, try 2)
🟡 2025-10-06 14:06:26 UTC Some tests failed, follow the links below. Going to retry failed tests...

Ya make output | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
231 (only retried tests) 208 0 1 1 21

2025-10-06 14:06:29 UTC ya make is running... (failed tests rerun, try 3)
🟢 2025-10-06 14:28:32 UTC Tests successful.

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

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
218 (only retried tests) 196 0 0 1 21

🟢 2025-10-06 14:28:35 UTC Build successful.
🟢 2025-10-06 14:28:52 UTC ydbd size 2.3 GiB changed* by +79.8 KiB, which is < 100.0 KiB vs main: OK

ydbd size dash main: 280fc84 merge: 890e5ec diff diff %
ydbd size 2 416 635 320 Bytes 2 416 717 056 Bytes +79.8 KiB +0.003%
ydbd stripped size 514 879 080 Bytes 514 897 960 Bytes +18.4 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

@GrigoriyPA GrigoriyPA merged commit 7d731ec into ydb-platform:main Oct 7, 2025
19 of 20 checks passed
@GrigoriyPA GrigoriyPA deleted the YQ-4750-support-solomon-writing branch October 7, 2025 08:33
neyrox pushed a commit to neyrox/ydb that referenced this pull request Oct 7, 2025
neyrox pushed a commit to neyrox/ydb that referenced this pull request Oct 10, 2025
GrigoriyPA added a commit to GrigoriyPA/ydb that referenced this pull request Oct 14, 2025
GrigoriyPA added a commit to GrigoriyPA/ydb that referenced this pull request Oct 14, 2025
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.

4 participants