Skip to content

Fix export uploader (win build + YT) - #36133

Merged
stanislav-shchetinin merged 5 commits into
ydb-platform:mainfrom
stanislav-shchetinin:fix-win-build-export-uploaders
Mar 19, 2026
Merged

Fix export uploader (win build + YT)#36133
stanislav-shchetinin merged 5 commits into
ydb-platform:mainfrom
stanislav-shchetinin:fix-win-build-export-uploaders

Conversation

@stanislav-shchetinin

Copy link
Copy Markdown
Contributor

Changelog entry

...

Changelog category

  • Not for changelog (changelog entry is not required)

Description for reviewers

...

@github-actions

This comment was marked as outdated.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 adjusts the Windows fallback implementation of SchemeShard export uploaders so that it exposes the same factory function names as the non-Windows implementation, matching the API declared in schemeshard_export_uploaders.h.

Changes:

  • Renamed Windows fallback uploader factory functions to CreateSchemeUploader and CreateExportMetadataUploader (removing the Fallback suffix).
Comments suppressed due to low confidence (2)

ydb/core/tx/schemeshard/schemeshard_export_uploaders_fallback.cpp:73

  • These uploader factory functions are templates defined in a .cpp file, but unlike the non-Windows implementation (schemeshard_export_uploaders.cpp) there are no explicit instantiations for the concrete settings types used by the call sites (ExportToS3Settings / ExportToFsSettings). On Windows this will typically result in unresolved symbols at link time for CreateSchemeUploader<...>. Add explicit template instantiations for the required settings types (mirroring schemeshard_export_uploaders.cpp) or move the template definitions into the header to allow implicit instantiation.
IActor* CreateSchemeUploader(TActorId schemeShard, ui64 exportId, ui32 itemIdx, TPathId sourcePathId,
    const TSettings& settings, const TString& databaseRoot, const TString& metadata,
    bool enablePermissions, bool enableChecksums, const TMaybe<NBackup::TEncryptionIV>& iv
) {
    Y_UNUSED(sourcePathId, settings, databaseRoot, metadata, enablePermissions, enableChecksums, iv);
    return new TSchemeUploaderFallback<TSettings>(schemeShard, exportId, itemIdx);

ydb/core/tx/schemeshard/schemeshard_export_uploaders_fallback.cpp:82

  • Same issue as for CreateSchemeUploader: CreateExportMetadataUploader is a function template defined only in this .cpp, but this file does not explicitly instantiate it for the concrete settings types used elsewhere. This can cause unresolved symbols on Windows for CreateExportMetadataUploader<ExportToS3Settings/FsSettings>. Add explicit instantiations (or make the template definition available in the header).
NActors::IActor* CreateExportMetadataUploader(NActors::TActorId schemeShard, ui64 exportId,
    const TSettings& settings, const NKikimrSchemeOp::TExportMetadata& exportMetadata,
    bool enableChecksums
) {
    Y_UNUSED(settings, exportMetadata, enableChecksums);
    return new TExportMetadataUploaderFallback<TSettings>(schemeShard, exportId);

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

You can also share your feedback on Copilot code review. Take the survey.

@stanislav-shchetinin
stanislav-shchetinin marked this pull request as draft March 18, 2026 11:39
@stanislav-shchetinin
stanislav-shchetinin removed the request for review from CyberROFL March 18, 2026 11:40
@github-actions

This comment was marked as outdated.

@ydbot

ydbot commented Mar 18, 2026

Copy link
Copy Markdown
Collaborator

Run Extra Tests

Run additional tests for this PR. You can customize:

  • Test Size: small, medium, large (default: all)
  • Test Targets: any directory path (default: ydb/)
  • Sanitizers: ASAN, MSAN, TSAN
  • Coredumps: enable for debugging (default: off)
  • Additional args: custom ya make arguments

▶  Run tests

@github-actions

This comment was marked as outdated.

@github-actions

This comment was marked as outdated.

@github-actions

This comment was marked as outdated.

@github-actions

This comment was marked as outdated.

@github-actions

This comment was marked as outdated.

@github-actions

This comment was marked as outdated.

@stanislav-shchetinin
stanislav-shchetinin marked this pull request as ready for review March 19, 2026 09:49
@stanislav-shchetinin
stanislav-shchetinin force-pushed the fix-win-build-export-uploaders branch from 26c8b17 to 3591a27 Compare March 19, 2026 11:25
Comment thread ydb/core/tx/schemeshard/schemeshard_export__create.cpp Outdated
Comment thread ydb/core/tx/schemeshard/schemeshard_export__create.cpp Outdated
Comment thread ydb/core/tx/schemeshard/schemeshard_export__create.cpp Outdated
@github-actions

This comment was marked as outdated.

@github-actions

This comment was marked as outdated.

Co-authored-by: Ilnaz Nizametdinov <i.nizametdinov@gmail.com>
@github-actions

github-actions Bot commented Mar 19, 2026

Copy link
Copy Markdown
Contributor

2026-03-19 12:34:34 UTC Pre-commit check linux-x86_64-release-asan for 76258e8 has started.
2026-03-19 12:35:08 UTC Artifacts will be uploaded here
2026-03-19 12:37:06 UTC ya make is running...
🟡 2026-03-19 14:36:29 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?
17288 17262 0 17 7 2

🟢 2026-03-19 14:36:37 UTC Build successful.
🟡 2026-03-19 14:37:06 UTC ydbd size 3.9 GiB changed* by +642.4 KiB, which is >= 100.0 KiB vs main: Warning

ydbd size dash main: 65c5043 merge: 76258e8 diff diff %
ydbd size 4 210 095 144 Bytes 4 210 752 984 Bytes +642.4 KiB +0.016%
ydbd stripped size 1 572 494 304 Bytes 1 572 729 600 Bytes +229.8 KiB +0.015%

*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

github-actions Bot commented Mar 19, 2026

Copy link
Copy Markdown
Contributor

2026-03-19 12:42:44 UTC Pre-commit check linux-x86_64-relwithdebinfo for 76258e8 has started.
2026-03-19 12:42:48 UTC Artifacts will be uploaded here
2026-03-19 12:44:24 UTC ya make is running...
🟡 2026-03-19 15:18:38 UTC Some tests failed, follow the links below. Going to retry failed tests...

Details

Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
46688 43155 0 2 3519 12

2026-03-19 15:18:57 UTC ya make is running... (failed tests rerun, try 2)
🟢 2026-03-19 15:22:39 UTC Tests successful.

Ya make output | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
223 (only retried tests) 218 0 0 0 5

🟢 2026-03-19 15:22:43 UTC Build successful.
🟡 2026-03-19 15:23:07 UTC ydbd size 2.4 GiB changed* by +582.7 KiB, which is >= 100.0 KiB vs main: Warning

ydbd size dash main: de0d867 merge: 76258e8 diff diff %
ydbd size 2 584 256 592 Bytes 2 584 853 232 Bytes +582.7 KiB +0.023%
ydbd stripped size 543 327 080 Bytes 543 454 664 Bytes +124.6 KiB +0.023%

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

@stanislav-shchetinin stanislav-shchetinin changed the title Fix names uploaders for Windows Fix export uploader (win build + YT) Mar 19, 2026
@stanislav-shchetinin stanislav-shchetinin linked an issue Mar 19, 2026 that may be closed by this pull request
@stanislav-shchetinin
stanislav-shchetinin merged commit d35879f into ydb-platform:main Mar 19, 2026
10 checks passed
@ydbot

ydbot commented Mar 19, 2026

Copy link
Copy Markdown
Collaborator

Backport

To backport this PR, click the button next to the target branch and then click "Run workflow" in the Run Actions UI.

Branch Run
stable-25-4, stable-25-4-1, stable-26-1, stable-26-1-1 ▶  Backport
stable-26-1, stable-26-1-1 ▶  Backport
stable-26-1 ▶  Backport

▶  Backport manual

stanislav-shchetinin added a commit to stanislav-shchetinin/ydb that referenced this pull request Mar 27, 2026
Co-authored-by: Ilnaz Nizametdinov <i.nizametdinov@gmail.com>
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.

Error "Unknown export kind" for export YT

4 participants