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)