docs: private synchronized <R> OperationResult<R> executeDdlOperation(AbstractOperationImpl<R> operation, RetryPolicy retry)
               throws OperationException, ConnectionException {
           ConnectionException lastException = null;
           for (int i = 0; i < 2; i++) {
               operation.setPinnedHost(ddlHost);
               try {
                   OperationResult<R> result = connectionPool.executeWithFailover(operation, retry);
                   ddlHost = result.getHost();
                   return result;
               }
               catch (ConnectionException e) {
                  lastException = e;
                  if (e instanceof IsDeadConnectionException) {
                       ddlHost = null;
                  }
               }
           }
           throw lastException;
      }