-
Notifications
You must be signed in to change notification settings - Fork 726
YQ-4750 supported solomon writing in KQP #26213
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
YQ-4750 supported solomon writing in KQP #26213
Conversation
🟢 |
There was a problem hiding this 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.
ydb/library/yql/providers/solomon/provider/yql_solomon_physical_optimize.cpp
Show resolved
Hide resolved
ydb/library/yql/providers/solomon/provider/yql_solomon_physical_optimize.cpp
Show resolved
Hide resolved
ydb/library/yql/providers/solomon/provider/yql_solomon_physical_optimize.cpp
Show resolved
Hide resolved
ydb/library/yql/providers/solomon/provider/yql_solomon_datasink_type_ann.cpp
Show resolved
Hide resolved
ydb/library/yql/providers/solomon/provider/yql_solomon_datasink_type_ann.cpp
Show resolved
Hide resolved
ydb/library/yql/providers/solomon/provider/yql_solomon_datasink_type_ann.cpp
Show resolved
Hide resolved
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
⚪ ⚪ Ya make output | Test bloat | Test bloat
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
ydb/core/kqp/gateway/behaviour/streaming_query/optimization.cpp
Outdated
Show resolved
Hide resolved
|
||
auto solomonState = MakeIntrusive<TSolomonState>(); | ||
|
||
solomonState->SupportRtmrMode = false; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
что такое rtmr mode?
There was a problem hiding this comment.
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
a856e98
to
134d385
Compare
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
⚪ ⚪ Ya make output | Test bloat | Test bloat
⚪ Ya make output | Test bloat | Test bloat | Test bloat
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
⚪ ⚪ Ya make output | Test bloat | Test bloat
⚪ Ya make output | Test bloat | Test bloat | Test bloat
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
Changelog entry
Supported solomon insert into solomon in query service and streaming queries
Changelog category
Description for reviewers