/** * Depending on whether or not log is provided and quiet mode is enabled logs given * messages as quiet message or normal log ERROR message. If {@code log} is {@code null} * or in QUIET mode it will add {@code (err)} prefix to the message. * * @param log Optional logger to use when QUIET mode is not enabled. * @param longMsg Message to log using normal logger. * @param shortMsg Message to log using quiet logger. * @param e Optional exception. */ public static void error(@Nullable IgniteLogger log, Object longMsg, Object shortMsg, @Nullable Throwable e) { assert longMsg != null; assert shortMsg != null; if (log != null) { if (e == null) log.error(compact(longMsg.toString())); else log.error(compact(longMsg.toString()), e); } else { X.printerr("[" + SHORT_DATE_FMT.format(new java.util.Date()) + "] (err) " + compact(shortMsg.toString())); if (e != null) e.printStackTrace(System.err); else X.printerrln(); } }
/** {@inheritDoc} */ @Override public void close() throws IgniteException { if (locJvmGrid != null) { final CountDownLatch rmtNodeStoppedLatch = new CountDownLatch(1); locJvmGrid.events().localListen(new IgnitePredicateX<Event>() { @Override public boolean applyx(Event e) { if (((DiscoveryEvent)e).eventNode().id().equals(id)) { rmtNodeStoppedLatch.countDown(); return false; } return true; } }, EventType.EVT_NODE_LEFT, EventType.EVT_NODE_FAILED); compute().run(new StopGridTask(localJvmGrid().name(), true)); try { assert U.await(rmtNodeStoppedLatch, 15, TimeUnit.SECONDS) : "NodeId=" + id; } catch (IgniteInterruptedCheckedException e) { throw new IgniteException(e); } } try { getProcess().kill(); } catch (Exception e) { X.printerr("Could not kill process after close.", e); } }
/** * Depending on whether or not log is provided and quiet mode is enabled logs given * messages as quiet message or normal log ERROR message. If {@code log} is {@code null} * or in QUIET mode it will add {@code (err)} prefix to the message. * * @param log Optional logger to use when QUIET mode is not enabled. * @param longMsg Message to log using normal logger. * @param shortMsg Message to log using quiet logger. * @param e Optional exception. */ public static void error(@Nullable IgniteLogger log, Object longMsg, Object shortMsg, @Nullable Throwable e) { assert longMsg != null; assert shortMsg != null; if (log != null) { if (e == null) log.error(compact(longMsg.toString())); else log.error(compact(longMsg.toString()), e); } else { X.printerr("[" + SHORT_DATE_FMT.format(new java.util.Date()) + "] (err) " + compact(shortMsg.toString())); if (e != null) e.printStackTrace(System.err); else X.printerrln(); } }