Author: mduerig
Date: Thu Mar 13 21:29:00 2014
New Revision: 1577326

URL: http://svn.apache.org/r1577326
Log:
OAK-1491: ObservationTest failure on Windows
Use synchronized instead of volatile to avoid commits being processed while an 
observer is being added. Thanks Jukka for pointing this out.

Modified:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/ChangeDispatcher.java

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/ChangeDispatcher.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/ChangeDispatcher.java?rev=1577326&r1=1577325&r2=1577326&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/ChangeDispatcher.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/ChangeDispatcher.java
 Thu Mar 13 21:29:00 2014
@@ -40,7 +40,7 @@ public class ChangeDispatcher implements
     private final CompositeObserver observers = new CompositeObserver();
 
     @Nonnull
-    private volatile NodeState root;
+    private NodeState root;
 
     /**
      * Create a new instance for dispatching content changes
@@ -62,7 +62,7 @@ public class ChangeDispatcher implements
      */
     @Override
     @Nonnull
-    public Closeable addObserver(final Observer observer) {
+    public synchronized Closeable addObserver(final Observer observer) {
         observer.contentChanged(root, null);
         observers.addObserver(observer);
         return new Closeable() {


Reply via email to