Uploaded image for project: 'Pentaho BA Platform'
  1. Pentaho BA Platform
  2. BISERVER-12146

ehCache does not handle IPv6 addresses, causes system startup to fail.

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Severity: Medium
    • Resolution: Cannot Reproduce
    • Affects Version/s: 5.2.0 GA
    • Fix Version/s: Not Planned
    • Component/s: None
    • Labels:
      None
    • Story Points:
      0
    • Notice:
      When an issue is open, the "Fix Version/s" field conveys a target, not necessarily a commitment. When an issue is closed, the "Fix Version/s" field conveys the version that the issue was fixed in.

      Description

      Machines where the IPv6 address is being supplied by "InetAddress.getLocalHost().getHostAddress()", won't be able to startup the BA or DI Servers (more systems may be affected). The error is with ehCache which is trying to open a port for RMI replication of cache between servers.

      Note: I don't know why ehCache is configured to enable this by default.

      The fix is to add the following the startup scripts:
      -Djava.net.preferIPv4Stack=true

      Reference:
      http://stackoverflow.com/questions/18747134/getting-cant-assign-requested-address-java-net-socketexception-using-ehcache

      StackTrace:
      12:17:12,003 ERROR [MulticastRMICacheManagerPeerProvider] Error starting heartbeat. Error was: Can't assign requested address
      java.net.SocketException: Can't assign requested address
      at java.net.PlainDatagramSocketImpl.join(Native Method)
      at java.net.AbstractPlainDatagramSocketImpl.join(AbstractPlainDatagramSocketImpl.java:178)
      at java.net.MulticastSocket.joinGroup(MulticastSocket.java:319)
      at net.sf.ehcache.distribution.MulticastKeepaliveHeartbeatReceiver.init(MulticastKeepaliveHeartbeatReceiver.java:88)
      at net.sf.ehcache.distribution.MulticastRMICacheManagerPeerProvider.init(MulticastRMICacheManagerPeerProvider.java:95)
      at net.sf.ehcache.CacheManager.doInit(CacheManager.java:411)
      at net.sf.ehcache.CacheManager.init(CacheManager.java:357)
      at net.sf.ehcache.CacheManager.<init>(CacheManager.java:242)
      at net.sf.ehcache.CacheManager.create(CacheManager.java:853)
      at net.sf.ehcache.CacheManager.create(CacheManager.java:740)

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              nbaker Nick Baker (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: