@Override public boolean apply(Event evt) { return evt.localOrder() > startEvtOrder && (arg.getTypeArgument() == null || F.contains(arg.getTypeArgument(), evt.type())) && (evt.timestamp() >= startEvtTime) && (arg.getTaskName() == null || filterByTaskName(evt, arg.getTaskName())) && (arg.getTaskSessionId() == null || filterByTaskSessionId(evt, arg.getTaskSessionId())); } });
@Override public boolean apply(Event e) { // Detects that events were lost. if (!lastFound.get() && (lastOrder == e.localOrder())) lastFound.set(true); // Retains events by lastOrder, period and type. return e.localOrder() > lastOrder && e.timestamp() > notOlderThan; } };
@Override public void onEvent(Event evt) { assert evt.type() == EVT_NODE_FAILED || evt.type() == EVT_NODE_LEFT; DiscoveryEvent discoEvt = (DiscoveryEvent)evt; if (igfsCtx.igfsNode(discoEvt.eventNode())) { for (WriteCompletionFuture future : pendingWrites.values()) { future.onError(discoEvt.eventNode().id(), new ClusterTopologyCheckedException("Node left grid before write completed: " + evt.node().id())); } } } }, EVT_NODE_LEFT, EVT_NODE_FAILED);
@Override public boolean apply(UUID nodeId, Event evt) { info("Event from " + nodeId + " [" + evt.shortDisplay() + ']'); if (evt.type() == EVT_JOB_STARTED) { nodeIds.add(nodeId); cnt.incrementAndGet(); latch.countDown(); } return true; } },
@Override public int compare(Event o1, Event o2) { return Long.compare(o1.localOrder(), o2.localOrder()); } };
@Override public boolean apply(Event evt) { info("Node joined: " + evt.message()); DiscoveryEvent discoEvt = (DiscoveryEvent)evt; TcpDiscoveryNode node = ((TcpDiscoveryNode)discoMap.get(g1.name()). getNode(discoEvt.eventNode().id())); assert node != null && node.visible(); cnt.countDown(); return true; } },
/** {@inheritDoc} */ @Override public boolean apply(Event evt) { if (evt.timestamp() >= tstamp) { if (evt instanceof TaskEvent) return taskName.equals(((TaskEvent)evt).taskName()); else if (evt instanceof JobEvent) return taskName.equals(((JobEvent)evt).taskName()); else if (evt instanceof DeploymentEvent) return taskName.equals(((DeploymentEvent)evt).alias()); else if (evt instanceof CheckpointEvent) return true; } return false; } }
@Override public boolean apply(Event evt) { info(evt.shortDisplay()); failLatch.countDown(); return true; } }, EVT_NODE_FAILED);
@Override public boolean apply(Event evt) { info("Local event [" + evt.shortDisplay() + ']'); assertEquals(EVT_JOB_STARTED, evt.type()); cnt.incrementAndGet(); latch.countDown(); return false; } },
@Override public boolean apply(Event evt) { assert evt.type() == EVT_NODE_LEFT || evt.type() == EVT_NODE_FAILED; info(">>> Node has left: " + evt.node().id()); leaveLatch.countDown(); g0.events().stopLocalListen(this, EVT_NODE_LEFT, EVT_NODE_FAILED); return true; } }, EVT_NODE_LEFT, EVT_NODE_FAILED);
@Override public boolean apply(Event e) { // Detects that events were lost. if (!lastFound.get() && (lastOrder == e.localOrder())) lastFound.set(true); // Retains events by lastOrder, period and type. return e.localOrder() > lastOrder && e.timestamp() > notOlderThan; } };
/** * @param evt Event. * @return See {@link IgniteEvents#localListen}. */ boolean applyInternal(Event evt) { // Avoid applying previously recorded events. if (evt.localOrder() > this.syncedId) { try { return this.delegate.apply(evt); } catch (Exception e) { e.printStackTrace(); return false; } } return true; } }
@Override public boolean apply(Event evt) { if (stopping.get()) return true; info(evt.message()); UUID id = ((DiscoveryEvent) evt).eventNode().id(); if (id.equals(g1.cluster().localNode().id())) latch1_1.countDown(); else if (id.equals(g2.cluster().localNode().id())) latch1_2.countDown(); else assert false : "Event fired for unknown node."; return true; } }, EVT_NODE_METRICS_UPDATED);
/** * Method cleans up all events that either outnumber queue size * or exceeds time-to-live value. It does none if someone else * cleans up queue (lock is locked) or if there are queue readers * (readersNum > 0). */ private void cleanupQueue() { long now = U.currentTimeMillis(); long queueOversize = evts.sizex() - expireCnt; for (int i = 0; i < queueOversize && evts.sizex() > expireCnt; i++) { Event expired = evts.poll(); if (log.isDebugEnabled()) log.debug("Event expired by count: " + expired); } while (true) { ConcurrentLinkedDeque8.Node<Event> node = evts.peekx(); if (node == null) // Queue is empty. break; Event evt = node.item(); if (evt == null) // Competing with another thread. continue; if (now - evt.timestamp() < expireAgeMs) break; if (evts.unlinkx(node) && log.isDebugEnabled()) log.debug("Event expired by age: " + node.item()); } }
/** * @param evt Event. * @return Index event node. */ private int gridIdx(Event evt) { return getTestIgniteInstanceIndex((String)evt.node().attributes().get(GRID_NAME_ATTR)); } }