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-1825) DBDataStore doesn't support concurrent reads
Date Tue, 21 Oct 2008 13:13:44 GMT

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

Przemo Pakulski commented on JCR-1825:

Cannot see important 2 lines responsible for freeing resources are missing in 'copyWhenReading'

if (copyWhenReading) {
    File temp = moveToTempFile(result);
    result = new TempFileInputStream(temp);
  + DatabaseHelper.closeSilently(rs);
  + putBack(conn); 
    dbResources = new DbResources(result);

I do not follow changes in DbInputStream class, but I assume they are not so important.

> DBDataStore doesn't support concurrent reads
> --------------------------------------------
>                 Key: JCR-1825
>                 URL: https://issues.apache.org/jira/browse/JCR-1825
>             Project: Jackrabbit
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 1.5.0
>            Reporter: Przemo Pakulski
>             Fix For: 1.5.0
>         Attachments: patch.txt
> My understanding is that setting parameter copyWhenReading to true should allow concurrent
reads by spooling binary property to temporary file and free database resources (connection)
immediately to make it available for other threads.
> After applying patch for JCR-1388, DBDataStore doesn't support concurrent reads anymore,
resultSet is kept open and db connection is blocked until the stream is read and closed. When
copyWhenReading is set to true db connection should be released immediately, this is the reason
i guess why temporary file is used.

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

View raw message