As you can see reconnection is not initiated. "in-flight callbacks" line was added by me for debugging. It seems unless I send a new query, the driver won't reconnect.

I noticed that reconnector is triggered when defunct/closed connection is returned to pool, which happens when there are callbacks in connection.

The following code is how connection is closed from driver side, error_all_callbacks will call all pending callbacks, and if ResponseFuture._set_result callback in it, return_connection will be called and trigger the reconnect, otherwise no reconnect will be initiated: