/** * Called for every deployed class. * * @param cls Deployed class. * @param recordEvt Flag indicating whether to record events. */ void recordDeployed(Class<?> cls, boolean recordEvt) { assert !Thread.holdsLock(mux); boolean isTask = isTask(cls); String msg = (isTask ? "Task" : "Class") + " was deployed in Private or Isolated mode: " + cls; if (recordEvt && ctx.event().isRecordable(isTask(cls) ? EVT_TASK_DEPLOYED : EVT_CLASS_DEPLOYED)) { DeploymentEvent evt = new DeploymentEvent(); // Record task event. evt.type(isTask ? EVT_TASK_DEPLOYED : EVT_CLASS_DEPLOYED); evt.node(sndNode); evt.message(msg); evt.alias(cls.getName()); ctx.event().record(evt); } if (log.isInfoEnabled()) log.info(msg); }
/** * @param de Deployment 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 deploymentEvent(DeploymentEvent de, int type, IgniteUuid id, String name, UUID nid, long ts, String msg, String shortDisplay) { return new VisorGridDeploymentEvent(type, id, name, nid, ts, msg, shortDisplay, de.alias()); }
/** {@inheritDoc} */ @Override public String shortDisplay() { return name() + (alias != null ? ": " + alias : ""); }
/** * Filter events containing visor in it's name. * * @param e Event * @param taskName Task name to filter of events. * @return {@code true} if not contains {@code visor} in task name. */ private boolean filterByTaskName(Event e, String taskName) { String compareTaskName = taskName.toLowerCase(); if (e.getClass().equals(TaskEvent.class)) { TaskEvent te = (TaskEvent)e; return containsInTaskName(te.taskName(), te.taskClassName(), compareTaskName); } if (e.getClass().equals(JobEvent.class)) { JobEvent je = (JobEvent)e; return containsInTaskName(je.taskName(), je.taskName(), compareTaskName); } if (e.getClass().equals(DeploymentEvent.class)) { DeploymentEvent de = (DeploymentEvent)e; return de.alias().toLowerCase().contains(compareTaskName); } return true; }
/** {@inheritDoc} */ @Override public String shortDisplay() { return name() + (alias != null ? ": " + alias : ""); }
/** {@inheritDoc} */ @Override public void onDeployed(Class<?> cls) { assert !Thread.holdsLock(mux); boolean isTask = isTask(cls); String msg = (isTask ? "Task" : "Class") + " was deployed in SHARED or CONTINUOUS mode: " + cls; int type = isTask ? EVT_TASK_DEPLOYED : EVT_CLASS_DEPLOYED; if (ctx.event().isRecordable(type)) { DeploymentEvent evt = new DeploymentEvent(); evt.node(ctx.discovery().localNode()); evt.message(msg); evt.type(type); evt.alias(cls.getName()); ctx.event().record(evt); } if (log.isInfoEnabled()) log.info(msg); }
/** {@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; } }
/** * Records deploy event. * * @param cls Deployed class. * @param clsLdr Class loader. * @param recordEvt Flag indicating whether to record events. */ private void recordDeployFailed(Class<?> cls, ClassLoader clsLdr, boolean recordEvt) { assert cls != null; assert clsLdr != null; boolean isTask = isTask(cls); String msg = "Failed to deploy " + (isTask ? "task" : "class") + " [cls=" + cls + ", clsLdr=" + clsLdr + ']'; if (recordEvt && ctx.event().isRecordable(isTask ? EVT_CLASS_DEPLOY_FAILED : EVT_TASK_DEPLOY_FAILED)) { String taskName = isTask ? U.getTaskName((Class<? extends ComputeTask<?, ?>>)cls) : null; DeploymentEvent evt = new DeploymentEvent(); evt.message(msg); evt.node(ctx.discovery().localNode()); evt.type(isTask(cls) ? EVT_CLASS_DEPLOY_FAILED : EVT_TASK_DEPLOY_FAILED); evt.alias(taskName); ctx.event().record(evt); } if (log.isInfoEnabled()) log.info(msg); }
/** * @param de Deployment 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 deploymentEvent(DeploymentEvent de, int type, IgniteUuid id, String name, UUID nid, long ts, String msg, String shortDisplay) { return new VisorGridDeploymentEvent(type, id, name, nid, ts, msg, shortDisplay, de.alias()); }
/** * Records deploy event. * <p> * This needs to be called in synchronized block. * * @param cls Deployed class. * @param alias Class alias. * @param recordEvt Flag indicating whether to record events. */ private void recordDeploy(Class<?> cls, String alias, boolean recordEvt) { assert cls != null; boolean isTask = isTask(cls); String msg = (isTask ? "Task" : "Class") + " locally deployed: " + cls; if (recordEvt && ctx.event().isRecordable(isTask ? EVT_TASK_DEPLOYED : EVT_CLASS_DEPLOYED)) { DeploymentEvent evt = new DeploymentEvent(); evt.message(msg); evt.node(ctx.discovery().localNode()); evt.type(isTask ? EVT_TASK_DEPLOYED : EVT_CLASS_DEPLOYED); evt.alias(alias); ctx.event().record(evt); } // Don't record JDK or Grid classes. if (U.isGrid(cls) || U.isJdk(cls)) return; if (log.isInfoEnabled()) log.info(msg); }
/** * Filter events containing visor in it's name. * * @param e Event * @param taskName Task name to filter of events. * @return {@code true} if not contains {@code visor} in task name. */ private boolean filterByTaskName(Event e, String taskName) { String compareTaskName = taskName.toLowerCase(); if (e.getClass().equals(TaskEvent.class)) { TaskEvent te = (TaskEvent)e; return containsInTaskName(te.taskName(), te.taskClassName(), compareTaskName); } if (e.getClass().equals(JobEvent.class)) { JobEvent je = (JobEvent)e; return containsInTaskName(je.taskName(), je.taskName(), compareTaskName); } if (e.getClass().equals(DeploymentEvent.class)) { DeploymentEvent de = (DeploymentEvent)e; return de.alias().toLowerCase().contains(compareTaskName); } return true; }
/** * Records undeploy event. * * @param dep Undeployed class loader. */ private void recordUndeploy(GridDeployment dep) { assert dep.undeployed(); if (ctx.event().isRecordable(EVT_TASK_UNDEPLOYED) || ctx.event().isRecordable(EVT_CLASS_UNDEPLOYED)) { for (Class<?> cls : dep.deployedClasses()) { boolean isTask = isTask(cls); String msg = isTask ? "Task locally undeployed: " + cls : "Class locally undeployed: " + cls; if (ctx.event().isRecordable(isTask ? EVT_TASK_UNDEPLOYED : EVT_CLASS_UNDEPLOYED)) { DeploymentEvent evt = new DeploymentEvent(); evt.message(msg); evt.node(ctx.discovery().localNode()); evt.type(isTask ? EVT_TASK_UNDEPLOYED : EVT_CLASS_UNDEPLOYED); evt.alias(getAlias(dep, cls)); ctx.event().record(evt); } if (log.isInfoEnabled()) log.info(msg); } } }
DeploymentEvent evt = new DeploymentEvent(); evt.node(sndNode); evt.message(msg); evt.type(!isTask ? EVT_CLASS_UNDEPLOYED : EVT_TASK_UNDEPLOYED); evt.alias(depCls.getKey());
DeploymentEvent evt = new DeploymentEvent(); evt.node(ctx.discovery().localNode()); evt.message(msg); evt.type(type); evt.alias(depCls.getKey());
/** {@inheritDoc} */ @Override public void onDeployed(Class<?> cls) { assert !Thread.holdsLock(mux); boolean isTask = isTask(cls); String msg = (isTask ? "Task" : "Class") + " was deployed in SHARED or CONTINUOUS mode: " + cls; int type = isTask ? EVT_TASK_DEPLOYED : EVT_CLASS_DEPLOYED; if (ctx.event().isRecordable(type)) { DeploymentEvent evt = new DeploymentEvent(); evt.node(ctx.discovery().localNode()); evt.message(msg); evt.type(type); evt.alias(cls.getName()); ctx.event().record(evt); } if (log.isInfoEnabled()) log.info(msg); }
/** * Called for every deployed class. * * @param cls Deployed class. * @param recordEvt Flag indicating whether to record events. */ void recordDeployed(Class<?> cls, boolean recordEvt) { assert !Thread.holdsLock(mux); boolean isTask = isTask(cls); String msg = (isTask ? "Task" : "Class") + " was deployed in Private or Isolated mode: " + cls; if (recordEvt && ctx.event().isRecordable(isTask(cls) ? EVT_TASK_DEPLOYED : EVT_CLASS_DEPLOYED)) { DeploymentEvent evt = new DeploymentEvent(); // Record task event. evt.type(isTask ? EVT_TASK_DEPLOYED : EVT_CLASS_DEPLOYED); evt.node(sndNode); evt.message(msg); evt.alias(cls.getName()); ctx.event().record(evt); } if (log.isInfoEnabled()) log.info(msg); }
/** * Records deploy event. * * @param cls Deployed class. * @param clsLdr Class loader. * @param recordEvt Flag indicating whether to record events. */ @SuppressWarnings({"unchecked"}) private void recordDeployFailed(Class<?> cls, ClassLoader clsLdr, boolean recordEvt) { assert cls != null; assert clsLdr != null; boolean isTask = isTask(cls); String msg = "Failed to deploy " + (isTask ? "task" : "class") + " [cls=" + cls + ", clsLdr=" + clsLdr + ']'; if (recordEvt && ctx.event().isRecordable(isTask ? EVT_CLASS_DEPLOY_FAILED : EVT_TASK_DEPLOY_FAILED)) { String taskName = isTask ? U.getTaskName((Class<? extends ComputeTask<?, ?>>)cls) : null; DeploymentEvent evt = new DeploymentEvent(); evt.message(msg); evt.node(ctx.discovery().localNode()); evt.type(isTask(cls) ? EVT_CLASS_DEPLOY_FAILED : EVT_TASK_DEPLOY_FAILED); evt.alias(taskName); ctx.event().record(evt); } if (log.isInfoEnabled()) log.info(msg); }
/** * Records deploy event. * <p> * This needs to be called in synchronized block. * * @param cls Deployed class. * @param alias Class alias. * @param recordEvt Flag indicating whether to record events. */ private void recordDeploy(Class<?> cls, String alias, boolean recordEvt) { assert cls != null; boolean isTask = isTask(cls); String msg = (isTask ? "Task" : "Class") + " locally deployed: " + cls; if (recordEvt && ctx.event().isRecordable(isTask ? EVT_TASK_DEPLOYED : EVT_CLASS_DEPLOYED)) { DeploymentEvent evt = new DeploymentEvent(); evt.message(msg); evt.node(ctx.discovery().localNode()); evt.type(isTask ? EVT_TASK_DEPLOYED : EVT_CLASS_DEPLOYED); evt.alias(alias); ctx.event().record(evt); } // Don't record JDK or Grid classes. if (U.isGrid(cls) || U.isJdk(cls)) return; if (log.isInfoEnabled()) log.info(msg); }