@Override public Watermark read(ObjectDataInput in) throws IOException { return new Watermark(in.readLong()); } };
private boolean maybeEmitWm(long timestamp, Predicate<Object> dest) { if (timestamp != NO_NEW_WM) { boolean res = dest.test(new Watermark(timestamp)); assert res : "test result expected to be true"; return true; } return false; }
long newWm = watermarkThrottlingFrame != null ? watermarkThrottlingFrame.floorFrameTs(min) : Long.MIN_VALUE; if (newWm > lastEmittedWm) { traverser.append(new Watermark(newWm)); lastEmittedWm = newWm;
/** * Logs a late event that was dropped. */ public static void logLateEvent(ILogger logger, long currentWm, @Nonnull Object item) { if (!logger.isInfoEnabled()) { return; } if (item instanceof JetEvent) { JetEvent event = (JetEvent) item; logger.info( String.format("Event dropped, late by %dms. currentWatermark=%s, eventTime=%s, event=%s", currentWm - event.timestamp(), toLocalTime(currentWm), toLocalTime(event.timestamp()), event.payload() )); } else { logger.info(String.format( "Late event dropped. currentWatermark=%s, event=%s", new Watermark(currentWm), item )); } }
currentTraverser = currentTraverser.append(new Watermark(wmToEmit));
if (maybeEmitWm(wmTimestamp, dest)) { if (logger.isFinestEnabled()) { logger.finest("Queue " + queueIndex + " is done, forwarding " + new Watermark(wmTimestamp));
long wm = watermarkCoalescer.observeWm(currInstream.ordinal(), newWmValue); if (wm != NO_NEW_WM) { pendingWatermark = new Watermark(wm); assert pendingWatermark == null || pendingWatermark.timestamp() < wm : "trying to assign lower WM. Old=" + pendingWatermark.timestamp() + ", new=" + wm; pendingWatermark = new Watermark(wm);
pendingWatermark = new Watermark(wm);