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

Redesign web session clustering



      The current web session replication code has been around for ages and suffers from a number of issues:

      • By maintaining a separate local map of sessions in conjunction with the session data stored in the distributed cache, stale data is inevitable - a number of issues have cropped up in EAP testing.
      • Extra concurrency measures are required to ensure synchronicity of the local session map with the distributed cache.
      • Extra logic/locking is required to invalidate the local session map is required per request
      • AtomicMaps, on which the current implementation relies, have proven buggy
      • Session access outside of the scope of the replication valve is possible and problematic
      • Maintaining sessions locally means that the clustering code needs to implement passivation and expiration manually - instead of leveraging Infinispan full capabilities.
      • The current code base is tightly coupled to JBoss Web. Migrating the code to support Undertow will inevitably introduce issues and code duplication.

      The new design will incorporate a proper SPI for the servlet container. Thus the logic to integrate with Undertow vs JBoss Web will be relatively thin.

        Gliffy Diagrams




              • Assignee:
                pferraro Paul Ferraro
                pferraro Paul Ferraro
              • Votes:
                0 Vote for this issue
                6 Start watching this issue


                • Created: