Skip to content
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

temporal: update sdk to v1.14.0 with lazy client #2104

Merged
merged 7 commits into from
Mar 23, 2022

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Mar 10, 2022

This PR contains the following updates:

Package Type Update Change
go.temporal.io/sdk require minor v1.13.1 -> v1.14.0

Release Notes

temporalio/sdk-go

v1.14.0

Compare Source

⚠️ THIS IS RELEASE IS NOT CURRENTLY COMPATIBLE WITH TEMPORAL CLOUD - this message will be updated when it is

Highlights

💥 Breaking changes have been made to remove a couple of advanced options and to do slight renames in the converter package for encoders. See below for details

Replace Client Health Checking

Previously, by default creating a client would use the gRPC health check on the server to ensure it was available or would fail client creation. Due to now needing information about what the server can/can't do, we make a different call to obtain that info instead of the health check call on client creation.

This change should not be visible to most users. However, we have removed the advanced client.ConnectionOptions.DisableHealthCheck and associated health check options from that struct. This no longer applies since there is no health check. This also means currently all clients make an eager connection to the server as they always had by default.

Advanced Encoding Updates

We have renamed the recently added converter.PayloadEncoder to converter.PayloadCodec for cross-SDK clarity and did similar for other "encoder" parts. This codec is focused on byte-to-byte conversion during data conversion. It can be used in a converter.CodecDataConverter to transform bytes for encryption, compression, and/or anything else.

We have added a few utilities to aid those wanting to do custom encoding in a more central place:

  • We have added a gRPC interceptor in the converter package that, when used for a custom proxy, will transparently encode and decode payloads given a codec
  • We have added a gRPC proxy in the client package that can be registered with a gRPC server to proxy requests to a Temporal server (which can then use the aforementioned interceptor to do encoding/decoding)
  • We have added the ability to expose a codec over HTTP for use with a remote data converter that will let you encode/decode remotely (for expected use from the browser UI and tctl for centralized end-to-end encryption)

Specific Changes

2022-02-22 - 22369cb - Fix markdown syntax. (#​734)
2022-02-22 - 3f45616 - Do not serialize empty OpenTracing spans (#​729)
2022-02-22 - 621fd1e - Support ignore comment alongside godoc (#​731)
2022-02-22 - 856f5c2 - Adjust HTTP protocol to take Payloads not Payload. (#​733)
2022-02-22 - a7d8c1a - Set workflow start time for tests on workflow info (#​735)
2022-02-22 - e96a9d9 - Disallow MaxConcurrentWorkflowTaskPollers to be set to 1 (#​727)
2022-02-28 - c82b73d - Fix activity cancellation race when not cancelling workflow (#​741)
2022-03-01 - c3eb5b0 - Replace health checking with server-capability getter and disable retries on internal errors (#​706)
2022-03-01 - d409984 - Allow replayer to use local activities with string names (#​745)
2022-03-02 - 2c5ed0f - GRPC Service Proxy and Encoding Interceptor (#​738)
2022-03-07 - 8cb1963 - Disable timeout retries during session creation (#​746)
2022-03-09 - 8608a59 - Rename PayloadEncoder -> PayloadCodec. (#​749)
2022-03-10 - 2a582f8 - Add mock call assertions to TestWorkflowEnvironment (#​748)

Additional changes

Since the client no longer allows a lazy connection, I added another layer of indirection to prevent users from accidentally creating a connection during instantiation of a component and bringing the entire server down.

See temporalio/sdk-go#753 for more details.

@renovate renovate bot requested a review from a team as a code owner March 10, 2022 19:41
@renovate renovate bot added the dependencies Pull requests that update a dependency file label Mar 10, 2022
@renovate renovate bot force-pushed the renovate/go.temporal.io-sdk-1.x branch from 74b57de to 4e1a774 Compare March 10, 2022 22:25
@danielhochman
Copy link
Collaborator

see https://temporalio.slack.com/archives/CTRCR8RBP/p1645050691089599

we'll need to implement our own wrapper for lazy connect since temporal removed that option from the upstream go sdk.

@danielhochman danielhochman marked this pull request as draft March 14, 2022 15:28
@danielhochman danielhochman marked this pull request as ready for review March 18, 2022 15:19
@danielhochman danielhochman changed the title housekeeping: Update module go.temporal.io/sdk to v1.14.0 temporal: update sdk to v1.14.0 with lazy client Mar 18, 2022
@danielhochman danielhochman merged commit 616e370 into main Mar 23, 2022
@danielhochman danielhochman deleted the renovate/go.temporal.io-sdk-1.x branch March 23, 2022 22:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants