You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Make sure every connection acquired from the connection pool is fully
initialized and authenticated. Before this change, a connection was
created in a synchronous way. Then protocol handshake and INIT message
were sent asynchronously. So creation of a connection looked like a
sync operation but it is not. Authentication info was also sent with
INIT message regardless of the Bolt protocol negotiation. This worked
fine for Bolt V1 and V2 because they used same INIT message. However,
for Bolt V3 initialization has to happen after protocol version
negotiation because the initialization message is different.
Commit also moves error handling to the connection layer. Before, error
handling/processing was in both `StreamObserver` and `Transaction`.
It's mostly needed to handle failures in RoutingDriver (forget address
from the routing table). Now handling of errors will be done in a
single place - `Connection` object using a special `ConnectionErrorHandler`.
This handler is different for direct driver and routing drivers.
0 commit comments