Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-14076

HotRodSessionManager fails to expire abandoned sessions following failover

    XMLWordPrintable

Details

    Description

      The HotRodSessionManager takes the same approach to session expiration as the InfinispanSessionManager, that is, sessions are scheduled for expiration locally.

      On failover, the InfinispanSessionManager has sufficient context to handle failover such that sessions are always scheduled on one member.

      Since the HotRodSessionManager lacks a mechanisms to communicate failover to other members, it has no way to reschedule expiration on behalf of a failed member.

      This means that, when a cluster member crashes or shutsdown, any abandoned sessions exclusively handled by that member will never expire.  This can cause orphaned entries to accumulate on the infinispan-server cluster - the only workaround for which is to set a conservative expiration threshold.  However, these expired entries will not trigger HttpSessionListener.sessionDestroyed(...) events.

      To solve this problem, the HotRodSessionManager should explore using expiration events from infinispan-server.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: