You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "john tal (Jira)" <ji...@apache.org> on 2022/05/18 18:55:00 UTC

[jira] [Updated] (OAK-9774) Content migration from Jackrabbit to Oak - Issues - Needs better docs

     [ https://issues.apache.org/jira/browse/OAK-9774?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

john tal updated OAK-9774:
--------------------------
    Description: 
(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 topics like migrations very well.





  was:
(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.






> 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
>            Priority: Major
>
> (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 topics like migrations very well.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)