Author: mreutegg
Date: Wed Mar 26 21:41:17 2014
New Revision: 1582077
URL: http://svn.apache.org/r1582077
Log:
OAK-1569: ClusterPermissionsTest occasionally fails on Windows
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/permission/ClusterPermissionsTest.java
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/permission/ClusterPermissionsTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/permission/ClusterPermissionsTest.java?rev=1582077&r1=1582076&r2=1582077&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/permission/ClusterPermissionsTest.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/permission/ClusterPermissionsTest.java
Wed Mar 26 21:41:17 2014
@@ -59,10 +59,8 @@ import org.apache.jackrabbit.oak.spi.sec
import org.apache.jackrabbit.oak.spi.security.user.UserConfiguration;
import org.junit.After;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
-@Ignore("OAK-1569") // FIXME OAK-1569: ClusterPermissionsTest occasionally
fails on Windows
public class ClusterPermissionsTest {
private DocumentNodeStore ns1;
@@ -89,10 +87,10 @@ public class ClusterPermissionsTest {
DocumentMK.Builder builder;
builder = new DocumentMK.Builder();
- builder.setDocumentStore(ds).setBlobStore(bs).setAsyncDelay(1);
+ builder.setDocumentStore(ds).setBlobStore(bs).setAsyncDelay(0);
ns1 = builder.setClusterId(1).getNodeStore();
builder = new DocumentMK.Builder();
- builder.setDocumentStore(ds).setBlobStore(bs).setAsyncDelay(1);
+ builder.setDocumentStore(ds).setBlobStore(bs).setAsyncDelay(0);
ns2 = builder.setClusterId(2).getNodeStore();
Oak oak = new Oak(ns1)
@@ -109,6 +107,9 @@ public class ClusterPermissionsTest {
userManager1 =
securityProvider1.getConfiguration(UserConfiguration.class).getUserManager(root1,
namePathMapper);
aclMgr1 =
securityProvider1.getConfiguration(AuthorizationConfiguration.class).getAccessControlManager(root1,
namePathMapper);
+ // make sure initial content is visible to ns2
+ syncClusterNodes();
+
oak = new Oak(ns2)
.with(new InitialContent())
.with(new ReferenceEditorProvider())
@@ -157,7 +158,7 @@ public class ClusterPermissionsTest {
public void testCreateUser() throws Exception {
userManager1.createUser("testUser", "testUser");
root1.commit();
- Thread.sleep(100);
+ syncClusterNodes();
root2.refresh();
assertNotNull("testUser must exist on 2nd cluster node",
userManager2.getAuthorizable("testUser"));
}
@@ -172,7 +173,7 @@ public class ClusterPermissionsTest {
aclMgr1.setPolicy("/testNode", acl1);
root1.commit();
- Thread.sleep(100);
+ syncClusterNodes();
root2.refresh();
JackrabbitAccessControlList acl2 =
AccessControlUtils.getAccessControlList(aclMgr2, "/testNode");
AccessControlEntry[] aces = acl2.getAccessControlEntries();
@@ -199,7 +200,7 @@ public class ClusterPermissionsTest {
aclMgr1.setPolicy("/testNode", acl1);
root1.commit();
- Thread.sleep(100);
+ syncClusterNodes();
root2.refresh();
// login with testUser1 and testUser2 (on cluster node 2)
@@ -218,7 +219,7 @@ public class ClusterPermissionsTest {
aclMgr1.setPolicy("/testNode", acl1);
root1.commit();
- Thread.sleep(100);
+ syncClusterNodes();
root2.refresh();
// testUser1 can read /testNode
@@ -228,4 +229,9 @@ public class ClusterPermissionsTest {
assertTrue(session2.getLatestRoot().getTree("/testNode").exists());
}
+ private void syncClusterNodes() {
+ ns1.runBackgroundOperations();
+ ns2.runBackgroundOperations();
+ }
+
}
\ No newline at end of file