[ 
https://issues.apache.org/jira/browse/JCR-1428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12573645#action_12573645
 ] 

Marcel Reutegger commented on JCR-1428:
---------------------------------------

Why are the consistency check method needed on RepositoryImpl? Consistency 
checking a large workspace is a heavy
weight operation that may have performance effects. Shouldn't such an operation 
only be allowed to an admin user (-> login required)?

> [...] problems with cache coherence and other such stuff.

why exactly is that an issue? the consistency check works on the persistence 
manager level, which does not know about transient changes?

> to clean up the versioning "workspace", pass "jcr:system" as workspace name

I would rather use the uuid of the jcr:system node and the method 
checkConsistency(String[] uuids, boolean)

> currently I have 3 for WorkspaceImpl and 3 for RepositoryImpl already - 
> checkConsistency(),
> checkConsistency(String[] uuids) and checkConsistency(String[] uuids, boolean 
> recursive)

checkConsistency(String[] uuids) is a convenience method, right? I'd remove 
that one.

> Add API for selective bundle consistency check (Jackrabbit-specific)
> --------------------------------------------------------------------
>
>                 Key: JCR-1428
>                 URL: https://issues.apache.org/jira/browse/JCR-1428
>             Project: Jackrabbit
>          Issue Type: New Feature
>          Components: jackrabbit-core
>            Reporter: Alexander Klimetschek
>             Fix For: 1.3.4
>
>
> Add a jackrabbit-specific API for doing a selective consistencyCheck, ie. on 
> single nodes. The current entire-workspace check can be very slow if there 
> workspace is large enough. Also it should be easy to write a tool to invoke 
> that feature programmatically rather than by configuration + restart (see 
> below).
> Existing Implementation:
> The current bundle consistencyCheck feature is enabled by setting a bundle PM 
> parameter and restarting Jackrabbit, it will then run upon startup (see 
> JCR-972 for the only issue regarding bundle consistency check). This check 
> looks for broken parent-child relationships, ie. it will remove any child 
> node entries that reference non-existing parent nodes. For non-existing 
> parent UUIDs and other problems in bundles it will log those.
> Outlook:
> An advanced consistencyCheck could also check for non-existing version nodes 
> and vice-versa (see JCR-630), but this is not the focus of this issue and 
> could be a later addition to the API.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to