[jboss-jira] [JBoss JIRA] (WFLY-2298) Redesign @Stateful EJB clustering

Paul Ferraro (JIRA) jira-events at lists.jboss.org
Wed Nov 20 14:33:05 EST 2013


     [ https://issues.jboss.org/browse/WFLY-2298?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Paul Ferraro updated WFLY-2298:
-------------------------------

    Fix Version/s: 8.0.0.CR1
                       (was: 9.0.0.CR1)

    
> Redesign @Stateful EJB clustering
> ---------------------------------
>
>                 Key: WFLY-2298
>                 URL: https://issues.jboss.org/browse/WFLY-2298
>             Project: WildFly
>          Issue Type: Enhancement
>      Security Level: Public(Everyone can see) 
>          Components: Clustering
>            Reporter: Paul Ferraro
>            Assignee: Paul Ferraro
>             Fix For: 8.0.0.CR1
>
>
> The current @Stateful EJB clustering design has a number of flaws:
> * The current implementation is very slow.  Each EJB invocation results in 4 Infinispan transactions!  Cache.get(...) and Cache.release(...) result in 2 transactions each, 1 for bean cache and 1 for group cache
> * An external locking mechanism is used to guard the SFSB against access from other nodes between Cache.get(...) and Cache.release(...)
> * Because the current design uses 2 separate cache instances, data is not correctly isolated and can cause integrity issues
> * The current design uses a global group cache, which results in classloader leaks when a server has multiple EJB deployments (MarshalledValues in the group cache, which survives undeployment, can still reference the classloader of an undeployed EJB)
> * The lifecycle of the global group cache does not leverage the MSC and thus is prone to race conditions by multiple SFSB deployments
> * State changes that occur to the SFSB during activation/passivation callbacks are not correctly replicated.
> * The @Clustered annotation currently has 2 orthogonal meanings:
> 	1. If applied to a @Stateful EJB, then a specific cache will be used (as defined by the EJB subsystem)
> 	2. If applied to a @Stateless or @Stateful EJB, remote EJB clients will have a dynamic view of the EJB's topology.
> * Eager passivation is unnecessarily expensive, and makes the eventual SFSB removal slower.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jboss-jira mailing list