Description
Describe the bug
We are facing an issue while connected to AuraDB where the our consumer (using Symfony Messenger) starts to throw a Warning: fwrite(): SSL: Connection reset by peer
error on vendor/stefanak-michal/bolt/src/connection/StreamSocket.php:85
.
Once it happens, the connection enters a loop, consuming lots of CPU and the fwrite()
function of the call above sends the Warning: fwrite(): SSL: Broken pipe
warning, never leaving the loop.
To Reproduce
We noticed the error at random times. Sometimes it happens around 5 to 15 minutes after our consumer is running. We could reproduce it sometimes by sending many updates to the queue. However, it is still hard to notice exactly when when it happens.
Expected behavior
I believe the library should throw an exception and either leave the loop, allowing us to handle the exception properly, or just reconnect automatically when a network error occur.
Desktop (please complete the following information):
- Library version: 3.0.3
- Neo4j Version: 5.13-aura
- PHP version: 8.2.11
- OS: Alpine Linux 3.18 on Docker
Additional context
I noticed the bolt library has newer versions that may relate to the issue since the latest version implements the bolt protocol 5.3, although I can't tell if it would fix the issue.