public void releaseConnectionIfSafe(BackendConnection conn, boolean debug, boolean needRollback) {
    RouteResultsetNode node = (RouteResultsetNode) conn.getAttachment();

    if (node != null) {
      if (this.autocommit || conn.isFromSlaveDB() || !conn.isModifiedSQLExecuted()) {
        releaseConnection(
            (RouteResultsetNode) conn.getAttachment(), LOGGER.isDebugEnabled(), needRollback);
      }
    }
  }