Author: tomekr
Date: Thu Feb 16 10:32:36 2017
New Revision: 1783192
URL: http://svn.apache.org/viewvc?rev=1783192&view=rev
Log:
OAK-5651: java.lang.IllegalStateException logged when migrating Segment to
Document
Modified:
jackrabbit/oak/branches/1.6/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/bundlor/BundlingConfigHandler.java
jackrabbit/oak/branches/1.6/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/JdbcFactory.java
jackrabbit/oak/branches/1.6/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/MongoFactory.java
Modified:
jackrabbit/oak/branches/1.6/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/bundlor/BundlingConfigHandler.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.6/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/bundlor/BundlingConfigHandler.java?rev=1783192&r1=1783191&r2=1783192&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.6/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/bundlor/BundlingConfigHandler.java
(original)
+++
jackrabbit/oak/branches/1.6/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/bundlor/BundlingConfigHandler.java
Thu Feb 16 10:32:36 2017
@@ -85,11 +85,8 @@ public class BundlingConfigHandler imple
}
@Override
- public void close() throws IOException{
- if (backgroundObserver != null){
- observerRegistration.close();
- backgroundObserver.close();
- }
+ public void close() throws IOException {
+ unregisterObserver();
}
public BackgroundObserverMBean getMBean(){
@@ -115,6 +112,16 @@ public class BundlingConfigHandler imple
observerRegistration = observable.addObserver(backgroundObserver);
}
+ public void unregisterObserver() throws IOException {
+ if (backgroundObserver != null) {
+ observerRegistration.close();
+ backgroundObserver.close();
+
+ observerRegistration = null;
+ backgroundObserver = null;
+ }
+ }
+
}
Modified:
jackrabbit/oak/branches/1.6/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/JdbcFactory.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.6/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/JdbcFactory.java?rev=1783192&r1=1783191&r2=1783192&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.6/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/JdbcFactory.java
(original)
+++
jackrabbit/oak/branches/1.6/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/JdbcFactory.java
Thu Feb 16 10:32:36 2017
@@ -57,7 +57,7 @@ public class JdbcFactory implements Node
}
@Override
- public NodeStore create(BlobStore blobStore, Closer closer) {
+ public NodeStore create(BlobStore blobStore, Closer closer) throws
IOException {
DocumentMK.Builder builder = MongoFactory.getBuilder(cacheSize);
if (blobStore != null) {
builder.setBlobStore(blobStore);
@@ -69,6 +69,10 @@ public class JdbcFactory implements Node
log.info("Initialized DocumentNodeStore on RDB with Cache size : {}
MB, Fast migration : {}", cacheSize,
builder.isDisableBranches());
DocumentNodeStore documentNodeStore = builder.getNodeStore();
+
+ // TODO probably we should disable all observers, see OAK-5651
+ documentNodeStore.getBundlingConfigHandler().unregisterObserver();
+
closer.register(MongoFactory.asCloseable(documentNodeStore));
return documentNodeStore;
}
Modified:
jackrabbit/oak/branches/1.6/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/MongoFactory.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.6/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/MongoFactory.java?rev=1783192&r1=1783191&r2=1783192&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.6/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/MongoFactory.java
(original)
+++
jackrabbit/oak/branches/1.6/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/MongoFactory.java
Thu Feb 16 10:32:36 2017
@@ -48,7 +48,7 @@ public class MongoFactory implements Nod
}
@Override
- public NodeStore create(BlobStore blobStore, Closer closer) throws
UnknownHostException {
+ public NodeStore create(BlobStore blobStore, Closer closer) throws
IOException {
DocumentMK.Builder builder = getBuilder(cacheSize);
builder.setMongoDB(getDB(closer));
if (blobStore != null) {
@@ -58,6 +58,10 @@ public class MongoFactory implements Nod
builder.setReadOnlyMode();
}
DocumentNodeStore documentNodeStore = builder.getNodeStore();
+
+ // TODO probably we should disable all observers, see OAK-5651
+ documentNodeStore.getBundlingConfigHandler().unregisterObserver();
+
closer.register(asCloseable(documentNodeStore));
return documentNodeStore;
}