I think there is a problem with the restore method. Exception below happens
when I try to run a restore:

It's this method:
org.apache.jackrabbit.oak.plugins.backup.FileStoreRestore.restore

What happens is the Compactor.process always returns a SegmentNodeBuilder,
and then later in the DocumetNodeStore.merge this SegmentNodeBuilder object
is checked to see if it's a DocumentRootBuilder instance or not, and throws
an exception because it's not. I can't see how the restore can ever work
the way the code is written now, because this instanceof check will always
fail, right? ...or am I making some stupid mistake?

By the way when I look at the DocumentNodeStore.asDocumentRootBuilder I
believe something better can be done there. That's just not great code. Or
at least put documentation in there about why such a bad/ugly thing had to
be done.

java.lang.IllegalArgumentException: builder must be a
org.apache.jackrabbit.oak.plugins.document.DocumentRootBuilder
at
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore.asDocumentRootBuilder(DocumentNodeStore.java:2366)
at
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore.merge(DocumentNodeStore.java:1515)
at
org.apache.jackrabbit.oak.plugins.backup.FileStoreRestore.restore(FileStoreRestore.java:71)
at
org.apache.jackrabbit.oak.plugins.backup.FileStoreRestore.restore(FileStoreRestore.java:59)
at com.meta64.mobile.service.BackupService.restore(BackupService.java:106)
at
com.meta64.mobile.service.BackupService.runCommandLine(BackupService.java:66)
at com.meta64.mobile.BackupUtil.main(BackupUtil.java:31)

Best regards,
Clay Ferguson
[email protected]

Reply via email to