You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Thomas Mueller (JIRA)" <ji...@apache.org> on 2008/06/23 10:40:45 UTC
[jira] Created: (JCR-1660) Consistency check / fix skips system
nodes
Consistency check / fix skips system nodes
------------------------------------------
Key: JCR-1660
URL: https://issues.apache.org/jira/browse/JCR-1660
Project: Jackrabbit
Issue Type: Bug
Components: jackrabbit-core
Reporter: Thomas Mueller
Priority: Minor
BundleDbPersistenceManager.checkBundleConsistency skips the consistency check and fix for some nodes:
// skip check for system nodes (root, system root, version storage, node types)
if (entry.getId().toString().endsWith("babecafebabe")) {
continue;
}
if (id.toString().endsWith("babecafebabe")) {
continue;
}
The reason is (as far as I understand) that some system nodes refer to child nodes in another workspace. But probably this check should be more specific so that real inconsistencies in the system nodes are still fixed.
Also, it is not nice to hardcode "babecafebabe" here: a constant should be used, or some other solution that does not rely on a fixed system node id.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (JCR-1660) Consistency check / fix skips system
nodes
Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/JCR-1660?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12607166#action_12607166 ]
Jukka Zitting commented on JCR-1660:
------------------------------------
Yes, the rationale for this is that the consistency check is done within the scope of a single persistence manager, so it's not possible to check references to content within the shared or virtual jcr:system subtrees.
We could make the consistency check (and fix) feature more generic by moving it above the PersistenceManager interface. This way it could cover the shared and virtual subtrees and work for all persistence managers, not only for those that it has specifically been written for. There'd probably be a performance hit, but I think we could live with that as the check only happens when explicitly asked for.
> Consistency check / fix skips system nodes
> ------------------------------------------
>
> Key: JCR-1660
> URL: https://issues.apache.org/jira/browse/JCR-1660
> Project: Jackrabbit
> Issue Type: Bug
> Components: jackrabbit-core
> Reporter: Thomas Mueller
> Priority: Minor
>
> BundleDbPersistenceManager.checkBundleConsistency skips the consistency check and fix for some nodes:
> // skip check for system nodes (root, system root, version storage, node types)
> if (entry.getId().toString().endsWith("babecafebabe")) {
> continue;
> }
> if (id.toString().endsWith("babecafebabe")) {
> continue;
> }
> The reason is (as far as I understand) that some system nodes refer to child nodes in another workspace. But probably this check should be more specific so that real inconsistencies in the system nodes are still fixed.
> Also, it is not nice to hardcode "babecafebabe" here: a constant should be used, or some other solution that does not rely on a fixed system node id.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.