While investigating #6415 I noticed that for some reason my connections were never reused (even though pooling was enabled). The reason for that is that Supabase's session pooler doesn't support GSS session encryption and not in the "I do not support it" response but as "socket is closed, here's your 0 bytes to read and EndOfStreamException, have fun".
This is kinda a problem because we treat any IOException (and EndOfStreamException does inherit from it) as transient, and as such we mark that host as offline and also clear the pool, even though that's a normal situation and we're going to retry without GSS (or SSL/TLS) later.
We should change it so we do not clear the pool while establishing the connection (maybe depend on the state?).
cc @roji