john tal created OAK-9774:
-----------------------------
Summary: Content migration from Jackrabbit to Oak - Issues - Needs
better docs
Key: OAK-9774
URL: https://issues.apache.org/jira/browse/OAK-9774
Project: Jackrabbit Oak
Issue Type: Improvement
Components: upgrade
Affects Versions: 1.42.0
Reporter: john tal
(above components list dropdown for creating issues needs oak-migration as an
entry).
Attempting to use oak-upgrade-1.42.0 against Jackrabbit 2.20.4 to Oak 1.42.0.
Have been following these resources:
https://jackrabbit.apache.org/oak/docs/migration.html
https://jackrabbit.apache.org/oak/docs/nodestore/document/rdb-document-store.html
I have created a new schema named Oak in Oracle 12.2c and created user oak_user
with grants to this schema.
When attempting to run the migration jar file I see various errors depending on
the options being used. Here is an example:
#!/bin/bash
java -jar ./oak-upgrade-1.42.0.jar \
./jcr-repo-lcl-1-draft \
--user=OAK_USER --password=something \
jdbc:oracle:thin:@localhost:1523:ORCL
Output is like this:
18.05.2022 14:38:49.621 [main] *INFO*
org.apache.jackrabbit.oak.segment.file.FileStore - Creating file store
FileStoreBuilder{version=1.42.0,
directory=./repo-admincentral-lcl-1-draft/segmentstore, blobStore=null,
binariesInlineThreshold=16512, maxFileSize=256, segmentCacheSize=256,
stringCacheSize=256, templateCacheSize=64, stringDeduplicationCacheSize=15000,
templateDeduplicationCacheSize=3000, nodeDeduplicationCacheSize=1048576,
memoryMapping=false, offHeapAccess=false,
gcOptions=SegmentGCOptions{paused=false, estimationDisabled=false,
gcSizeDeltaEstimation=1073741824, retryCount=5, forceTimeout=60,
retainedGenerations=2, gcType=FULL, compactorType=CHECKPOINT_COMPACTOR}}
18.05.2022 14:38:49.772 [main] *INFO*
org.apache.jackrabbit.oak.segment.file.ReadOnlyFileStore - TarMK ReadOnly
opened: ./repo-admincentral-lcl-1-draft/segmentstore (mmap=false)
Exception in thread "main" java.lang.IllegalStateException: Cannot start
readonly store from empty journal
at
org.apache.jackrabbit.oak.segment.file.ReadOnlyRevisions.bind(ReadOnlyRevisions.java:65)
at
org.apache.jackrabbit.oak.segment.file.ReadOnlyFileStore.bind(ReadOnlyFileStore.java:91)
at
org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.buildReadOnly(FileStoreBuilder.java:494)
at
org.apache.jackrabbit.oak.upgrade.cli.node.SegmentTarFactory.hasExternalBlobReferences(SegmentTarFactory.java:102)
at
org.apache.jackrabbit.oak.upgrade.cli.node.StoreFactory.hasExternalBlobReferences(StoreFactory.java:67)
at
org.apache.jackrabbit.oak.upgrade.cli.parser.StoreArguments.srcUsesEmbeddedDatastore(StoreArguments.java:115)
at
org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.migrate(OakUpgrade.java:64)
at
org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.main(OakUpgrade.java:48)
Currently the values in the repository.xml are from a good/working local JCR
repository. I assume that these values should be pointed to the existing
legacy RDBMS data schema and not to the new OAK schema? But I am not certain.
What would really help is a prototype set of Jackrabbit 2 repository test files
in the Oak git repository along with a specific scripted example that is known
to work against that prototype.
I am unable to determine what needs changing based on the current output I am
seeing.
I do not see much in the way of current documentation for Oak and/or migrations
that would help. Most of the doc examples for Oak seem to be from 2013. Other
videos on youtube do not seem to cover Oak very well.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)