Skip to content

Conversation

@Hweinstock
Copy link
Contributor

@Hweinstock Hweinstock commented Nov 22, 2024

Problem

Start the transition to sdkv3. This PR is just a start and is still missing a lot of features (see future work).
Originally part of #5940, but decided to split it up.

Solution

  • Do not overwrite existing builder to allow for incremental transition to V3.
  • A barebones working model, with the telemetry middleware implemented.
  • Expansion of testing for client construction.

Future Work


License: I confirm that my contribution is made under the terms of the Apache 2.0 license.

@Hweinstock Hweinstock changed the title deps(sdkv3): start migration to v3 with new client builder (WIP) deps(sdkv3): start migration to v3 with new client builder Nov 22, 2024
@Hweinstock Hweinstock marked this pull request as ready for review November 25, 2024 15:35
@Hweinstock Hweinstock requested a review from a team as a code owner November 25, 2024 15:35
@Hweinstock Hweinstock requested review from a team as code owners December 2, 2024 17:55
@Hweinstock Hweinstock force-pushed the sdkv3/startMigration branch from 4dbd3b4 to 89ef745 Compare December 2, 2024 17:56
@Hweinstock Hweinstock marked this pull request as draft December 2, 2024 18:12
@Hweinstock Hweinstock marked this pull request as ready for review December 2, 2024 22:03
Copy link
Contributor

@justinmk3 justinmk3 left a comment

Choose a reason for hiding this comment

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

While we're here let's rename packages/core/src/test/shared/defaultAwsClientBuilder.test.ts to awsClientBuilder.test.ts

Comment on lines +117 to +119
reasonDesc: getTelemetryReasonDesc(err),
reason: getTelemetryReason(err),
result: getTelemetryResult(err),
Copy link
Contributor

Choose a reason for hiding this comment

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

The old awsClientBuilder.ts was reluctant to set these fields. But I think setting them here is low-risk and potentially adds useful info:

  • if the caller is wrapped in telemetry.xx.run() then these fields will be overridden by the run() context finalizer anyway
  • else, these fields give some useful info

todo: Maybe the run() finalizer logic should be smarter and check if there was a SDK failure (these fields)?

@Hweinstock Hweinstock merged commit 5c6f68a into aws:feature/sdkv3 Jan 27, 2025
17 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.

2 participants