jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Przemo Pakulski (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCR-1775) Transaction-safe versioning
Date Tue, 21 Oct 2008 09:43:44 GMT

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

Przemo Pakulski commented on JCR-1775:
--------------------------------------

I've created custom PM by simply overriding one method, to be able to track the sequence of
stored changes :

    public synchronized void store(ChangeLog changeLog) throws ItemStateException {
        super.store(changeLog);
        log.warn("STORE :" + getSchemaObjectPrefix() + ": " + changeLog);
    }

Then I run checkout/checkin operation on single node :

1) without transaction

checkout

11:12:17 WARN  STORE :D1V1R2_: {#addedStates=0, #modifiedStates=2, #deletedStates=0, #modifiedRefs=0}
11:12:17 WARN  STORE :VERSION_: {#addedStates=0, #modifiedStates=0, #deletedStates=0, #modifiedRefs=1}

checkin

11:12:17 WARN  STORE :VERSION_: {#addedStates=13, #modifiedStates=3, #deletedStates=0, #modifiedRefs=0}
11:12:17 WARN  STORE :D1V1R2_: {#addedStates=0, #modifiedStates=3, #deletedStates=0, #modifiedRefs=0}
11:12:17 WARN  STORE :VERSION_: {#addedStates=0, #modifiedStates=0, #deletedStates=0, #modifiedRefs=1}
11:12:17 WARN  STORE :VERSION_: {#addedStates=0, #modifiedStates=0, #deletedStates=0, #modifiedRefs=1}

2) checkout/checkin in transaction

11:13:57 WARN  STORE :D1V1R2_: {#addedStates=0, #modifiedStates=3, #deletedStates=0, #modifiedRefs=0}
11:13:57 WARN  STORE :VERSION_: {#addedStates=0, #modifiedStates=0, #deletedStates=0, #modifiedRefs=1}
11:13:57 WARN  STORE :VERSION_: {#addedStates=13, #modifiedStates=3, #deletedStates=0, #modifiedRefs=1}

Checkout/checkin in single JCR transaction still consist of 3 database level transactions,


Moreover when using transaction changes in version storage are persisted first before storing
changes in the workspace.
This is probably because of order of txResources in XASessionImpl class as described in JCR-631.



> Transaction-safe versioning
> ---------------------------
>
>                 Key: JCR-1775
>                 URL: https://issues.apache.org/jira/browse/JCR-1775
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: jackrabbit-core, transactions, versioning
>            Reporter: Jukka Zitting
>            Assignee: Jukka Zitting
>             Fix For: 1.5.0
>
>
> I've been working on a partial fix to JCR-630. Instead of implementing fully transactional
versioning (i.e. a checkin will disappear when a transactin is rolled back), I'm ensuring
that all versioning operations within a transaction will leave the version store in a consistent
state even if the transaction otherwise fails at any point.

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


Mime
View raw message