@Override
  public void onAbortTxn(AbortTxnEvent abortTxnEvent, Connection dbConn, SQLGenerator sqlGenerator)
          throws MetaException {
    if (abortTxnEvent.getTxnType() == TxnType.READ_ONLY) {
      return;
    }
    AbortTxnMessage msg =
        MessageBuilder.getInstance().buildAbortTxnMessage(abortTxnEvent.getTxnId(), abortTxnEvent.getDbsUpdated());
    NotificationEvent event =
        new NotificationEvent(0, now(), EventType.ABORT_TXN.toString(),
            msgEncoder.getSerializer().serialize(msg));

    try {
      addNotificationLog(event, abortTxnEvent, dbConn, sqlGenerator);
    } catch (SQLException e) {
      throw new MetaException("Unable to execute direct SQL " + StringUtils.stringifyException(e));
    }
  }
@param fnEvent function event
@throws MetaException
hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/listener/DbNotificationListener.java