# 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);

Reply via email to