In case there are issues with connection to the server, and OperationTimedOut error is raised, ResponseFuture._errbacks are expectedly executed (in
method). However, the connection itself is not touched, and when it finally returns,
is called. As a result, we get both ResponseFuture._errbacks and ResponseFuture._callbacks executed.
Instead, driver code should make sure to have only one set of callbacks executed (i.e. if there is exception raised, don't execute ResponseFuture._callbacks).
Did some manual testing around this, the connections where returned correctly in different scenarios where an OTO happened.