Regarding bug: [ 663114 ] MarshallException when accessing remote bean, this is
due to a change made to store the transaction context of an Invocation in the 
as_is_payload
rather than the transient_payload map about the time of the 3.0.0 release. Our tx
info never has been serializable, and the marshalled form of the tpc is handled at the
MarshalledInvocation layer anyway rather than relying on the correct form of the tx
context being placed into the Invocation.

In the case of this particular bug, an EJB A on host 1 calls an EJB B on host 2. Both
EJBs uses REQUIRED transaction attributes for all methods, so according to the
EJB spec this call should actually fail since the expectation a client can assume is 
that
the existing transaction context of EJB A will be propagated. However, we fail all 
calls
regardless of the transaction attributes. If EJB B was using RequiresNew the call 
should
succeed.

I'm inclined to move the transaction context into the transient_payload map to allow
valid calls to succeed. This does raise the possibility that the application data can 
become
corrupted if it does expected distributed transaction semantics on inter-server EJB 
calls.

We need to cleanup the tx propagation so that its consistent with the spec. Both for
the case of not supporting tx propagation and the case of supporting it. Is this being
included in the 4.0 changes concerning the distributed transaction support?

xxxxxxxxxxxxxxxxxxxxxxxx
Scott Stark
Chief Technology Officer
JBoss Group, LLC
xxxxxxxxxxxxxxxxxxxxxxxx


-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to