Tasks to move JBoss AS from JBC to Infinispan. Goal is to complete critical items by M4.
Distributed locking / session ownership
Determine long-run strategy for sharing access to JGroups Channel
Decouple AS distributed locking code from HAPartition; let us implement it on top of Infinispan RPCManager
Indicate whether lock request required asking another node (as a mechanism to detect failover)
w/ optimization to create a new lock w/o asking another node
- https://jira.jboss.org/browse/JBCLUSTER-268 (Brian)
- Pull distributed locking code out of AS, into a JBCLUSTER project
Replace JBossCache with Infinispan
https://jira.jboss.org/jira/browse/JBAS-7837
Create ha-server-cache-ispn project
CacheManagerFactory
Define how CM's are exposed (JNDI, service locators, @Install)
How to configure this for EJB3
Deal with MC dependency issue
Create schema
Create parser, configuration objects, service
Update CacheManagerLocator
AS CacheManager impl
Inject ChannelFactory
Figure how to configure desired channel
Figure how to inject desired channel
Improve JGroupsChannelLookup API
Implement aliasing
FIELD removal
Add logic to fail deployments if configured
Remove FIELD from testsuite
Update existing DTDs, schemas to note that it's unsupported in AS 6
Remove methods from ha-server-cache-spi
Remove PojoCacheManagerLocator from ha-server-api
Web sessions via Infinispan
Implement web sessions in ha-server-cache-ispn
- As part of this, we need to be sure to rethink how we clear sessions out of the local distributed cache at war undeploy/deploy. It might be incorrect to clean them out.
JSESSIONID generation that hashes to local storage
ha-server-cache-spi and Impl in ha-server-cache-ispn
ISPN configuration via jboss-web.xml (total replication, num backups, sync/async)
Thought: numbackups -1 == total, 0 == local, > 0 == dist
0 means <distributable/> drives passivation???
Update schema
Update ha-server-cache-spi (pass through JBossWebMetaData or just relevant bits?)
Using distributed locking / session ownership to prevent concurrent access
https://jira.jboss.org/jira/browse/JBAS-7844 (Brian/Vladimir)
Using distributed locking / session ownership to invalidate L1 cache
https://jira.jboss.org/jira/browse/JBAS-7852 (Brian/Vladimir)
No-op distributed locking with PersistentManager(Paul)- not willing to require JGroups channel
- figure out how to load once per request
If session isn't locally stored on node handling it, change jvmRoute on session cookie to indicate a node where it is locally stored
Remove JbossCacheCluster (Tomcat integration)(Paul)can be kept if trivial to implement in ha-server-cache-ispn; otherwise chuck it
EJB3 SFSBs
Determine the basic caching strategy
Create equivalent to StatefulTreeCache?
Move to entirely new caching impl?
Ensure ids for newly created SFSB contexts hash locally
Require node to take ownership of session before exposing it to requests
L1 Caching
Set replication configuration via @CacheConfig
If session isn't locally stored on node handling it, communicate this to client proxy so it can fail over to appropriate node?
Similar to JBAS-7853
DistributedState
HA-JNDI
Get rid of AS testsuite dependency on JBC
- Update the Clustering guide!
Comments