Author: reschke
Date: Wed Sep 30 14:09:52 2015
New Revision: 1706037
URL: http://svn.apache.org/viewvc?rev=1706037&view=rev
Log:
OAK-3449: improve diagnostics and adjust test cases that make incorrect
assumptions about cluster id assignments
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/ClusterNodeInfo.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/CacheInvalidationIT.java
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/ClusterNodeInfo.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/ClusterNodeInfo.java?rev=1706037&r1=1706036&r2=1706037&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/ClusterNodeInfo.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/ClusterNodeInfo.java
Wed Sep 30 14:09:52 2015
@@ -418,6 +418,7 @@ public class ClusterNodeInfo {
boolean newEntry = false;
ClusterNodeInfoDocument alreadyExistingConfigured = null;
+ String reuseFailureReason = "";
List<ClusterNodeInfoDocument> list =
ClusterNodeInfoDocument.all(store);
for (ClusterNodeInfoDocument doc : list) {
@@ -448,6 +449,7 @@ public class ClusterNodeInfo {
if (leaseEnd != null && leaseEnd > now) {
// TODO wait for lease end, see OAK-3449
+ reuseFailureReason = "leaseEnd " + leaseEnd + " > " + now + "
- " + (leaseEnd - now) + "ms in the future";
continue;
}
@@ -464,6 +466,7 @@ public class ClusterNodeInfo {
if (!mId.equals(machineId) || !iId.equals(instanceId)) {
// a different machine or instance
+ reuseFailureReason = "machineId/instanceId do not match: " +
mId + "/" + iId + " != " + machineId + "/" + instanceId;
continue;
}
@@ -484,7 +487,7 @@ public class ClusterNodeInfo {
if (configuredClusterId != 0) {
if (alreadyExistingConfigured != null) {
throw new DocumentStoreException(
- "Configured cluster node id " +
configuredClusterId + " already in use: " + alreadyExistingConfigured);
+ "Configured cluster node id " +
configuredClusterId + " already in use: " + reuseFailureReason);
}
clusterNodeId = configuredClusterId;
} else {
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/CacheInvalidationIT.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/CacheInvalidationIT.java?rev=1706037&r1=1706036&r2=1706037&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/CacheInvalidationIT.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/CacheInvalidationIT.java
Wed Sep 30 14:09:52 2015
@@ -53,8 +53,10 @@ public class CacheInvalidationIT extends
@Before
public void prepareStores() throws Exception {
- c1 = createNS(1);
- c2 = createNS(2);
+ // TODO start with clusterNodeId 2, because 1 has already been
+ // implicitly allocated in the base class
+ c1 = createNS(2);
+ c2 = createNS(3);
initialCacheSizeC1 = getCurrentCacheSize(c1);
initialCacheSizeC2 = getCurrentCacheSize(c2);
}
@@ -247,8 +249,12 @@ public class CacheInvalidationIT extends
@After
public void closeStores() {
- c1.dispose();
- c2.dispose();
+ if (c2 != null) {
+ c2.dispose();
+ }
+ if (c1 != null) {
+ c1.dispose();
+ }
}
private static void runBgOps(DocumentNodeStore... stores) {