/** * Filter events containing visor in it's name. * * @param e Event * @return {@code true} if not contains {@code visor} in task name. */ private boolean filterByTaskName(GridEvent e, String taskName) { if (e.getClass().equals(GridTaskEvent.class)) { GridTaskEvent te = (GridTaskEvent)e; return containsInTaskName(te.taskName(), te.taskClassName(), taskName); } if (e.getClass().equals(GridJobEvent.class)) { GridJobEvent je = (GridJobEvent)e; return containsInTaskName(je.taskName(), je.taskName(), taskName); } if (e.getClass().equals(GridDeploymentEvent.class)) { GridDeploymentEvent de = (GridDeploymentEvent)e; return de.alias().toLowerCase().contains(taskName); } return true; }
/** * 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(GridEvent e, GridUuid taskSessionId) { if (e.getClass().equals(GridTaskEvent.class)) { GridTaskEvent te = (GridTaskEvent)e; return te.taskSessionId().equals(taskSessionId); } if (e.getClass().equals(GridJobEvent.class)) { GridJobEvent je = (GridJobEvent)e; return je.taskSessionId().equals(taskSessionId); } return true; }
te.taskName(), te.taskClassName(), te.taskSessionId(), te.internal()));
/** * @param evtType Event type. * @param msg Event message. */ private void recordTaskEvent(int evtType, String msg) { if (!internal && ctx.event().isRecordable(evtType)) { GridEvent evt = new GridTaskEvent( ctx.discovery().localNode(), msg, evtType, ses.getId(), ses.getTaskName(), ses.getTaskClassName(), internal, subjId); ctx.event().record(evt); } }
/** {@inheritDoc} */ @Override public String shortDisplay() { return name() + ": taskName=" + taskName; }
te.taskName(), te.taskClassName(), te.taskSessionId(), te.internal()));
GridEvent evt = new GridTaskEvent( ctx.discovery().localNode(), "Changed attributes: " + attrs,
@Override public void onEvent(GridEvent evt) { if (evt.type() == EVT_TASK_FAILED || evt.type() == EVT_TASK_FINISHED) perTaskBalancers.remove(((GridTaskEvent)evt).taskSessionId()); else if (evt.type() == EVT_JOB_MAPPED) { GridRoundRobinPerTaskLoadBalancer balancer = perTaskBalancers.get(((GridJobEvent)evt).taskSessionId()); if (balancer != null) balancer.onMapped(); } } };
GridEvent evt = new GridTaskEvent( ctx.discovery().localNode(), "Changed attributes: " + attrs,
GridTaskEvent taskEvt = (GridTaskEvent)evt; taskTops.remove(taskEvt.taskSessionId()); taskEvt.taskSessionId());
@Override public void onEvent(GridEvent evt) { assert evt instanceof GridTaskEvent || evt instanceof GridJobEvent; if (evt.type() == EVT_TASK_FINISHED || evt.type() == EVT_TASK_FAILED) { GridUuid sesId = ((GridTaskEvent)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 GridComputeTask#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) { GridUuid sesId = ((GridJobEvent)evt).taskSessionId(); GridBiTuple<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); } } },