Skip to content

[13.x] Support persistent connections and AWS SDK transport sharing - #61194

Draft
GrahamCampbell wants to merge 2 commits into
13.xfrom
transport-sharing
Draft

[13.x] Support persistent connections and AWS SDK transport sharing#61194
GrahamCampbell wants to merge 2 commits into
13.xfrom
transport-sharing

Conversation

@GrahamCampbell

Copy link
Copy Markdown
Collaborator

When #60321 was merged, only the Guzzle 8 upgrade was retained and the persistent connection support originally included in that PR was reverted before it landed. The first commit here restores that work on top of 13.x, re-adding the shared transport support that enables persistent connection re-use across php-fpm requests on Guzzle 8 with PHP 8.5.

The second commit adds support for the AWS SDK's proposed transport_sharing client option (aws/aws-sdk-php#3335), which extends that connection re-use to the AWS SDK. The option is applied at every point the framework constructs an AWS SDK client, including the DynamoDB builders whose fixed key lists previously dropped the option. Because the AWS SDK is a suggested dependency, the framework cannot mandate a version that understands the option, and older SDKs silently ignore unknown configuration keys, which would turn the require modes, whose entire purpose is to fail loudly when connection re-use cannot be guaranteed, into silent no-ops. The new Illuminate\Support\AwsTransportSharing helper closes that gap: it forwards the configuration untouched when the installed SDK supports the option, strips the none and prefer modes when it does not so configuration stays portable, and throws for the require modes.

Replaces #61050; draft until the SDK change ships in a release.

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