Andreas Hartmann wrote:
> Hi Richard,
>
> rfrovarp apache.org schrieb:
>
>> Author: rfrovarp
>> Date: Fri Aug 31 07:13:27 2007
>> New Revision: 571475
>>
>> URL:
http://svn.apache.org/viewvc?rev=571475&view=rev
>> Log:
>> Synchronize access to committed.
>>
>
> did you find an indication that the commit() method of
a single
> SessionImpl object is invoked by more than one thread?
Actually this
> should never be the case. The critical part further
down the method is
> synchronized via the global transaction lock, which
should prevent any
> concurrency issues during the committing of sessions.
>
> -- Andreas
>
>
>
No, I have not found any indication as such. However, in
r564653 you
added the committed variable (among other things). It is
checked in a
synchronized method down in enqueueEvent. Which was made
synchronized
only when you added the committed variable. It would stand
to reason if
that function is synchronized because of that variable, the
function
modifying it should be synchronized on the same monitor as
well. I could
be wrong, but that is how the bug was found, and my
reasoning for the
change.
Richard
>> Modified:
>>
lenya/trunk/src/java/org/apache/lenya/cms/repository/Session
Impl.java
>>
>> Modified:
lenya/trunk/src/java/org/apache/lenya/cms/repository/Session
Impl.java
>> URL: http://svn.apache.org
/viewvc/lenya/trunk/src/java/org/apache/lenya/cms/repository
/SessionImpl.java?rev=571475&r1=571474&r2=571475&
;view=diff
>>
============================================================
==================
>> ---
lenya/trunk/src/java/org/apache/lenya/cms/repository/Session
Impl.java (original)
>> +++
lenya/trunk/src/java/org/apache/lenya/cms/repository/Session
Impl.java Fri Aug 31 07:13:27 2007
>>  -130,7 +130,7 
>> * throws ConcurrentModificationException if
a transactionable has been modified by another
>> * session.
>> */
>> - public void commit() throws
RepositoryException, ConcurrentModificationException {
>> + public synchronized void commit() throws
RepositoryException, ConcurrentModificationException {
>>
>> savePersistables();
>>
>
>
>
>
>
--
Richard Frovarp
EduTech System Administrator
1-701-231-5127 or
1-800-774-1091
------------------------------------------------------------
---------
To unsubscribe, e-mail: dev-unsubscribe lenya.apache.org
For additional commands, e-mail: dev-help lenya.apache.org
|