Skip to content

feat(core): update clock skew detection threshold and configs#8189

Merged
siddsriv merged 23 commits into
mainfrom
feat/clock-skew-sep-update
Jul 23, 2026
Merged

feat(core): update clock skew detection threshold and configs#8189
siddsriv merged 23 commits into
mainfrom
feat/clock-skew-sep-update

Conversation

@siddsriv

@siddsriv siddsriv commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Issue

Internal JS-7004

Description

Some updates for clock skew/retry behavior:

  • detection threshold changes to 4 mins from 5 mins
  • NTP midpoint formula for calculation of candidate skew
  • Age header guard: discard skew candidate if response has an Age header
  • Elapsed guard: discard skew candidate if round-trip exceeds 15 minutes
  • new config option disableClockSkewCorrection

Note that disableClockSkewCorrection config resolver lives in httpAuthSchemes/aws_sdk/ (alongside the signer that consumes it) rather than a new submodule, following the NODE_AUTH_SCHEME_PREFERENCE_OPTIONS pattern, and because I want to keep this PR focused on the update. Adding a new submodule for this config would have some extra overhead.

smithy-ts Change: smithy-lang/smithy-typescript#2145

Testing

unit/integ testing

Checklist

  • If the PR is a feature, add integration tests (*.integ.spec.ts) or E2E tests.
    • It's not a feature.
  • My E2E tests are resilient to concurrent i/o.
    • I didn't write any E2E tests.
  • I added access level annotations e.g. @public, @internal tags and enabled doc generation on the package. Remember that access level annotations go below the description, not above.
    • I didn't add any public functions.
  • Streams - how do they work?? My WebStream readers/locks are properly lifecycled. Node.js stream backpressure is handled. Error handling.
    • No streams here.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@siddsriv
siddsriv force-pushed the feat/clock-skew-sep-update branch 2 times, most recently from 645ae10 to ddbfde3 Compare July 13, 2026 22:01
@siddsriv
siddsriv marked this pull request as ready for review July 14, 2026 18:15
@siddsriv
siddsriv requested a review from a team as a code owner July 14, 2026 18:15
@siddsriv
siddsriv force-pushed the feat/clock-skew-sep-update branch from 97951a0 to 38e46ce Compare July 16, 2026 19:46
@siddsriv siddsriv changed the title chore(core): update clock skew detection threshold and configs feat(core): update clock skew detection threshold and configs Jul 17, 2026
Comment thread packages-internal/core/src/submodules/httpAuthSchemes/index.ts Outdated
Comment thread private/aws-protocoltests-ec2-schema/src/runtimeConfig.browser.ts Outdated
Comment thread private/aws-protocoltests-ec2-schema/src/runtimeConfig.ts Outdated
Comment thread packages-internal/core/package.json Outdated
Comment thread packages-internal/core/src/submodules/httpAuthSchemes/index.browser.ts Outdated
Comment thread packages-internal/core/src/submodules/httpAuthSchemes/index.ts Outdated
Comment thread scripts/validation/api.json Outdated
@siddsriv
siddsriv force-pushed the feat/clock-skew-sep-update branch from 04b42a3 to 30d8ff7 Compare July 23, 2026 18:36
@siddsriv
siddsriv merged commit a2773d5 into main Jul 23, 2026
7 checks passed
@siddsriv
siddsriv deleted the feat/clock-skew-sep-update branch July 23, 2026 20:25
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