jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dolan, Kelly" <kdo...@inmedius.com>
Subject What is the expected state of ItemState.modCount on commit of a transaction?
Date Fri, 26 Jul 2013 19:42:59 GMT
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


Mime
View raw message