@Override public void sendEvent(JetstreamEvent event) throws EventException { String key = JetstreamReservedKeys.EventReplayTopic.toString(); if (event.containsKey(key)) { String retryTopic = (String) event.get(key); if (retryTopic != null && retryTopic.length() != 0) { retryTopic = "Replay-" + retryTopic.replaceAll("/", "-"); event.setForwardingTopics(new String[] { retryTopic }); } } super.sendEvent(event); } }
@Override public void sendEvent(JetstreamEvent event) throws EventException { String key = JetstreamReservedKeys.EventReplayTopic.toString(); if (event.containsKey(key)) { String retryTopic = (String) event.get(key); if (retryTopic != null && retryTopic.length() != 0) { retryTopic = "Replay-" + retryTopic.replaceAll("/", "-"); event.setForwardingTopics(new String[] { retryTopic }); } } super.sendEvent(event); } }
private void execute(BoundStatement q, JetstreamEvent event) { try { ResultSetFuture future = cassandraSession.executeAsync(q); CallBackListener listener = new CallBackListener(future, event); future.addListener(listener, pool); pendingRequestCounter.incrementAndGet(); } catch (Throwable ex) { LOGGER.error( "Error publising metrics in MetricCassandraCollector:" + ex.getMessage()); cassandraErrorCount.increment(); if (event.get(JetstreamReservedKeys.MessageAffinityKey.toString()) == null) { event.put(JetstreamReservedKeys.MessageAffinityKey.toString(), (String) event.get(MCConstant.METRIC_NAME)); } getAdviceListener().retry(event, RetryEventCode.MSG_RETRY, ex.getMessage()); eventSentToAdviceListener.increment(); registerError(ex); } }
@Override public void run() { pendingRequestCounter.decrementAndGet(); try { future.getUninterruptibly(); } catch (DriverException e) { cassandraErrorCount.increment(); if (event != null) { if (event.get(JetstreamReservedKeys.MessageAffinityKey .toString()) == null) { event.put(JetstreamReservedKeys.MessageAffinityKey .toString(), (String) event .get(MCConstant.METRIC_NAME)); } getAdviceListener().retry(event, RetryEventCode.MSG_RETRY, e.getMessage()); eventSentToAdviceListener.increment(); } registerError(e); } } }
@Override public void sendEvent(JetstreamEvent event) throws EventException { if (isPaused() || shutdownFlag.get()) { super.incrementEventDroppedCounter(); return; } if (MCCounterHelper.isGroupByCounterEvent(event)) { if (!connected.get()) { if (config.getEnableCassandra()) { if (event.get(JetstreamReservedKeys.MessageAffinityKey .toString()) == null) { event.put(JetstreamReservedKeys.MessageAffinityKey .toString(), (String) event .get(MCConstant.METRIC_NAME)); } getAdviceListener().retry(event, RetryEventCode.MSG_RETRY, "Cassandra Down"); eventSentToAdviceListener.increment(); } else { super.incrementEventDroppedCounter(); } return; } incrementEventRecievedCounter(); m_lastEvent = event; publishAsync(event); } }
postAlert( "The topic: " + event.get(JetstreamReservedKeys.EventReplayTopic.toString()) + " has issue, replay occurs on replay agent", AlertStrength.RED); postAlert( "The topic: " + event.get(JetstreamReservedKeys.EventReplayTopic.toString()) + " has issue, replay occurs on replay agent", AlertStrength.RED);
private JetstreamEvent constructTEventHolder(JetstreamEvent event) { if (event != null) { JetstreamEvent holderEvent = new JetstreamEvent(); holderEvent.put(JetstreamReservedKeys.JetstreamEventHolder.toString(), event); holderEvent.put(JetstreamReservedKeys.EventType.toString(), event.getEventType()); // insert source application to DTE String eventSource = null; if (event.get(JetstreamReservedKeys.EventSource.toString()) != null) { eventSource = (String) event.get(JetstreamReservedKeys.EventSource.toString()); } else { eventSource = JetstreamApplication.getInstance().getApplicationInformation().getApplicationName(); } holderEvent.put(JetstreamReservedKeys.EventSource.toString(), eventSource); return holderEvent; } return event; }
private void sendToAdviceListener(JetstreamEvent event, RetryEventCode code, String msg) { try { if (m_adviceListener != null) { if (event.containsKey(JetstreamReservedKeys.RetryCount.toString())) { Integer retryCount = (Integer) event.get(JetstreamReservedKeys.RetryCount.toString()); if (retryCount > 3) { LOGGER.info( "Unable to deliver this event so dropping it.." + event.getEventId()); incrementEventDroppedCounter(); return; } } m_adviceListener.retry(event, code, msg); m_eventSentToAdviceListener.increment(); } } catch (Throwable e) { m_errors.registerError(e); LOGGER.error( e.getLocalizedMessage(), e); } }
/** * @param event * @param code * @param msg */ private void sendToAdviceListener(JetstreamEvent event, RetryEventCode code, String msg) { try { if (getAdviceListener() != null) { if (event.containsKey(JetstreamReservedKeys.RetryCount.toString())) { Integer retryCount = (Integer) event.get(JetstreamReservedKeys.RetryCount.toString()); if (retryCount > getRetryCount()) { LOGGER.info( "Unable to deliver this event so dropping it.." + event.getEventId()); m_totalEventsDropped.increment(); return; } } getAdviceListener().retry(event, code, msg); incrementAdviceListenerCount(); } } catch (Throwable e) { m_errors.registerError(e); LOGGER.debug( e.getLocalizedMessage()); } }