Repository navigation
Replace hand-written DMS client with the Go SDK - #6591
Merged
Merged
Conversation
Collaborator
Integration test reportCommit: d7c3902
Top 19 slowest tests (at least 2 minutes):
|
The libs/dms rawClient hand-wrote CreateVersion, UpdateDeployment, and UpdateOperation because the SDK lacked the operations field, the method, and int64 sequence_id handling. All three are in SDK v0.177.0, so route them through the generated client, using ForceSendFields to keep DMS's masked-but-empty fields on the wire. The testserver fake now reads sequence_id as the number the SDK sends (still emitting a string, like the real service). Co-authored-by: Isaac <no-reply@databricks.com>
Delete the Client struct and client.go. DeploymentState and OperationBuffer now hold bundledeployments.BundleDeploymentsInterface, and each SDK call is made at its call site. libs/dms keeps only the non-trivial builders that would otherwise push wire details into caller packages: the ForceSendFields update-mask builders, ListResources, and the name/prefix helpers. Pure refactor - acceptance goldens are unchanged. Co-authored-by: Isaac <no-reply@databricks.com>
Use w.BundleDeployments directly at each call site instead of caching it on DeploymentState (field + DmsService accessor removed). Add OperationName for the operation resource name, shorten the DMS comments to 1-2 lines, and drop the newOperationUpdate unit test - acceptance/bundle/dms covers the ForceSendFields contract end to end. Co-authored-by: Isaac <no-reply@databricks.com>
StartOperationBuffer no longer takes a DMS service; the buffer reads w.BundleDeployments from the context it already runs on, so nothing caches it. Use the w := WorkspaceClient(ctx) local idiom at every DMS call site. Co-authored-by: Isaac <no-reply@databricks.com>
Call w.BundleDeployments.ListResourcesAll in Open instead of the dms.ListResources wrapper. In the operation buffer, keep sequence ids as int64 (a missing key is the staged 0), have Fields.Mask return the SDK FieldMask, and make the request-body builder a method that cannot fail. Co-authored-by: Isaac <no-reply@databricks.com>
Co-authored-by: Isaac <no-reply@databricks.com>
shreyas-goenka
force-pushed
the
dms-sdk-client
branch
from
October 6, 2026 14:34
47a7f82 to
d7c3902
Compare
denik
approved these changes
Oct 7, 2026
Collaborator
Integration test reportCommit: 4bf7286
319 interesting tests: 316 FAIL, 3 flaky
Top 50 slowest tests (at least 2 minutes):
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
we temporarily had to include a client for DMS while the SDK rollout happened. Given now all methods needed are in the SDK, we can update the CLI to use the SDK directly.