Skip to content

Enable external payloads by default#9922

Merged
simvlad merged 1 commit intotemporalio:mainfrom
simvlad:enable-external-payloads
Apr 15, 2026
Merged

Enable external payloads by default#9922
simvlad merged 1 commit intotemporalio:mainfrom
simvlad:enable-external-payloads

Conversation

@simvlad
Copy link
Copy Markdown
Contributor

@simvlad simvlad commented Apr 10, 2026

What changed?

Enable server support for external payloads stats by default

Why?

https://docs.temporal.io/external-storage is in pre-release and available to anyone who wants to try it out from SDK. The server support for collecting the stats is gated by history.externalPayloadsEnabled dynamic config. Enable it by default, as otherwise the executions stats won't be available.

How did you test it?

  • built
  • run locally and tested manually
  • covered by existing tests
  • added new unit test(s)
  • added new functional test(s)

Potential risks

The change enables the collection of workflow execution stats for external storage, but it is only when the users try out the pre-release feature. So in the case of problems, they can turn the dynamic config off.

@simvlad simvlad requested review from a team as code owners April 10, 2026 23:28
@simvlad simvlad requested a review from yycptt April 10, 2026 23:28
@simvlad simvlad force-pushed the enable-external-payloads branch 2 times, most recently from ea2893d to a6aa45a Compare April 13, 2026 16:58
Copy link
Copy Markdown
Member

@yycptt yycptt left a comment

Choose a reason for hiding this comment

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

Is it safe to downgrade to 1.30 with this feature flag enabled?

@simvlad
Copy link
Copy Markdown
Contributor Author

simvlad commented Apr 14, 2026

Yes, it just enables the payload stats on the workflow execution. Not sure though, why tests are failing

@yycptt
Copy link
Copy Markdown
Member

yycptt commented Apr 14, 2026

Yes, it just enables the payload stats on the workflow execution. Not sure though, why tests are failing

🤔 maybe rebase?

@simvlad
Copy link
Copy Markdown
Contributor Author

simvlad commented Apr 14, 2026

I think it's a bug in #9664, where search attributes in registerTestSearchAttributes are registered for each clusters independently, but the code in addSearchAttributes is non-deterministic. I asked Alan to fix

@simvlad simvlad force-pushed the enable-external-payloads branch from a6aa45a to a239abb Compare April 14, 2026 23:54
@awln-temporal
Copy link
Copy Markdown
Contributor

I think this is an actual test failure, I don't see any successful functional test runs for this PR. Also mentioned offline, but I think it's due to this verification https://github.com/temporalio/temporal/blob/main/tests/xdc/visibility_test.go#L178, since the external payload predefined search attributes are then included here, making the count 5, not 3

@simvlad
Copy link
Copy Markdown
Contributor Author

simvlad commented Apr 15, 2026

Yeah, looks like this is an actual failure here, although I still think the test is flaky.

@simvlad simvlad force-pushed the enable-external-payloads branch from a239abb to 16a28a4 Compare April 15, 2026 18:44
@simvlad simvlad requested a review from a team as a code owner April 15, 2026 18:44
@simvlad simvlad force-pushed the enable-external-payloads branch from 16a28a4 to 9b33e6d Compare April 15, 2026 18:56
@simvlad simvlad force-pushed the enable-external-payloads branch from 9b33e6d to 1c911b4 Compare April 15, 2026 20:15
@simvlad simvlad merged commit 5fc0fae into temporalio:main Apr 15, 2026
59 of 70 checks passed
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.

3 participants