"Personal dashboards" shows this server is offline or unreachable
![]()
Migrated a 3011 server from one machine to another, then upgraded it to 4.0.2. After the upgrade, all applications seem to communicate OK. However, when clicking on the Home icon, the Personal Dashboards section shows "this server is offline or unreachable". No dashboard can be loaded.
The following error is found in jts.log: 2013-05-30 11:59:28,689 [ http-bio-9443-exec-32] ERROR m.dashboard.service.internal.DashboardQueryService - Error handling POST on /jts/dashboard-query java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:140) |
5 answers
![]()
Hi Kot,
The dashboard (and other JFS consumers that use the HTTP API) communicate with other services via local HTTP requests. This means it's important that the server be able to make a local HTTP request to its public URL, otherwise dashboards won't work. The error message indicates that the local request from the dashboard query service to the JFS query service timed out. The most common cause for this is firewalls - if the server happens to go out on the network while trying to make a request to itself, it can get blocked by a firewall, resulting in error message like this. A good test to do is try to ping the server's public URL from the server (make it ping itself). If it's unable to do so, then there is something blocking the request. I recommend adding an entry in /etc/hosts to resolve the server's public URL to a local IP so that the local requests does not go on the network at all. This will not only prevent such problems, but will also make the server faster. |
![]()
Hi Curtis,
Are there any other possible causes? The user confirmed that the entry is already in the hosts file and that he can ping the URL from the server itself. |
![]()
Can you confirm that the hosts file has an IP like 127.0.0.1 and not the server's external IP? You may be able to use other tools like traceroute to see where the request is going.
Also note that firewalls may block only some ports, so try something like "telnet <hostname> <port>", where hostname is the host in the public URL, and port is the HTTPS port of the JTS (default 9443). See whether it can open a connection, or if it just gets stuck at "Trying <ip>..." Last note, DNS lookups are cached indefinitely on the Jazz servers (I'm not sure if this is a Java thing or just the client we're using), so if you've changed the way the public URL resolves to an IP (like editing the /etc/hosts file) without restarting the JVM, then it's probably still going to the old one. |