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 "Arek Kita (JIRA)" <ji...@apache.org> on 2017/08/31 08:41:00 UTC

[jira] [Created] (OAK-6604) Oak Blob Cloud is not used by oak-upgrade

Arek Kita created OAK-6604:
------------------------------

             Summary: Oak Blob Cloud is not used by oak-upgrade
                 Key: OAK-6604
                 URL: https://issues.apache.org/jira/browse/OAK-6604
             Project: Jackrabbit Oak
          Issue Type: Bug
          Components: upgrade
    Affects Versions: 1.7.6
            Reporter: Arek Kita
            Assignee: Tomek Rękawek


Watching at oak-upgrade [pom.xml|https://github.com/apache/jackrabbit-oak/blob/da62f94b9f709835bb41fcc93cfe796841279e1f/oak-upgrade/pom.xml#L74-L78] file I had a clue that Oak Blob Cloud is used for migration.

However, I noticed that there is a wrong [import|https://github.com/apache/jackrabbit-oak/blob/da62f94b9f709835bb41fcc93cfe796841279e1f/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/blob/S3DataStoreFactory.java#L34] for {{S3DataStoreFactory}} file:
{code}
import org.apache.jackrabbit.oak.blob.cloud.aws.s3.S3DataStore;
{code}
and instead we should use:
{code}
import org.apache.jackrabbit.oak.blob.cloud.s3.S3DataStore;
{code}
...to be able to get the newest Oak Blob Cloud features for S3 and oak-upgrade.

Additionally the class {{org.apache.jackrabbit.core.data.CachingDataStore;}} should not be used anymore and it is not needed as the {{org.apache.jackrabbit.oak.blob.cloud.s3.S3DataStore}} itself provides caching capabilities.

This should help to get rid of the following problems when migrating S3 backed DataStores:
{code}
31.08.2017 08:16:13.886 *ERROR* [org.apache.jackrabbit.core.data.AbstractDataStore] AbstractDataStore.java:105  Failed to hash identifier using MAC (Message Authentication Code) algorithm.
java.lang.NullPointerException: null
        at org.apache.jackrabbit.core.data.CachingDataStore.getOrCreateReferenceKey(CachingDataStore.java:685)
        at org.apache.jackrabbit.core.data.AbstractDataStore.getReferenceKey(AbstractDataStore.java:141)
        at org.apache.jackrabbit.core.data.AbstractDataStore.getReferenceFromIdentifier(AbstractDataStore.java:100)
        at org.apache.jackrabbit.core.data.AbstractDataRecord.getReference(AbstractDataRecord.java:60)
        at org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore.getReference(DataStoreBlobStore.java:306)
        at org.apache.jackrabbit.oak.plugins.segment.SegmentBlob.getReference(SegmentBlob.java:132)
        at org.apache.jackrabbit.oak.segment.DefaultSegmentWriter$SegmentWriteOperation.writeBlob(DefaultSegmentWriter.java:573)
        at org.apache.jackrabbit.oak.segment.DefaultSegmentWriter$SegmentWriteOperation.writeProperty(DefaultSegmentWriter.java:697)
        at org.apache.jackrabbit.oak.segment.DefaultSegmentWriter$SegmentWriteOperation.writeProperty(DefaultSegmentWriter.java:683)
        at org.apache.jackrabbit.oak.segment.DefaultSegmentWriter$SegmentWriteOperation.writeNodeUncached(DefaultSegmentWriter.java:901)
        at org.apache.jackrabbit.oak.segment.DefaultSegmentWriter$SegmentWriteOperation.writeNode(DefaultSegmentWriter.java:805)
        at org.apache.jackrabbit.oak.segment.DefaultSegmentWriter$SegmentWriteOperation.writeNodeUncached(DefaultSegmentWriter.java:873)
        at org.apache.jackrabbit.oak.segment.DefaultSegmentWriter$SegmentWriteOperation.writeNode(DefaultSegmentWriter.java:805)
        at org.apache.jackrabbit.oak.segment.DefaultSegmentWriter$SegmentWriteOperation.writeNodeUncached(DefaultSegmentWriter.java:868)
        at org.apache.jackrabbit.oak.segment.DefaultSegmentWriter$SegmentWriteOperation.writeNode(DefaultSegmentWriter.java:805)
        at org.apache.jackrabbit.oak.segment.DefaultSegmentWriter$SegmentWriteOperation.writeNodeUncached(DefaultSegmentWriter.java:868)
        at org.apache.jackrabbit.oak.segment.DefaultSegmentWriter$SegmentWriteOperation.writeNode(DefaultSegmentWriter.java:805)
        at org.apache.jackrabbit.oak.segment.DefaultSegmentWriter$SegmentWriteOperation.writeNodeUncached(DefaultSegmentWriter.java:868)
        at org.apache.jackrabbit.oak.segment.DefaultSegmentWriter$SegmentWriteOperation.writeNode(DefaultSegmentWriter.java:805)
        at org.apache.jackrabbit.oak.segment.DefaultSegmentWriter$SegmentWriteOperation.writeNodeUncached(DefaultSegmentWriter.java:868)
        at org.apache.jackrabbit.oak.segment.DefaultSegmentWriter$SegmentWriteOperation.writeNode(DefaultSegmentWriter.java:805)
        at org.apache.jackrabbit.oak.segment.DefaultSegmentWriter$SegmentWriteOperation.access$800(DefaultSegmentWriter.java:258)
        at org.apache.jackrabbit.oak.segment.DefaultSegmentWriter$8.execute(DefaultSegmentWriter.java:247)
        at org.apache.jackrabbit.oak.segment.SegmentBufferWriterPool.execute(SegmentBufferWriterPool.java:101)
        at org.apache.jackrabbit.oak.segment.DefaultSegmentWriter.writeNode(DefaultSegmentWriter.java:243)
        at org.apache.jackrabbit.oak.segment.SegmentWriter.writeNode(SegmentWriter.java:141)
        at org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.getNodeState(SegmentNodeBuilder.java:132)
        at org.apache.jackrabbit.oak.segment.scheduler.Commit.hasChanges(Commit.java:102)
        at org.apache.jackrabbit.oak.segment.scheduler.LockBasedScheduler.execute(LockBasedScheduler.java:249)
        at org.apache.jackrabbit.oak.segment.scheduler.LockBasedScheduler.schedule(LockBasedScheduler.java:227)
        at org.apache.jackrabbit.oak.segment.SegmentNodeStore.merge(SegmentNodeStore.java:195)
        at org.apache.jackrabbit.oak.spi.state.ProxyNodeStore.merge(ProxyNodeStore.java:43)
        at org.apache.jackrabbit.oak.upgrade.RepositorySidegrade.migrateWithCheckpoints(RepositorySidegrade.java:374)
        at org.apache.jackrabbit.oak.upgrade.RepositorySidegrade.copyState(RepositorySidegrade.java:337)
        at org.apache.jackrabbit.oak.upgrade.RepositorySidegrade.copy(RepositorySidegrade.java:301)
        at org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.sidegrade(OakUpgrade.java:92)
        at org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.migrate(OakUpgrade.java:78)
...
{code}

/cc [~amjain]



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)