jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brian Moseley <...@osafoundation.org>
Subject Re: deadlock problem
Date Mon, 28 Nov 2005 23:12:13 GMT
Marcel Reutegger wrote:
> just found out that the patch doesn't work.
> 
> if you are still interested in testing, try the following:
> 
> Index: SharedItemStateManager.java
> ===================================================================
> --- SharedItemStateManager.java    (revision 349402)
> +++ SharedItemStateManager.java    (working copy)
> @@ -144,7 +144,16 @@
>       * Read-/Write-Lock to synchronize access on this item state manager.
>       */
>      private final ReadWriteLock rwLock =
> -            new ReentrantWriterPreferenceReadWriteLock();
> +            new ReentrantWriterPreferenceReadWriteLock() {
> +                /**
> +                 * Allow reader when there is no active writer, or current
> +                 * thread owns the write lock (reentrant).
> +                 */
> +                protected boolean allowReader() {
> +                    return activeWriter_ == null ||
> +                      activeWriter_ == Thread.currentThread();
> +                }
> +            };
> 
>      /**
>       * Creates a new <code>SharedItemStateManager</code> instance.
> 
> 
> I will do some further tests and commit the change when it turns out to 
> be stable and ok.

this seems to work. i was able to rerun the load test without the 
deadlock occurring. thanks for your help marcel!


Mime
View raw message