Author: mreutegg
Date: Thu Dec 15 21:28:14 2016
New Revision: 1774524
URL: http://svn.apache.org/viewvc?rev=1774524&view=rev
Log:
OAK-5060: Make DocumentNodeStore.alignWithExternalRevisions more chatty
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreTest.java
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java?rev=1774524&r1=1774523&r2=1774524&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java
Thu Dec 15 21:28:14 2016
@@ -2247,9 +2247,16 @@ public final class DocumentNodeStore
"Current _lastRev entries: {}",
new Date(localTime), new Date(externalTime),
lastRevMap.values());
double delay = ((double) externalTime - localTime) / 1000d;
- String msg = String.format("Background read will be delayed by
%.1f seconds. " +
- "Please check system time on cluster nodes.", delay);
+ String fmt = "Background read will be delayed by %.1f seconds.
" +
+ "Please check system time on cluster nodes.";
+ String msg = String.format(fmt, delay);
LOG.warn(msg);
+ while (localTime + 60000 < externalTime) {
+ clock.waitUntil(localTime + 60000);
+ localTime = clock.getTime();
+ delay = ((double) externalTime - localTime) / 1000d;
+ LOG.warn(String.format(fmt, delay));
+ }
clock.waitUntil(externalTime + 1);
} else if (localTime == externalTime) {
// make sure local time is past external time
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreTest.java?rev=1774524&r1=1774523&r2=1774524&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreTest.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreTest.java
Thu Dec 15 21:28:14 2016
@@ -1637,6 +1637,7 @@ public class DocumentNodeStoreTest {
@Test
public void concurrentChildOperations() throws Exception {
Clock clock = new Clock.Virtual();
+ clock.waitUntil(System.currentTimeMillis());
Revision.setClock(clock);
MemoryDocumentStore store = new MemoryDocumentStore();
DocumentNodeStore ns1 = builderProvider.newBuilder()
@@ -1701,6 +1702,7 @@ public class DocumentNodeStoreTest {
@Test
public void concurrentChildOperations2() throws Exception {
Clock clock = new Clock.Virtual();
+ clock.waitUntil(System.currentTimeMillis());
Revision.setClock(clock);
MemoryDocumentStore store = new MemoryDocumentStore();
DocumentNodeStore ns1 = builderProvider.newBuilder()