In an XA transaction environment, is ItemState.modCount expected to be 0 on
success of the commit?
I am logging details of PropertyState objects when modCount and overlayedState
change.
Transaction A begins and ends w/o exception (in a Session object).
1. PSObject_1 has modCount=0, no overlayedState (triggered by a call to
NodeImpl.lock())
2. PSObject_1 modCount=0, sets overlayedState=PSObject_2 has modCount=0
(SharedItemStateManager$Update.begin() on ItemState.connect())
3. PSObject_2 sets modCount=1, no overlayedState
(SharedItemStateManager$Update.begin() on state.getOverlayedState().touch())
4. PSObject_1 sets modCount=1, overlayedState=PSObject_2 has modCount=1
(SharedItemStateManager$Update.end() on ChangeLog.persisted())
Transaction B fails w/
b8027f5b-2400-4ce7-b8c2-3d3edf163528/{http://www.jcp.org/jcr/1.0}lockOwner has
been modified externally. (Transaction B occurs in a Session object but is a
different Session object used by Transaction A.)
1. PSObject_3 has modCount=0, no overlayedState (triggered by a call to
NodeImpl.lock())
2. PSObject_3 modCount=0, sets overlayedState=PSObject_2 (SAME PSOBJECT_2 AS IN
TRANS A) has modCount=1 (SharedItemStateManager$Update.begin() on
ItemState.connect())
Should modCount for PSObject_2 be 0 here? Or is this expected?
Thanks,
Kelly
--
Kelly E. Dolan, Software Architect
Inmedius, a Boeing Company | www.inmedius.com<http://www.inmedius.com>
P: 412-459-0310 x211 | F: 412-459-0311