jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Dürig (JIRA) <j...@apache.org>
Subject [jira] [Commented] (OAK-5590) The check command doesn't do any check when "deep" option is not provided
Date Mon, 06 Feb 2017 15:03:41 GMT

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

Michael Dürig commented on OAK-5590:

bq. I noticed that when {{\--deep}} is not specified there is no check being performed

Ah see it now. 

bq. Would it make sense to consider the root node a candidate to be included in {{badPaths}}

AFAIKS this would trigger a full traversal. I think we should rather remove {{\--deep}} and
make full traversal the default. Only checking accessibility of the root nodes doesn't make
much sense. Even more so because the file store automatically rolls back on startup if a root
revisions is not accessible. In terms of not doing full traversals it is more interesting
to restrict by path (aka  OAK-5556). 

> The check command doesn't do any check when "deep" option is not provided
> -------------------------------------------------------------------------
>                 Key: OAK-5590
>                 URL: https://issues.apache.org/jira/browse/OAK-5590
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: run, segment-tar
>            Reporter: Andrei Dulceanu
>            Assignee: Andrei Dulceanu
>              Labels: tooling
>             Fix For: 1.8, 1.6.1
>         Attachments: OAK-5590.patch
> When the {{check}} command is used without {{--deep}} option, there is no check/traversal
being done against the repository.
> First relevant line in code is [1], where a check is supposed to happen, but due to a
mismatch between argument expected/argument provided, {{null}} is always returned without
checking anything. The method which should do the actual check [2] expects a set of paths
to be traversed, but this set is always empty. Therefore, relevant code for running the check
is never executed [3].
> [1] https://github.com/apache/jackrabbit-oak/blob/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyChecker.java#L120
> [2] https://github.com/apache/jackrabbit-oak/blob/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyChecker.java#L183
> [3] https://github.com/apache/jackrabbit-oak/blob/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyChecker.java#L194

This message was sent by Atlassian JIRA

View raw message