[10.x] Refine error messages for detecting lost connections (Debian bookworm compatibility)#53794
Merged
Merged
Conversation
Last year I added those two via laravel#47398 Please see details and reasoning there, it still applies; TL;DR: > Ever since I moved from AWS Aurora to using AWS RDS Proxy, which > (similar to pgbouncer) is essential to not overload the primary database > with connection, I sporadically see these messages. This affects > scheduled tasks, worker, HTTP requests; it's across the whole board. What I didn't knew back then was that the order/format of those messages very much dependent on the underlying libraries (libpq and or libssl presumably) and once we started to upgrade from Debian bullseye to bookworm, they changed and now are randomly interrupting our service again. The new (complete) messages look like this: > `SQLSTATE[08006] [7] connection to server at "…" (…), port 5… failed: SSL error: sslv3 alert unexpected message (Connection: main, SQL: …` That is, it still contains "SSL error: sslv3 alert unexpected message" but there's now connection specific information before the SQLSTATE prefix. Since lost connection detection is based on exact string matching and not regex, we're just removing the magic numbers in front and still keep backwards compatibility. I opened this PR against Laravel 10.x because we're still using and it requires the fix there (we're in the progress moving to L11, but it still takes time). Thanks
Contributor
Author
|
@taylorotwell et al: can we please have a new Laravel 10 release 🙏🏼 |
taylorotwell
pushed a commit
to illuminate/database
that referenced
this pull request
Jan 9, 2025
…ookworm compatibility) (#54111) Same as laravel/framework#53794 , which was for L10, but this time for L11
taylorotwell
pushed a commit
that referenced
this pull request
Jun 10, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Last year I added those two via #47398 Please see details and reasoning there, it still applies; TL;DR:
What I didn't knew back then was that the order/format of those messages very much dependent on the underlying libraries (libpq and or libssl presumably) and once we started to upgrade from Debian bullseye to bookworm, they changed and now are randomly interrupting our service again.
The new (complete) messages look like this:
That is, it still contains "SSL error: sslv3 alert unexpected message" but there's now connection specific information after the SQLSTATE prefix.
Since lost connection detection is based on exact string matching and not regex, we're just removing the magic numbers in front and still keep backwards compatibility.
Notes
Please accept this this PR against Laravel 10.x because we're still using and it requires the fix there (we're in the progress moving to L11, but it still takes time).
Thanks