Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-25526

[GSS](7.4.z) Sessions that expire while no EAP servers are active leave orphan entries in RHDG

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 7.4.12.GA
    • Clustering
    • None
    • False
    • None
    • False
    • Workaround Exists
    • Hide

      Avoid all EAP pods dropping; As long as there is one EAP pod, the DG (immortal) caches will be cleaned.

      Show
      Avoid all EAP pods dropping; As long as there is one EAP pod, the DG (immortal) caches will be cleaned.
    • Customer Escalated, Customer Facing

      The hotrod-based session manager relies on a single mortal cache entry per session, and uses a client listener to react to expiration events in order to send session destroy events to the application, and to remove the dependent immortal cache entries from RHDG.

      However, if all EAP servers are shut down, no EAP server will receive expiration events, and thus the dependent immortal cache entries are never removed. Additionally, no session destroy events will be triggered for these sessions.

      To fix this, we will need to add logic during session manager startup:

      • Detect the above condition
        • Because hotrod clients have no knowledge of each other, I can think of no other way to do this apart from using JGroups
      • If the server determines that there are no other EAP servers servicing the application (i.e. cluster size is 1), iterate over all immortal metadata entries in cache that lack a mortal metadata entry equivalent, and, for each, trigger a manual (client-side) expiration event. This must be done after registering the normal expiration client listener.

            pferraro@redhat.com Paul Ferraro
            pferraro@redhat.com Paul Ferraro
            Votes:
            1 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated: