[
https://issues.jboss.org/browse/AS7-3492?page=com.atlassian.jira.plugin.s...
]
jaikiran pai commented on AS7-3492:
-----------------------------------
I'm looking at this JIRA now (and going to reword the title more appropriately) and I
realize that one usecase where this JIRA is relevant is failover of clustered beans
between servers where one of the servers acts as a client. Consider the following
usecase:
1) Server A and server B are part of a cluster and both have deployment D containing a
stateful @Clustered bean.
2) Server A also has another deployment C which acts as a client to the @Clustered SFSB in
D
3) Now when the deployment C invokes on the @Clustered bean in deployment D, server A will
route the call to the local EJB receiver (which is the right behaviour). The call(s) go on
successfully.
4) Let's assume that at a later point, due to whatever reasons, deployment D is
undeployed from server A.
5) Now subsequent calls from deployment C (on server A) should be routed to server B.
Currently this won't happen because the local EJB receiver doesn't have relevant
implementation to make use of the cluster topology information.
I've an implementation for this ready (testing in progress) which does the necessary
changes to make sure that the failover happens. Note that this implementation will *not*
change the fact that the invocations on the clustered SFSB are pinned to the local node as
long as the deployment is present locally, because of the way the affinities work in the
SFSB EJBLocator. A SFSB locator is associated with a hard affinity and weak affinity and
they make sure that the invocation gets pinned locally unless a failover is necessary.
Does anyone see any issues with this?
Server side invocations on a clustered stateful bean end up being
handled on the same local node
------------------------------------------------------------------------------------------------
Key: AS7-3492
URL:
https://issues.jboss.org/browse/AS7-3492
Project: Application Server 7
Issue Type: Bug
Components: Clustering, EJB
Affects Versions: 7.1.0.CR1b
Reporter: jaikiran pai
Assignee: jaikiran pai
Fix For: 7.1.2.Final-redhat1
Currently, if a stateful bean is @Cluster(ed) and an invocation on it is done from within
the same server, invocations on that bean are always handled by the LocalEJBReceiver even
if the cluster has multiple others nodes hosting that stateful bean.
The LocalEjbReceiver currently receives the cluster topology but doesn't create
(remote) EJB receviers out of it for the client context. The missing piece is
configurations that need to be passed for creating the remote EJB receivers.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira