Skip to content

Force consistent AWS SDK version across the build - #1485

Merged
labkey-matthewb merged 3 commits into
developfrom
fb_force_awssdk_version
Aug 23, 2026
Merged

Force consistent AWS SDK version across the build#1485
labkey-matthewb merged 3 commits into
developfrom
fb_force_awssdk_version

Conversation

@labkey-matthewb

Copy link
Copy Markdown
Contributor

Rationale

Spring AI's bedrock/bedrock-converse starters (added for BedrockProvider) transitively pull a newer software.amazon.awssdk release than awsSdkVersion, which embedded, cloudServices, and professional's own direct AWS SDK dependency already use. AWS SDK v2 requires every software.amazon.awssdk artifact to share one version, so the skew left two different copies of classes like software.amazon.awssdk.regions.Region loaded across the embedded (Spring Boot boot classpath) / module classloader boundary. At server startup this surfaces as java.lang.LinkageError: loader constraint violation rather than a build-time dependency conflict, and since TeamCity servers run with -DterminateOnStartupFailure=true the JVM exits immediately -- this has been failing TeamCity's upgrade validation suite (and others) since the Bedrock dependency landed on 2026-08-21.

Related Pull Requests

  • None -- this is a self-contained Gradle resolution fix in this repo.

Changes

  • Add an eachDependency rule to the root resolutionStrategy block that forces every software.amazon.awssdk:* artifact to awsSdkVersion, regardless of which module or transitive dependency pulls it in. Verified via :server:modules:premiumModules:professional:dependencies that the AWS SDK tree now resolves uniformly to awsSdkVersion instead of split 2.29.50/2.41.22.

Spring AI's bedrock/bedrock-converse starters (added for BedrockProvider) transitively pull a newer AWS SDK release than awsSdkVersion, which embedded, cloudServices, and professional's own direct AWS SDK dependency already use. AWS SDK v2 requires every software.amazon.awssdk artifact to share one version, so the skew left two copies of classes like software.amazon.awssdk.regions.Region loaded across the embedded/module classloader boundary, surfacing at server startup as a LinkageError (loader constraint violation) rather than a build-time conflict -- this is what's been failing TeamCity's upgrade validation and other suites since the Bedrock dependency landed.
@labkey-matthewb
labkey-matthewb merged commit 7aa9b49 into develop Aug 23, 2026
8 checks passed
@labkey-matthewb
labkey-matthewb deleted the fb_force_awssdk_version branch August 23, 2026 00:56
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