I've noticed during testing of Avatica, often times when SPNEGO authentication is misconfigured, the client will get stuck in openConnection().
If we consider sqlline and the user control-C's it, sqlline will try to close the driver as well which would do a closeConnection() (which would also obviously fail).
I believe we should be able to short-circuit the the closeConnection() when we know that the openConnection() didn't succeed properly.
Another scenario is when the Avatica server is down. openConnection will fail, but we'll still attempt the closeConnection on exit.