jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Julian Reschke (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (JCR-3069) add optional consistency checks to test suite
Date Tue, 11 Oct 2011 14:55:12 GMT

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

Julian Reschke commented on JCR-3069:

First step of work-in-progress: 1181777

TODO: it would be cool if we could run a consistency check at the "end" of the test suite,
no matter how it was involved. Not sure how to do this with surefire (2.7 seems to have an
runOrder property which might help).
> add optional consistency checks to test suite
> ---------------------------------------------
>                 Key: JCR-3069
>                 URL: https://issues.apache.org/jira/browse/JCR-3069
>             Project: Jackrabbit Content Repository
>          Issue Type: Wish
>          Components: jackrabbit-core
>            Reporter: Julian Reschke
>            Assignee: Julian Reschke
>         Attachments: JCR-3069-extra-test.patch, JCR-3069.patch, JCR-3069.patch, JCR-3069.patch,
> We know that certain sequences of calls can cause the persistent state to become inconsistent,
such as by producing orphaned nodes.
> This usually does not manifest itself in tests failing. However, it can mean (silent)
data loss, and become visible at a different point of time in the form of nodes that can be
discovered using a query, but which can not compute their path.
> Checking the persistence layer's consistency is implementation specific. In Jackrabbit,
there is a consistency check call on the PersistenceManager that we could use. It just logs
a results and doesn't provide a checkable return value, but it would be a start.
> Proposed helper code (thx to Marcel for the proposal):
>      /**
>      * Runs a consistency check on the given workspace.
>      *
>      * @param name the name of the workspace to perform the consistency check.
>      * @param repo the repository instance.
>      * @throws RepositoryException if an error occurs while getting the
>      *                             workspace with the given name.
>      */
>     public static void checkConsistency(String name, RepositoryImpl repo)
>             throws RepositoryException {
>         RepositoryImpl.WorkspaceInfo wspInfo = repo.getWorkspaceInfo(name);
>         wspInfo.getPersistenceManager().checkConsistency(null, true, false);
>     }

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message