Uploaded image for project: 'OpenAM'
  1. OpenAM
  2. OPENAM-10294

PLL notifications failing on logout when server is down

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 14.0.0-M9
    • Fix Version/s: 14.0.0
    • Component/s: CTS, session
    • Labels:
    • Target Version/s:
    • Rank:
      1|hzsp3z:

      Description

      When using multiple servers, PLL notifications should no longer be sent between servers. Looking at the logs there are still notifications failing when servers are down. Testing done with 3 servers, however probably possible to replicate with 2 servers.

      To reproduce

      • Set up an instance of OpenAM with default configuration, and cookie domain which will work for all servers (e.g. openam.example.com if just using different ports, or .example.com if using different hostnames)
      • Log in as amadmin
      • Configure two more OpenAM instances using custom config, adding them to the current instance
      • Set up site configuration
      • Navigate to site
      • Shut down OpenAM instance 1
      • Log out of OpenAM
        Expected
      • Success
        Actual
      • Success, with Notification failure stack trace in CoreSystem debug log of server handling the logout request
      amComm:12/23/2016 12:55:53:209 PM GMT: Thread[amSession,5,main]: TransactionId[aeaf2e91-44b7-4020-8503-0ab4298bc5fd-291]
      ERROR: Cannot send notification to http://openam.example.com:8080/openam/notificationservice
      java.net.ConnectException: Connection refused
      	at java.net.PlainSocketImpl.socketConnect(Native Method)
      	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
      	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
      	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
      	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
      	at java.net.Socket.connect(Socket.java:589)
      	at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
      	at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
      	at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
      	at sun.net.www.http.HttpClient.<init>(HttpClient.java:211)
      	at sun.net.www.http.HttpClient.New(HttpClient.java:308)
      	at sun.net.www.http.HttpClient.New(HttpClient.java:326)
      	at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1169)
      	at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1105)
      	at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:999)
      	at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:933)
      	at sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(HttpURLConnection.java:1283)
      	at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1258)
      	at com.iplanet.services.comm.server.NotificationSender.run(NotificationSender.java:82)
      	at com.iplanet.services.comm.server.PLLServer.send(PLLServer.java:69)
      	at com.iplanet.dpro.session.service.SessionNotificationSender$SessionNotificationSenderTask.run(SessionNotificationSender.java:205)
      	at org.forgerock.openam.audit.context.AuditRequestContextPropagatingRunnable.run(AuditRequestContextPropagatingRunnable.java:42)
      	at com.iplanet.am.util.ThreadPool$WorkerThread.run(ThreadPool.java:314)
      
      

        Attachments

          Activity

            People

            Assignee:
            diego.colantoni Diego Colantoni
            Reporter:
            samdrew Sam Drew
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: