Skip to content

Update sdk-core to main (WFT buffering fix) - #948

Merged
THardy98 merged 6 commits into
mainfrom
chore/bump-core-to-main
Oct 15, 2026
Merged

THardy98 merged 6 commits into
mainfrom
chore/bump-core-to-main

Conversation

@THardy98

@THardy98 THardy98 commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

What was changed

Updates the sdk-core submodule from 8fe478ee (Core 1.1.0) to 212e8150, Core's current main, which includes temporalio/sdk-rust#1640. Done with mise run core:update, which imported Core's changelog entries as fragments. Bridge Cargo.lock is relocked (one line). The mirrored workspace tables are unchanged (bridge:check-sync passes). Core's range includes an API update (temporalio/sdk-rust#1652), so the Temporalio.Api types and the System Nexus payload visitor are regenerated (gen:api, gen:nexus, with the pinned protoc 23.4 and nexgen 0.2.4). The C header is unchanged, so there's no interop regeneration.

Why?

To fix .NET workers losing workflow tasks under load. At 40 concurrent throughput_stress workflows, .NET on Core 1.1.0 logged "Trying to send a new WFT for a run which already has one!" about 100 times per hour-long run. The lost workflow tasks then hit nondeterminism errors, and the workflows got stuck.

Checklist

  1. Closes

  2. How was this tested:

    • The Rust bridge builds against the new Core (cargo build --locked in src/Temporalio/Bridge).
    • dotnet build src/Temporalio succeeds with the regenerated code.
    • Load tests above.
  3. Any docs updates needed?
    No.

THardy98 and others added 2 commits October 13, 2026 14:35
Ran core:update, relocked the bridge, and confirmed the mirrored
workspace tables still match.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Brings in temporalio/sdk-rust#1640.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@THardy98 THardy98 changed the title Update sdk-core to main Update sdk-core to main (WFT buffering fix) Oct 14, 2026
Core's range includes an API update (temporalio/sdk-rust#1652). Ran
gen:api and gen:nexus with the pinned protoc 23.4 and nexgen 0.2.4.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@THardy98
THardy98 marked this pull request as ready for review October 15, 2026 00:57
@THardy98
THardy98 requested a review from a team as a code owner October 15, 2026 00:57
@@ -0,0 +1 @@
Replay detects changes to the service or operation of scheduled Nexus operations, reporting nondeterminism while retaining compatibility with histories recorded before these checks.

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.

Each of these change log entries should start with "Core: ". This probably didn't happen with some of these entries because the tooling updated between updates. But let's make it consistent with this update.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Done in 13ba4e3, all entries now start with "Core: ".

Comment thread changelog/fixed/fulminant-jaleesa.md Outdated
@@ -0,0 +1,3 @@
Worker heartbeats now report correct task-slot and poller counts when using buffered or custom metrics backends, including the Python SDK's `MetricBuffer`. Previously these counts could remain `0` because heartbeat accounting depended on reading labels from backend-owned attributes.

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.

I know you didn't write this entry, but we probably shouldn't include ", including the Python SDK's MetricBuffer" in any of the SDKs change logs (except for maybe Python). Maybe reword it as ".NET SDK's CustomMetricMeter".

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Done in 13ba4e3, reworded to the .NET SDK's CustomMetricMeter.

THardy98 and others added 2 commits October 15, 2026 13:43
Prefix all Core changelog entries with "Core: " and replace the
Python-specific MetricBuffer reference with the .NET CustomMetricMeter.
@THardy98
THardy98 enabled auto-merge (squash) October 15, 2026 17:44
@THardy98
THardy98 merged commit 73ee47e into main Oct 15, 2026
17 checks passed
@THardy98
THardy98 deleted the chore/bump-core-to-main branch October 15, 2026 18:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants