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
Some of the errors are benign and they should not force close the client connection, but they do. For example, when there is a long-running query and the client (psql) sends a query cancellation request, the connection gets closed, leaving psql hanging.
I have took a few stabs at this, but so far no luck in completely fixing it. It is a logical bug in the code that causes the client connection (GatewayD => database) to get stuck reading from a connection for a response, yet the actual client (client => GatewayD), sends a cancel request. This cancel request won't get through unless the response is read from the client connection and sent back to the client, which opens up the path for further requests. This is the expected behavior in a synchronous system. Yet, the cancel request MUST work, otherwise we can't cancel queries in progress.
The text was updated successfully, but these errors were encountered:
Some of the errors are benign and they should not force close the client connection, but they do. For example, when there is a long-running query and the client (psql) sends a query cancellation request, the connection gets closed, leaving psql hanging.
gatewayd/network/proxy.go
Lines 353 to 373 in 2c79962
gatewayd/network/proxy.go
Lines 375 to 388 in 2c79962
gatewayd/network/server.go
Lines 255 to 273 in 2c79962
See: #32
Investigations
I have took a few stabs at this, but so far no luck in completely fixing it. It is a logical bug in the code that causes the client connection (GatewayD => database) to get stuck reading from a connection for a response, yet the actual client (client => GatewayD), sends a cancel request. This cancel request won't get through unless the response is read from the client connection and sent back to the client, which opens up the path for further requests. This is the expected behavior in a synchronous system. Yet, the cancel request MUST work, otherwise we can't cancel queries in progress.
The text was updated successfully, but these errors were encountered: