# ignite-gg-1064 use loopback address in clock server if failed to get local host
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/0ef74a14 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/0ef74a14 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/0ef74a14 Branch: refs/heads/ignite-gg-10443 Commit: 0ef74a1449d503ae65a200e48da735b545e923da Parents: b5bc06e Author: sboikov <sboi...@gridgain.com> Authored: Tue Jun 30 15:07:18 2015 +0300 Committer: sboikov <sboi...@gridgain.com> Committed: Tue Jun 30 15:07:18 2015 +0300 ---------------------------------------------------------------------- .../processors/clock/GridClockServer.java | 21 +++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef74a14/modules/core/src/main/java/org/apache/ignite/internal/processors/clock/GridClockServer.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/clock/GridClockServer.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/clock/GridClockServer.java index e47d1fa..a835da8 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/clock/GridClockServer.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/clock/GridClockServer.java @@ -62,9 +62,20 @@ public class GridClockServer { int startPort = ctx.config().getTimeServerPortBase(); int endPort = startPort + ctx.config().getTimeServerPortRange() - 1; - InetAddress locHost = !F.isEmpty(ctx.config().getLocalHost()) ? - InetAddress.getByName(ctx.config().getLocalHost()) : - U.getLocalHost(); + InetAddress locHost; + + if (F.isEmpty(ctx.config().getLocalHost())) { + try { + locHost = U.getLocalHost(); + } + catch (IOException e) { + locHost = InetAddress.getLoopbackAddress(); + + U.warn(log, "Failed to get local host address, will use loopback address: " + locHost); + } + } + else + locHost = InetAddress.getByName(ctx.config().getLocalHost()); for (int p = startPort; p <= endPort; p++) { try { @@ -83,8 +94,8 @@ public class GridClockServer { } if (sock == null) - throw new IgniteCheckedException("Failed to bind time server socket within specified port range [locHost=" + - locHost + ", startPort=" + startPort + ", endPort=" + endPort + ']'); + throw new IgniteCheckedException("Failed to bind time server socket within specified port range " + + "[locHost=" + locHost + ", startPort=" + startPort + ", endPort=" + endPort + ']'); } catch (IOException e) { throw new IgniteCheckedException("Failed to start time server (failed to get local host address)", e);