jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dominique Pfister (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCR-927) DatabaseJournal needs connection reestablishment logic
Date Thu, 24 May 2007 06:46:16 GMT

    [ https://issues.apache.org/jira/browse/JCR-927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12498509

Dominique Pfister commented on JCR-927:

Hi Jukka,

I'm currently processing Hemanta's input and adapting the DatabaseJournal class. Unconditionally
reestablishing the connection and retrying a statement if some error occurs does not make
sense in every circumstance: e.g. if a journal record is appended, the sequence of method
calls is as follows:

doLock(): will increment the global revision and lock the global revision table. 
append(): will use that incremented global revision to actually insert a record.

if a connection is dropped in between, retrying to insert a record WITHOUT the global revision
table still being locked may lead to inconsistencies. I therefore tend to apply some more
defensive strategy here.

With respect to the JNDI datasource feature, I'd like to include this feature directly inside
the DatabaseJournal class, where the user may either specify url/driver or datasource as arguments.
I prefer this to the separate class construct.

Kind regards

> DatabaseJournal needs connection reestablishment logic
> ------------------------------------------------------
>                 Key: JCR-927
>                 URL: https://issues.apache.org/jira/browse/JCR-927
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.3
>            Reporter: Hemanta Gupta
>            Priority: Minor
>         Attachments: JNDIDatabaseJournal.java
> The DB based file system and persistence manager implementations have logic for connection
reestablishment in case the DB server bounces while the repository is running, but the DB
based journal implementation doesn't.

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

View raw message