jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stefan Guggisberg" <stefan.guggisb...@gmail.com>
Subject Re: [jira] Commented: (JCR-1428) Add API for selective bundle consistency check (Jackrabbit-specific)
Date Fri, 29 Feb 2008 12:11:19 GMT
On Fri, Feb 29, 2008 at 12:46 PM, Alexander Klimetschek (JIRA)
<jira@apache.org> wrote:
>     [ https://issues.apache.org/jira/browse/JCR-1428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12573693#action_12573693
>  Alexander Klimetschek commented on JCR-1428:
>  --------------------------------------------
> > That's why one should login first and do the consistency check on WorkspaceImpl
>  I see, that's why you proposed to use the uuid of the jcr:system node for checking the
versioning pm. Didn't see that there is one WorkspaceImpl per session, hence possibly multiple
WorkspaceImpl per actual workspace, and not exact on WorkspaceImpl per workspace (jackrabbit's
internal architecture is sometimes hard to follow, because of the mix of JCR API and internal
impl naming...).

huh? o.a.j.c.WorkspaceImpl implements the javax.jcr.Workspace
interface. seems pretty obvious to me ;)
what's confusing you WRT the naming?


>  The problem is that WorkspaceImpl has no access to the persistence managers stored in
RepositoryImpl (getWorkspaceInfo() and vMgr for versioning). I see only two solutions:
>  a) have a public method in RepositoryImpl so that WorkspaceImpl can access it ->
no restriction to admin user possible
>  b) introduce a special private interface that is passed to WorkspaceImpl in constructor
that allows access to PMs -> larger refactoring of central classes
>  Jukka and others, WDYT?
>  > 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.

View raw message