@Override
  public void onBatchAcidWrite(BatchAcidWriteEvent batchAcidWriteEvent, Connection dbConn, SQLGenerator sqlGenerator)
          throws MetaException {
    List<NotificationEvent> eventBatch = new ArrayList<>();
    List<AcidWriteMessage> msgBatch = new ArrayList<>();
    List<AcidWriteEvent> acidWriteEventList = new ArrayList<>();
    for (int i = 0; i < batchAcidWriteEvent.getNumRequest(); i++) {
      AcidWriteEvent acidWriteEvent = new AcidWriteEvent(batchAcidWriteEvent.getPartition(i),
              batchAcidWriteEvent.getTableObj(i), batchAcidWriteEvent.getPartitionObj(i),
              batchAcidWriteEvent.getNotificationRequest(i));
      AcidWriteMessage msg = MessageBuilder.getInstance().buildAcidWriteMessage(acidWriteEvent,
              new FileChksumIterator(batchAcidWriteEvent.getFiles(i), batchAcidWriteEvent.getChecksums(i),
                      batchAcidWriteEvent.getSubDirs(i)));
      NotificationEvent event = new NotificationEvent(0, now(), EventType.ACID_WRITE.toString(),
              msgEncoder.getSerializer().serialize(msg));
      event.setMessageFormat(msgEncoder.getMessageFormat());
      event.setDbName(batchAcidWriteEvent.getDatabase(i));
      event.setTableName(batchAcidWriteEvent.getTable(i));
      eventBatch.add(event);
      msgBatch.add(msg);
      acidWriteEventList.add(acidWriteEvent);
    }
    try {
      addWriteNotificationLog(eventBatch, acidWriteEventList, dbConn, sqlGenerator, msgBatch);
    } catch (SQLException e) {
      throw new MetaException("Unable to add batch write notification log " + StringUtils.stringifyException(e));
    }
  }
@param allocWriteIdEvent Alloc write id event
@throws MetaException
hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/listener/DbNotificationListener.java