[jboss-jira] [JBoss JIRA] (WFLY-4333) Transaction must be sticky to ensure consistency for EJB remote invocation with JPA
Richard Achmatowicz (JIRA)
issues at jboss.org
Mon Jul 13 13:53:03 EDT 2015
[ https://issues.jboss.org/browse/WFLY-4333?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13089005#comment-13089005 ]
Richard Achmatowicz edited comment on WFLY-4333 at 7/13/15 1:52 PM:
--------------------------------------------------------------------
Wolf, i'm trying to better understand your example and the boundaries of the transactions you are describing.
Are you saying that if you make EJBClient invocations from a deployed application via an outbound connection to a clustered deployment containing JPA entities, that the invocations will be load balanced across nodes in the cluster, as for SLSBs?
was (Author: rachmato):
Wolf, i'm trying to better understand your example and the boundaries of the transactions you are describing.
Are you saying that if you make EJBClient invocations from a deployed application via an outbound connection to a clustered deployment containing JPA entities, that the invocations will be load balanced across nodes in the cluster?
> Transaction must be sticky to ensure consistency for EJB remote invocation with JPA
> -----------------------------------------------------------------------------------
>
> Key: WFLY-4333
> URL: https://issues.jboss.org/browse/WFLY-4333
> Project: WildFly
> Issue Type: Bug
> Components: EJB
> Reporter: Wolf-Dieter Fink
> Assignee: Tomasz Adamski
> Priority: Critical
> Labels: ejb, transaction
>
> If an application inside of a server uses standard JavaEE persistence JPA, the current implementation include a local 1. level cache which might end in inconsistent reads within the same (uncommited) transaction.
> There are two reasons
> - JPA must not flush changes to an entity until commit
> - The 1. level cache might not read from the persistence if the entity is already loaded in a transaction
> Therefore the server to server invocations of EJB's need to be sticky to one node during a transaction. The granularity must be the application.
> It might be worth to use already known nodes for other applications as well.
> The stickyness should be enabled automatically if a transaction is active and distributed, which is the default within the current implementation, and use the loadbalancing policy if no transaction is active.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
More information about the jboss-jira
mailing list