try { stmt = dbConn.createStatement(); event.setMessageFormat(msgEncoder.getMessageFormat());
/** * Process this notification by adding it to metastore DB. * * @param event NotificationEvent is the object written to the metastore DB. * @param listenerEvent ListenerEvent (from which NotificationEvent was based) used only to set the * DB_NOTIFICATION_EVENT_ID_KEY_NAME for future reference by other listeners. */ private void process(NotificationEvent event, ListenerEvent listenerEvent) throws MetaException { event.setMessageFormat(msgEncoder.getMessageFormat()); LOG.debug("DbNotificationListener: Processing : {}:{}", event.getEventId(), event.getMessage()); HMSHandler.getMSForConf(conf).addNotificationEvent(event); // Set the DB_NOTIFICATION_EVENT_ID for future reference by other listeners. if (event.isSetEventId()) { listenerEvent.putParameter( MetaStoreEventListenerConstants.DB_NOTIFICATION_EVENT_ID_KEY_NAME, Long.toString(event.getEventId())); } }
@Test public void shouldProvideDefaultHandlerWhenNothingRegisteredForThatEvent() { NotificationEvent event = new NotificationEvent(Long.MAX_VALUE, Integer.MAX_VALUE, "shouldGiveDefaultHandler", "s"); event.setMessageFormat(JSONMessageEncoder.FORMAT); EventHandler eventHandler = EventHandlerFactory.handlerFor(event); assertTrue(eventHandler instanceof DefaultHandler); }
private NotificationEvent translateDbToThrift(MNotificationLog dbEvent) { NotificationEvent event = new NotificationEvent(); event.setEventId(dbEvent.getEventId()); event.setEventTime(dbEvent.getEventTime()); event.setEventType(dbEvent.getEventType()); event.setCatName(dbEvent.getCatalogName()); event.setDbName(dbEvent.getDbName()); event.setTableName(dbEvent.getTableName()); event.setMessage((dbEvent.getMessage())); event.setMessageFormat(dbEvent.getMessageFormat()); return event; }
@Override public void onAcidWrite(AcidWriteEvent acidWriteEvent, Connection dbConn, SQLGenerator sqlGenerator) throws MetaException { AcidWriteMessage msg = MessageBuilder.getInstance().buildAcidWriteMessage(acidWriteEvent, new FileChksumIterator(acidWriteEvent.getFiles(), acidWriteEvent.getChecksums(), acidWriteEvent.getSubDirs())); NotificationEvent event = new NotificationEvent(0, now(), EventType.ACID_WRITE.toString(), msgEncoder.getSerializer().serialize(msg)); event.setMessageFormat(msgEncoder.getMessageFormat()); event.setDbName(acidWriteEvent.getDatabase()); event.setTableName(acidWriteEvent.getTable()); try { addWriteNotificationLog(event, acidWriteEvent, dbConn, sqlGenerator, msg); } catch (SQLException e) { throw new MetaException("Unable to add write notification log " + StringUtils.stringifyException(e)); } }
unsetMessageFormat(); } else { setMessageFormat((String)value);
try { stmt = dbConn.createStatement(); event.setMessageFormat(msgFactory.getMessageFormat());
/** * Process this notification by adding it to metastore DB. * * @param event NotificationEvent is the object written to the metastore DB. * @param listenerEvent ListenerEvent (from which NotificationEvent was based) used only to set the * DB_NOTIFICATION_EVENT_ID_KEY_NAME for future reference by other listeners. */ private void process(NotificationEvent event, ListenerEvent listenerEvent) throws MetaException { event.setMessageFormat(msgFactory.getMessageFormat()); LOG.debug("DbNotificationListener: Processing : {}:{}", event.getEventId(), event.getMessage()); HMSHandler.getMSForConf(conf).addNotificationEvent(event); // Set the DB_NOTIFICATION_EVENT_ID for future reference by other listeners. if (event.isSetEventId()) { listenerEvent.putParameter( MetaStoreEventListenerConstants.DB_NOTIFICATION_EVENT_ID_KEY_NAME, Long.toString(event.getEventId())); } }
private NotificationEvent translateDbToThrift(MNotificationLog dbEvent) { NotificationEvent event = new NotificationEvent(); event.setEventId(dbEvent.getEventId()); event.setEventTime(dbEvent.getEventTime()); event.setEventType(dbEvent.getEventType()); event.setCatName(dbEvent.getCatalogName()); event.setDbName(dbEvent.getDbName()); event.setTableName(dbEvent.getTableName()); event.setMessage((dbEvent.getMessage())); event.setMessageFormat(dbEvent.getMessageFormat()); return event; }