Description
The oak-run recovery command fails with an exception when the repository was created
with a custom blob store. E.g. when blobs are stored on the file system instead of in the
database. The command complains about the missing blobs collection:
Exception in thread "main" java.lang.RuntimeException: MongoBlobStore instantiated read-only, but collection blobs not present at org.apache.jackrabbit.oak.plugins.document.mongo.MongoBlobStore.initBlobCollection(MongoBlobStore.java:210) at org.apache.jackrabbit.oak.plugins.document.mongo.MongoBlobStore.<init>(MongoBlobStore.java:113) at org.apache.jackrabbit.oak.plugins.document.mongo.MongoDocumentNodeStoreBuilderBase.lambda$setMongoDB$2(MongoDocumentNodeStoreBuilderBase.java:230) at com.google.common.base.Suppliers$MemoizingSupplier.get(Suppliers.java:125) at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBuilder.getBlobStore(DocumentNodeStoreBuilder.java:305) at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore.<init>(DocumentNodeStore.java:522) at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBuilder.build(DocumentNodeStoreBuilder.java:162) at org.apache.jackrabbit.oak.run.RecoveryCommand.execute(RecoveryCommand.java:63) at org.apache.jackrabbit.oak.run.Main.main(Main.java:49)
The check and the exception were introduced with OAK-8252. Those changes are not yet in
a released Oak version.
Attachments
Issue Links
- relates to
-
OAK-8252 MongoBlobStore instantiated from ReadOnly DocumentNodeStore should never modify persistence
- Closed