worryg0d commented on issue #1919: URL: https://github.com/apache/cassandra-gocql-driver/issues/1919#issuecomment-4496951288
The main problem right now is that the driver overrides the no-timeout contract for reading frame/segment headers as @moguchev pointed. Before gocql v2, reading the response from conn was split into two steps: 1. Read the frame header directly from the raw conn without any timeout so `Conn.recv->readHeader()` hangs for data from the server 2. Read the rest of the frame using connReader with timeouts (there wasn't actually a connReader wrapper before; it was introduced in CASSGO-1) To quickly fix this, we should revert the previous behavior in the first place. > I think the main issue is that we are using the Timeout setting for both request level timeouts and connection read timeout. It should not be a problem, connReader retries for 5 times before throwing io timeout so it should take 5x Timeout time to read data from the conn while the request timeout is 1x -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
