HotRod-based distributed session manager

In  clustering

Overview

WFLY-7719 seeks to add a new distributed session manager implementation to WildFly that uses a HotRod client to store session data into a remote Infinispan cluster. This future provides a system an additional dimension with which to scale, by allowing the caching layer (i.e. session storage) to scale independently from the application servers themselves. The session manager implementation will conform to the SPI provided by the org.wildfly.clustering.web.spi module, allowing the same session manager implementation to support multiple servlet containers, including WildFly/Undertow and Tomcat (via https://github.com/wildfly-clustering/wildfly-clustering-tomcat).

Issue Metadata

Issue

Dev Contacts

QE Contacts

Affected Projects or Components

WildFly, Clustering

Other Interested Projects

Infinispan

Requirements

Hard Requirements

Nice-to-Have Requirements

  • Utilize HotRod administration interface to dynamically create remote caches per web application, instead of using single cache for all deployments

  • Extract logic common to both (i.e. embedded infinispan vs remote infinispan) session manager implementations into a common module

Non-Requirements

Test Plan

  • Clustering testsuite will add new variants for validating SESSION and ATTRIBUTE granularity session persistence to Infinispan-server

  • QE’s smartfrog testsuite should add new variations of their tests as well.

Community Documentation

Community documentation of distributable-web subsystem to be updated to include configuration of hotrod-based session manager