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 "Tomek Rękawek (JIRA)" <ji...@apache.org> on 2017/03/08 09:44:38 UTC

[jira] [Commented] (OAK-5905) Log the path of the binary property that is not available

    [ https://issues.apache.org/jira/browse/OAK-5905?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15900983#comment-15900983 ] 

Tomek Rękawek commented on OAK-5905:
------------------------------------

It seems this is quite a complex task, as reading the copied blob is being done in a lazy way. Eg. we can add a PropertyState containing missing blob into builder and the exception will be thrown only after invoking builder.getNodeState() (and at this point we don't know, which property was problematic).

As an alternative we can try to read each copied property, but this would affect the migration performance. Also it won't work for binaryless migration.

I can suggest a workaround: the attached groovy script (meant to be run with oak-run) display a list of all missing binaries.

> Log the path of the binary property that is not available
> ---------------------------------------------------------
>
>                 Key: OAK-5905
>                 URL: https://issues.apache.org/jira/browse/OAK-5905
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: upgrade
>            Reporter: Arek Kita
>            Assignee: Tomek Rękawek
>            Priority: Minor
>         Attachments: find-missing-blobs.groovy
>
>
> During sidegrade for (Oak) {{oak-upgrade}} throws an exception when the blob could not be found. However it is not meaningful enough and users cannot take actions on the below situations:
> {code:title=No info about the path for fatal state exception}
> IllegalStateException: Attempt to read external blob with blobId [X] without specyfing blobstore
> {code}
> or
> {code:title=No info about JCR path when the fatal repository exception occurred}
> RepositoryException: Failed to copy content
> {code}
> or
> {code:title=The warning without the path when \--ignore-missing-binaries is set}
> WARN org.apache.jackrabbit.oak.upgrade.cli.blob.SafeDataStoreBlobStore - No blob found for id [XXX]
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)