/** * Filter events containing visor in it's name. * * @param e Event * @return {@code true} if not contains {@code visor} in task name. */ private boolean filterByTaskSessionId(Event e, IgniteUuid taskSesId) { if (e.getClass().equals(TaskEvent.class)) { TaskEvent te = (TaskEvent)e; return te.taskSessionId().equals(taskSesId); } if (e.getClass().equals(JobEvent.class)) { JobEvent je = (JobEvent)e; return je.taskSessionId().equals(taskSesId); } return true; }
/** {@inheritDoc} */ @Override public boolean apply(Event evt) { return evt instanceof TaskEvent && ((TaskEvent)evt).taskSessionId() != null && ((TaskEvent)evt).taskSessionId().equals(sesId) && evt.type() == EVT_TASK_FAILED; } }
@Override public void onEvent(Event evt) { if (evt.type() == EVT_TASK_FAILED || evt.type() == EVT_TASK_FINISHED) perTaskBalancers.remove(((TaskEvent)evt).taskSessionId()); else if (evt.type() == EVT_JOB_MAPPED) { RoundRobinPerTaskLoadBalancer balancer = perTaskBalancers.get(((JobEvent)evt).taskSessionId()); if (balancer != null) balancer.onMapped(); } } };
@Override public boolean apply(Event evt) { return ((TaskEvent) evt).taskSessionId().equals(execId); } }, EVT_TASK_TIMEDOUT);
/** * @param te Task event. * @param type Event's type. * @param id Event id. * @param name Event name. * @param nid Event node ID. * @param ts Event timestamp. * @param msg Event message. * @param shortDisplay Shortened version of {@code toString()} result. * @return Visor data transfer object for event. */ protected VisorGridEvent taskEvent(TaskEvent te, int type, IgniteUuid id, String name, UUID nid, long ts, String msg, String shortDisplay) { return new VisorGridTaskEvent(type, id, name, nid, ts, msg, shortDisplay, te.taskName(), te.taskClassName(), te.taskSessionId(), te.internal()); }
TaskEvent taskEvt = (TaskEvent)evt; taskTops.remove(taskEvt.taskSessionId()); taskEvt.taskSessionId());
@Override public void onEvent(Event evt) { assert evt instanceof TaskEvent || evt instanceof JobEvent; if (evt.type() == EVT_TASK_FINISHED || evt.type() == EVT_TASK_FAILED) { IgniteUuid sesId = ((TaskEvent)evt).taskSessionId(); taskTops.remove(sesId); if (log.isDebugEnabled()) log.debug("Removed task topology from topology cache for session: " + sesId); } // We should keep topology and use cache in ComputeTask#map() method to // avoid O(n*n/2) complexity, after that we can drop caches. // Here we set mapped property and later cache will be ignored else if (evt.type() == EVT_JOB_MAPPED) { IgniteUuid sesId = ((JobEvent)evt).taskSessionId(); IgniteBiTuple<Boolean, WeightedTopology> weightedTop = taskTops.get(sesId); if (weightedTop != null) weightedTop.set1(true); if (log.isDebugEnabled()) log.debug("Job has been mapped. Ignore cache for session: " + sesId); } } },
writer.writeObject(event0.taskSessionId()); writer.writeBoolean(event0.internal()); writer.writeUuid(event0.subjectId());
/** * Filter events containing visor in it's name. * * @param e Event * @return {@code true} if not contains {@code visor} in task name. */ private boolean filterByTaskSessionId(Event e, IgniteUuid taskSesId) { if (e.getClass().equals(TaskEvent.class)) { TaskEvent te = (TaskEvent)e; return te.taskSessionId().equals(taskSesId); } if (e.getClass().equals(JobEvent.class)) { JobEvent je = (JobEvent)e; return je.taskSessionId().equals(taskSesId); } return true; }
@Override public void onEvent(Event evt) { if (evt.type() == EVT_TASK_FAILED || evt.type() == EVT_TASK_FINISHED) perTaskBalancers.remove(((TaskEvent)evt).taskSessionId()); else if (evt.type() == EVT_JOB_MAPPED) { RoundRobinPerTaskLoadBalancer balancer = perTaskBalancers.get(((JobEvent)evt).taskSessionId()); if (balancer != null) balancer.onMapped(); } } };
/** * @param te Task event. * @param type Event's type. * @param id Event id. * @param name Event name. * @param nid Event node ID. * @param ts Event timestamp. * @param msg Event message. * @param shortDisplay Shortened version of {@code toString()} result. * @return Visor data transfer object for event. */ protected VisorGridEvent taskEvent(TaskEvent te, int type, IgniteUuid id, String name, UUID nid, long ts, String msg, String shortDisplay) { return new VisorGridTaskEvent(type, id, name, nid, ts, msg, shortDisplay, te.taskName(), te.taskClassName(), te.taskSessionId(), te.internal()); }
TaskEvent taskEvt = (TaskEvent)evt; taskTops.remove(taskEvt.taskSessionId()); taskEvt.taskSessionId());
@Override public void onEvent(Event evt) { assert evt instanceof TaskEvent || evt instanceof JobEvent; if (evt.type() == EVT_TASK_FINISHED || evt.type() == EVT_TASK_FAILED) { IgniteUuid sesId = ((TaskEvent)evt).taskSessionId(); taskTops.remove(sesId); if (log.isDebugEnabled()) log.debug("Removed task topology from topology cache for session: " + sesId); } // We should keep topology and use cache in ComputeTask#map() method to // avoid O(n*n/2) complexity, after that we can drop caches. // Here we set mapped property and later cache will be ignored else if (evt.type() == EVT_JOB_MAPPED) { IgniteUuid sesId = ((JobEvent)evt).taskSessionId(); IgniteBiTuple<Boolean, WeightedTopology> weightedTop = taskTops.get(sesId); if (weightedTop != null) weightedTop.set1(true); if (log.isDebugEnabled()) log.debug("Job has been mapped. Ignore cache for session: " + sesId); } } },
writer.writeObject(event0.taskSessionId()); writer.writeBoolean(event0.internal()); writer.writeUuid(event0.subjectId());