You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Martijn Hendriks (JIRA)" <ji...@apache.org> on 2007/09/12 11:54:32 UTC

[jira] Updated: (JCR-1117) Bundle cache is not rolled back when the storage of a ChangeLog fails

     [ https://issues.apache.org/jira/browse/JCR-1117?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martijn Hendriks updated JCR-1117:
----------------------------------

    Attachment: JCR-1117.patch

Hi,

Here is a patch that clears the cache(s) of a caching persistence manager from the Update.cancel() method. The AbstractBundlepersistenceManager removes all given nodeIds from its bundle and missing cache.

Best regards,

Martijn

> Bundle cache is not rolled back when the storage of a ChangeLog fails
> ---------------------------------------------------------------------
>
>                 Key: JCR-1117
>                 URL: https://issues.apache.org/jira/browse/JCR-1117
>             Project: Jackrabbit
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.3
>            Reporter: Martijn Hendriks
>         Attachments: JCR-1117.patch
>
>
> The bundle cache in the bundle persistence managers is not restored to its old state when the AbstractBundlePersistenceManager.store(ChangeLog changeLog) method throws an exception. If, for instance, the storage of references fails then the AbstractBundlePersistenceManager.putBundle(NodePropBundle bundle) method has already been called for all modified bundles. Because of the connection rollback, the bundle cache will be out-of-sync with the persistent state. The SharedItemStateManager$Update.cancel() method uses these invalid bundle data.

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