jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stefan Guggisberg (JIRA)" <j...@apache.org>
Subject [jira] Updated: (JCR-2197) Support configuration of timeout in Statements for Database implementations
Date Thu, 09 Jul 2009 07:00:15 GMT

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

Stefan Guggisberg updated JCR-2197:

    Component/s:     (was: locks)
       Priority: Minor  (was: Major)
     Issue Type: New Feature  (was: Bug)

adjusting issue type, priority and component

> Support configuration of timeout in Statements for Database implementations
> ---------------------------------------------------------------------------
>                 Key: JCR-2197
>                 URL: https://issues.apache.org/jira/browse/JCR-2197
>             Project: Jackrabbit Content Repository
>          Issue Type: New Feature
>          Components: jackrabbit-core
>    Affects Versions: 1.5.6
>            Reporter: Micah Whitacre
>            Priority: Minor
> Allowing for the configuration and usage of a timeout value for Statements[1] would provide
a means avoiding dead lock when a long running/stalled SQL Statement holds onto a lock preventing
other threads from acquiring locks.  
> The situation i have seen is where a JVM handling multiple request each in its own Thread
will at some points become stalled.  At the start of each thread processing the request it
will acquire its own session to the repository which stores all information in an an Oracle
database.  The issue we are seeing is that deadlock occurs because the SQL write statement
to the VersionManager is taking too long/stalling in the Oracle driver code.  Since it is
writing, the write lock is acquired and this prevents other threads from acquiring a session
because they get blocked trying to acquire the read lock of the Version Manager.
> If the SQL statement timed out after a certain time, this would alleviate the problem
of threads continually hanging and make use of the Jackrabbit auto reconnect functionality.
 The user of timeout is supported when using JNDI so this request would move it towards being
first class support on the database implementations.
> [1] - http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html#setQueryTimeout(int)
> [2] - http://forums.sun.com/thread.jspa?threadID=343023&start=30&tstart=0

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

View raw message