[ https://issues.apache.org/jira/browse/OAK-6604?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Davide Giannella closed OAK-6604. --------------------------------- Bulk close for 1.7.7 > 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 > Fix For: 1.8, 1.7.7 > > > 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)