You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by th...@apache.org on 2013/07/18 10:32:13 UTC
svn commit: r1504389 - in /jackrabbit/oak/trunk/oak-jcr/src:
main/java/org/apache/jackrabbit/oak/jcr/RepositoryImpl.java
test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java
Author: thomasm
Date: Thu Jul 18 08:32:12 2013
New Revision: 1504389
URL: http://svn.apache.org/r1504389
Log:
OAK-803 Backwards compatibility of long-lived sessions
make admin sessions refresh on every access (temporarily disable the changed behavior)
Modified:
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/RepositoryImpl.java
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/RepositoryImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/RepositoryImpl.java?rev=1504389&r1=1504388&r2=1504389&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/RepositoryImpl.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/RepositoryImpl.java Thu Jul 18 08:32:12 2013
@@ -136,7 +136,7 @@ public class RepositoryImpl implements R
// be on the latest revision: set refresh interval to 0. See OAK-803.
SessionContext context = new SessionContext(
this, whiteboard, new SessionDelegate(
- contentSession, isAdmin(contentSession) ? 0 : AUTO_REFRESH_INTERVAL));
+ contentSession, /* isAdmin(contentSession) ? 0 : */ AUTO_REFRESH_INTERVAL));
return context.getSession();
} catch (LoginException e) {
throw new javax.jcr.LoginException(e.getMessage(), e);
Modified: jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java?rev=1504389&r1=1504388&r2=1504389&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java Thu Jul 18 08:32:12 2013
@@ -1339,7 +1339,15 @@ public class RepositoryTest extends Abst
session1.save();
- // Make sure these items are still accessible through another session
+ // Make sure they are still not accessible through another session
+ assertFalse(session2.itemExists("/node1"));
+ assertFalse(session2.itemExists("/node1/node2"));
+ assertFalse(session2.itemExists("/node1/node3"));
+ assertFalse(session2.itemExists("/node1/node3/property1"));
+
+ session2.refresh(false);
+
+ // Make sure they are accessible through another session after refresh
assertTrue(session2.itemExists("/node1"));
assertTrue(session2.itemExists("/node1/node2"));
assertTrue(session2.itemExists("/node1/node3"));
@@ -1442,8 +1450,8 @@ public class RepositoryTest extends Abst
session1.save();
session2.save();
assertTrue(session1.getRootNode().hasNode("node1"));
- assertTrue(session1.getRootNode().hasNode("node2"));
- assertTrue(session2.getRootNode().hasNode("node1"));
+ assertFalse(session1.getRootNode().hasNode("node2")); // was not visible during save
+ assertTrue(session2.getRootNode().hasNode("node1")); // save refreshes
assertTrue(session2.getRootNode().hasNode("node2"));
} finally {
session1.logout();
@@ -1496,7 +1504,7 @@ public class RepositoryTest extends Abst
session1.save();
assertFalse(session1.getRootNode().hasNode("node"));
- assertFalse(session2.getRootNode().hasNode("node"));
+ assertTrue(session2.getRootNode().hasNode("node"));
try {
session2.save();