Merge remote-tracking branch 'remotes/origin/ignite-1157' into ignite-1.3.3
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/GridLogThrottle.java b/modules/core/src/main/java/org/apache/ignite/internal/util/GridLogThrottle.java
index 89b02b4..607b17b 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/GridLogThrottle.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/GridLogThrottle.java
@@ -73,7 +73,7 @@
public static void error(@Nullable IgniteLogger log, @Nullable Throwable e, String msg) {
assert !F.isEmpty(msg);
- log(log, e, msg, null, LogLevel.ERROR);
+ log(log, e, msg, null, LogLevel.ERROR, false);
}
/**
@@ -86,7 +86,21 @@
public static void warn(@Nullable IgniteLogger log, @Nullable Throwable e, String msg) {
assert !F.isEmpty(msg);
- log(log, e, msg, null, LogLevel.WARN);
+ log(log, e, msg, null, LogLevel.WARN, false);
+ }
+
+ /**
+ * Logs warning if needed.
+ *
+ * @param log Logger.
+ * @param e Error (optional).
+ * @param msg Message.
+ * @param quite Print warning anyway.
+ */
+ public static void warn(@Nullable IgniteLogger log, @Nullable Throwable e, String msg, boolean quite) {
+ assert !F.isEmpty(msg);
+
+ log(log, e, msg, null, LogLevel.WARN, quite);
}
/**
@@ -100,7 +114,20 @@
public static void warn(@Nullable IgniteLogger log, @Nullable Throwable e, String longMsg, @Nullable String shortMsg) {
assert !F.isEmpty(longMsg);
- log(log, e, longMsg, shortMsg, LogLevel.WARN);
+ log(log, e, longMsg, shortMsg, LogLevel.WARN, false);
+ }
+
+ /**
+ * Logs info if needed.
+ *
+ * @param log Logger.
+ * @param msg Message.
+ * @param quite Print info anyway.
+ */
+ public static void info(@Nullable IgniteLogger log, String msg, boolean quite) {
+ assert !F.isEmpty(msg);
+
+ log(log, null, msg, null, LogLevel.INFO, quite);
}
/**
@@ -110,9 +137,7 @@
* @param msg Message.
*/
public static void info(@Nullable IgniteLogger log, String msg) {
- assert !F.isEmpty(msg);
-
- log(log, null, msg, null, LogLevel.INFO);
+ info(log, msg, false);
}
/**
@@ -133,7 +158,7 @@
*/
@SuppressWarnings({"RedundantTypeArguments"})
private static void log(@Nullable IgniteLogger log, @Nullable Throwable e, String longMsg, @Nullable String shortMsg,
- LogLevel level) {
+ LogLevel level, boolean quiet) {
assert !F.isEmpty(longMsg);
IgniteBiTuple<Class<? extends Throwable>, String> tup =
@@ -147,7 +172,7 @@
if (loggedTs == null || loggedTs < curTs - throttleTimeout) {
if (replace(tup, loggedTs, curTs)) {
- level.doLog(log, longMsg, shortMsg, e);
+ level.doLog(log, longMsg, shortMsg, e, quiet);
break;
}
@@ -182,10 +207,13 @@
// No-op.
}
+ /**
+ *
+ */
private enum LogLevel {
/** Error level. */
ERROR {
- @Override public void doLog(IgniteLogger log, String longMsg, String shortMsg, Throwable e) {
+ @Override public void doLog(IgniteLogger log, String longMsg, String shortMsg, Throwable e, boolean quiet) {
if (e != null)
U.error(log, longMsg, e);
else
@@ -195,16 +223,23 @@
/** Warn level. */
WARN {
- @Override public void doLog(IgniteLogger log, String longMsg, String shortMsg, Throwable e) {
- U.warn(log, longMsg, F.isEmpty(shortMsg) ? longMsg : shortMsg);
+ @Override public void doLog(IgniteLogger log, String longMsg, String shortMsg, Throwable e, boolean quiet) {
+ if (quiet)
+ U.quietAndWarn(log, longMsg, F.isEmpty(shortMsg) ? longMsg : shortMsg);
+ else
+ U.warn(log, longMsg, F.isEmpty(shortMsg) ? longMsg : shortMsg);
}
},
/** Info level. */
INFO {
- @Override public void doLog(IgniteLogger log, String longMsg, String shortMsg, Throwable e) {
- if (log.isInfoEnabled())
- log.info(longMsg);
+ @Override public void doLog(IgniteLogger log, String longMsg, String shortMsg, Throwable e, boolean quiet) {
+ if (quiet)
+ U.quietAndInfo(log, longMsg);
+ else {
+ if (log.isInfoEnabled())
+ log.info(longMsg);
+ }
}
};
@@ -216,6 +251,6 @@
* @param shortMsg Short message.
* @param e Exception to attach to log.
*/
- public abstract void doLog(IgniteLogger log, String longMsg, String shortMsg, Throwable e);
+ public abstract void doLog(IgniteLogger log, String longMsg, String shortMsg, Throwable e, boolean quiet);
}
}
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
index f9c4a4d..a052e58 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
@@ -384,7 +384,8 @@
if (timeout > 0 && (U.currentTimeMillis() - startTime) > timeout)
return null;
- U.warn(log, "No addresses registered in the IP finder (will retry in 2000ms): " + spi.ipFinder);
+ LT.warn(log, null, "No addresses registered in the IP finder (will retry in 2000ms): "
+ + spi.ipFinder, true);
Thread.sleep(2000);
}
@@ -435,7 +436,7 @@
return null;
LT.warn(log, null, "Failed to connect to any address from IP finder (will retry to join topology " +
- "in 2000ms): " + addrs0);
+ "in 2000ms): " + toOrderedList(addrs0), true);
Thread.sleep(2000);
}
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
index 68552a6..75436fa 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
@@ -830,10 +830,11 @@
e.addSuppressed(err);
}
- if (e != null && X.hasCause(e, ConnectException.class))
+ if (e != null && X.hasCause(e, ConnectException.class)) {
LT.warn(log, null, "Failed to connect to any address from IP finder " +
"(make sure IP finder addresses are correct and firewalls are disabled on all host machines): " +
- addrs);
+ toOrderedList(addrs), true);
+ }
if (spi.joinTimeout > 0) {
if (noResStart == 0)
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
index ace917f..e8ee798 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
@@ -26,6 +26,7 @@
import org.apache.ignite.spi.discovery.tcp.internal.*;
import org.jetbrains.annotations.*;
+import java.net.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
@@ -276,4 +277,18 @@
return true;
}
+
+ /**
+ * @param addrs Addresses.
+ */
+ protected static List<String> toOrderedList(Collection<InetSocketAddress> addrs) {
+ List<String> res = new ArrayList<>(addrs.size());
+
+ for (InetSocketAddress addr : addrs)
+ res.add(addr.toString());
+
+ Collections.sort(res);
+
+ return res;
+ }
}