private boolean isTxnRelatedEvent(final NotificationEvent event) { return ((event.getEventType().equals(MessageBuilder.OPEN_TXN_EVENT)) || (event.getEventType().equals(MessageBuilder.COMMIT_TXN_EVENT)) || (event.getEventType().equals(MessageBuilder.ABORT_TXN_EVENT))); }
public static EventHandler handlerFor(NotificationEvent event) { if (registeredHandlers.containsKey(event.getEventType())) { Class<? extends EventHandler> handlerClazz = registeredHandlers.get(event.getEventType()); try { Constructor<? extends EventHandler> constructor = handlerClazz.getDeclaredConstructor(NotificationEvent.class); return constructor.newInstance(event); } catch (NoSuchMethodException | IllegalAccessException | InstantiationException | InvocationTargetException e) { // this should never happen. however we want to make sure we propagate the exception throw new RuntimeException( "failed when creating handler for " + event.getEventType() + " with the responsible class being " + handlerClazz.getCanonicalName(), e); } } return new DefaultHandler(event); } }
String tableName; switch (event.getEventType()) { case MessageBuilder.ADD_PARTITION_EVENT: case MessageBuilder.ALTER_PARTITION_EVENT: LOG.debug("Handling event {} on table {}.{}", event.getEventType(), dbName, tableName);
public HCatNotificationEvent(NotificationEvent event) { eventId = event.getEventId(); eventTime = event.getEventTime(); eventType = event.getEventType(); dbName = event.getDbName(); tableName = event.getTableName(); message = event.getMessage(); }
params.add(event.getEventType());
@Override public void addNotificationEvent(NotificationEvent entry) throws MetaException { if (addNotificationEventModifier != null) { Boolean success = addNotificationEventModifier.apply(entry); if ((success != null) && !success) { throw new MetaException("InjectableBehaviourObjectStore: Invalid addNotificationEvent operation on DB: " + entry.getDbName() + " table: " + entry.getTableName() + " event : " + entry.getEventType()); } } super.addNotificationEvent(entry); }
public Object getFieldValue(_Fields field) { switch (field) { case EVENT_ID: return getEventId(); case EVENT_TIME: return getEventTime(); case EVENT_TYPE: return getEventType(); case DB_NAME: return getDbName(); case TABLE_NAME: return getTableName(); case MESSAGE: return getMessage(); case MESSAGE_FORMAT: return getMessageFormat(); case CAT_NAME: return getCatName(); } throw new IllegalStateException(); }
@Override public void handle(Context withinContext) throws Exception { LOG.info("Processing#{} UpdatePartitionTableColumnStat message : {}", fromEventId(), eventMessageAsJSON); org.apache.hadoop.hive.metastore.api.Table tableObj = eventMessage.getTableObject(); if (tableObj == null) { LOG.debug("Event#{} was an event of type {} with no table listed", fromEventId(), event.getEventType()); return; } // Statistics without any data does not make sense. if (withinContext.replicationSpec.isMetadataOnly()) { return; } // For now we do not dump statistics for a transactional table since replicating the same is // not supported. if (AcidUtils.isTransactionalTable(tableObj)) { return; } if (!Utils.shouldReplicate(withinContext.replicationSpec, new Table(tableObj), withinContext.hiveConf)) { return; } DumpMetaData dmd = withinContext.createDmd(this); dmd.setPayload(eventMessageAsJSON); dmd.write(); }
ReplicationSpec replicationSpec = getNewEventOnlyReplicationSpec(evidStr); MessageDeserializer md = MessageFactory.getInstance().getDeserializer(); switch (ev.getEventType()){ case MessageFactory.CREATE_TABLE_EVENT : { CreateTableMessage ctm = md.getCreateTableMessage(ev.getMessage());
continue; switch (event.getEventType()) { case MessageBuilder.ADD_PARTITION_EVENT: AddPartitionMessage addPartMessage = deserializer.getAddPartitionMessage(message); case MessageBuilder.ALTER_CATALOG_EVENT: LOG.error("catalog Events are not supported for cache invalidation : " + event.getEventType()); break; case MessageBuilder.UPDATE_TBL_COL_STAT_EVENT: break; default: LOG.error("Event is not supported for cache invalidation : " + event.getEventType());
private MNotificationLog translateThriftToDb(NotificationEvent entry) { MNotificationLog dbEntry = new MNotificationLog(); dbEntry.setEventId(entry.getEventId()); dbEntry.setEventTime(entry.getEventTime()); dbEntry.setEventType(entry.getEventType()); dbEntry.setCatalogName(entry.isSetCatName() ? entry.getCatName() : getDefaultCatalog(conf)); dbEntry.setDbName(entry.getDbName()); dbEntry.setTableName(entry.getTableName()); dbEntry.setMessage(entry.getMessage()); dbEntry.setMessageFormat(entry.getMessageFormat()); return dbEntry; }
private boolean isTxnRelatedEvent(final NotificationEvent event) { return ((event.getEventType().equals(MessageFactory.OPEN_TXN_EVENT)) || (event.getEventType().equals(MessageFactory.COMMIT_TXN_EVENT)) || (event.getEventType().equals(MessageFactory.ABORT_TXN_EVENT))); }
public static String sha1(NotificationEvent event) { StringBuilder sb = new StringBuilder(); sb.append(event.getEventId()); sb.append(event.getEventTime()); sb.append(event.getEventType()); sb.append(event.getDbName()); sb.append(event.getTableName()); sb.append(event.getMessage()); return DigestUtils.shaHex(sb.toString()); } }
public Object getFieldValue(_Fields field) { switch (field) { case EVENT_ID: return Long.valueOf(getEventId()); case EVENT_TIME: return Integer.valueOf(getEventTime()); case EVENT_TYPE: return getEventType(); case DB_NAME: return getDbName(); case TABLE_NAME: return getTableName(); case MESSAGE: return getMessage(); } throw new IllegalStateException(); }
public HCatNotificationEvent(NotificationEvent event) { eventId = event.getEventId(); eventTime = event.getEventTime(); eventType = event.getEventType(); dbName = event.getDbName(); tableName = event.getTableName(); message = event.getMessage(); }
public HCatNotificationEvent(NotificationEvent event) { eventId = event.getEventId(); eventTime = event.getEventTime(); eventType = event.getEventType(); dbName = event.getDbName(); tableName = event.getTableName(); message = event.getMessage(); }
public HCatNotificationEvent(NotificationEvent event) { eventId = event.getEventId(); eventTime = event.getEventTime(); eventType = event.getEventType(); dbName = event.getDbName(); tableName = event.getTableName(); message = event.getMessage(); }
private MNotificationLog translateThriftToDb(NotificationEvent entry) { MNotificationLog dbEntry = new MNotificationLog(); dbEntry.setEventId(entry.getEventId()); dbEntry.setEventTime(entry.getEventTime()); dbEntry.setEventType(entry.getEventType()); dbEntry.setDbName(entry.getDbName()); dbEntry.setTableName(entry.getTableName()); dbEntry.setMessage(entry.getMessage()); return dbEntry; }
private MNotificationLog translateThriftToDb(NotificationEvent entry) { MNotificationLog dbEntry = new MNotificationLog(); dbEntry.setEventId(entry.getEventId()); dbEntry.setEventTime(entry.getEventTime()); dbEntry.setEventType(entry.getEventType()); dbEntry.setDbName(entry.getDbName()); dbEntry.setTableName(entry.getTableName()); dbEntry.setMessage(entry.getMessage()); return dbEntry; }
private MNotificationLog translateThriftToDb(NotificationEvent entry) { MNotificationLog dbEntry = new MNotificationLog(); dbEntry.setEventId(entry.getEventId()); dbEntry.setEventTime(entry.getEventTime()); dbEntry.setEventType(entry.getEventType()); dbEntry.setCatalogName(entry.isSetCatName() ? entry.getCatName() : getDefaultCatalog(conf)); dbEntry.setDbName(entry.getDbName()); dbEntry.setTableName(entry.getTableName()); dbEntry.setMessage(entry.getMessage()); dbEntry.setMessageFormat(entry.getMessageFormat()); return dbEntry; }