Skip to content

Read endpoint BDD and add default timeout on the Smithy path - #7538

Open
Fred1155 wants to merge 2 commits into
feature/master/smithy-migrationfrom
bole/smithy_endpoint_bdd_timeout
Open

Fred1155 wants to merge 2 commits into
feature/master/smithy-migrationfrom
bole/smithy_endpoint_bdd_timeout

Conversation

@Fred1155

Copy link
Copy Markdown
Contributor

Motivation and Context

When merging the master to the feature brach, there are two gaps that need special handling:

  1. The c2j path added support to generate the endpoint provider from endpoint-bdd-1.json instead of the rule tree
  2. Added a default read/write timeout for some services through DefaultReadWriteTimeoutExemptionProcessor.
    This PR closes these two gap for smithy path

Modifications

  • AddSmithyEndpoints: read the @smithy.rules#endpointBdd trait into EndpointBddModel.
  • SmithyIntermediateModelBuilder: pass that model to the intermediate model.
  • SmithyIntermediateModelPostprocessor: run DefaultReadWriteTimeoutExemptionProcessor last, as the same position as in the C2J chain.

Testing

  1. Added new test for both change, and both test fail before the change
  2. Checked: For every service in aws-models, the @endpointBdd trait equals endpoint-bdd-1.json of the current release.
  3. Did local C2J-vs-Smithy comparison of all services.

Screenshots (if appropriate)

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Performance improvement (non-breaking change which improves latency, throughput, or resource use)
  • Deprecation (marks existing functionality as deprecated)
  • Removal (removes previously deprecated functionality)
  • Documentation (changes to documentation only)

Checklist

  • I have read the CONTRIBUTING document
  • Local run of mvn install succeeds
  • My code follows the code style of this project
  • My change requires a change to the Javadoc documentation
  • I have updated the Javadoc documentation accordingly
  • I have added tests to cover my changes
  • All new and existing tests passed
  • I have added a changelog entry. Adding a new entry must be accomplished by running the scripts/new-change script and following the instructions. Commit the new file created by the script in .changes/next-release with your changes.
  • My change is to implement 1.11 parity feature and I have updated LaunchChangelog

AI tools

  • I wrote this pull request description myself, not with an AI tool
  • I have reviewed all changes in this pull request myself, including any generated by AI tools

License

  • I confirm that this pull request can be released under the Apache 2 license

… the Smithy path

Master's C2J path generates the endpoint provider from endpoint-bdd-1.json
and runs DefaultReadWriteTimeoutExemptionProcessor in its customization
chain. The Smithy path did neither, so a migrated service would get the
rule-tree endpoint provider and lose its default read/write timeout.

- AddSmithyEndpoints reads the @endpointBdd trait into EndpointBddModel,
  and SmithyIntermediateModelBuilder passes it to the intermediate model.
- SmithyIntermediateModelPostprocessor runs
  DefaultReadWriteTimeoutExemptionProcessor last, as the C2J chain does.
The not-exempt case passes with or without the postprocessor change and is
already covered by DefaultReadWriteTimeoutExemptionProcessorTest.
@Fred1155
Fred1155 requested a review from a team as a code owner November 10, 2026 22:03
@Fred1155
Fred1155 requested a review from RanVaknin November 11, 2026 17:43

This branch has not been deployed

No deployments
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.

1 participant