IBM Support

Slow performance or hang in HostName lookup

Technote (troubleshooting)


Problem(Abstract)

There is slow performance or a hang during HostName lookup.

Symptom

Thread dumps or javacores taken during the time of the slow response, or "hang threads" will show threads with the following lines at the top of the stack:

at java.net.Inet6AddressImpl.getLocalHostName(Native Method)
at java.net.InetAddress.getLocalHost(InetAddress.java:123)


Cause

The problem could be lookup issues between IPv6 versus IPv4. If the Domain Name System (DNS) server is not configured to handle IPv6 queries, the application may have to wait for the IPv6 query to time out for IPv6 queries.

These threads are waiting for a response for an IPv6 query. It is likely the the DNS server is not responding to the IPv6 query.


Resolving the problem

If your environment only uses IPv4, set the following argument for each process:

-Djava.net.preferIPv4Stack=true

This will disable IPv6 lookup requests and only use IPv4. To set this in the WebSphere Application Server, do the following:

      1. Open the administrative console and navigate to:

        Servers > Application Servers > server_name > Process Definition > Java Virtual Machine > Custom Properties(/Environment Entries)

      2. Add the following name and value pair:

        Name: java.net.preferIPv4Stack
        Value: true

      3. Click Apply, then save all changes.

      4. Restart the application server.
    • If your environment uses IPv6, please have your network administrator check the DNS set up to ensure that it can respond properly to IPv6 queries.

Document information

More support for: WebSphere Application Server
Java SDK

Software version: 7.0, 8.0, 8.5, 8.5.5, 9.0

Operating system(s): AIX, HP-UX, Linux, Solaris, Windows

Software edition: Base, Express, Network Deployment

Reference #: 1170467

Modified date: 16 December 2009


Translate this page: