[jboss-jira] [JBoss JIRA] (AS7-3492) Server side invocations on a clustered stateful bean end up being handled on the same local node
jaikiran pai (JIRA)
jira-events at lists.jboss.org
Wed Apr 25 11:39:18 EDT 2012
[ https://issues.jboss.org/browse/AS7-3492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12687685#comment-12687685 ]
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
More information about the jboss-jira
mailing list