Jackrabbit Content Repository
  1. Jackrabbit Content Repository
  2. JCR-2226

Exceptions using DB based repository with WAS 6.1

    Details

    • Type: Bug Bug
    • Status: Patch Available
    • Priority: Minor Minor
    • Resolution: Unresolved
    • Affects Version/s: 1.5.4
    • Fix Version/s: None
    • Component/s: clustering
    • Labels:
      None

      Description

      We are using Jackrabbit 1.5.4 in a cluster deployment with DB based repository. Here is how the repository.xml looks like:
      <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
      <param name="driver" value="javax.naming.InitialContext"/>
      <param name="url" value="jdbc/dbjournal"/>
      <param name="databaseType" value="oracle"/>
      <param name="minRecordLength" value="1024"/>
      <param name="copyWhenReading" value="true"/>
      <param name="tablePrefix" value="JR_"/>
      <param name="maxConnections" value="10"/>
      </DataStore>
      Same datasource is being used for journal and persistence manager as well.

      With this deployment we keep getting the following exceptions in the WAS logs:

      org.apache.jackrabbit.core.cluster.ClusterNode:590) - Unable to create log entry.
      org.apache.jackrabbit.core.journal.JournalException: Unable to lock global revision table.
      (org.apache.jackrabbit.core.persistence.bundle.util.ConnectionRecoveryManager:453) - could not execute statement, reason: DSRA9110E: Statement is closed., state/code: null/0

      [7/21/09 20:08:18:247 CDT] 0000003c SystemOut O 2009-07-21 20:08:18,246 ERROR (org.apache.jackrabbit.core.persistence.db.OraclePersistenceManager:239) - failed to write property state: 4d80415d-d65b-4e01-93da-b16d15883058/

      {http://www.jcp.org/jcr/1.0}

      data

      com.ibm.websphere.ce.cm.ObjectClosedException: DSRA9110E: Statement is closed.

      This is a big blocker for our project since in some cases the document fails to upload in the db.

      1. JCR-2226.patch
        30 kB
        Stephan Huttenhuis

        Issue Links

          Activity

          Hide
          Martijn Hendriks added a comment -

          The " DSRA9110E: Statement is closed" problem is also mentioned in JCR-1349. The problem is caused by the fact that many Jackrabbit components cache and reuse PreparedStatements. I guess that disabeling this fixes your problem. Maybe we should make it configurable?

          Show
          Martijn Hendriks added a comment - The " DSRA9110E: Statement is closed" problem is also mentioned in JCR-1349 . The problem is caused by the fact that many Jackrabbit components cache and reuse PreparedStatements. I guess that disabeling this fixes your problem. Maybe we should make it configurable?
          Hide
          Jukka Zitting added a comment -

          Not a blocker as this only affects specific environments.

          As a workaround, you may want to consider configuring a direct database connection instead of the externally managed DataSource.

          The connection pooling work from JCR-1456 should nicely solve this issue.

          Show
          Jukka Zitting added a comment - Not a blocker as this only affects specific environments. As a workaround, you may want to consider configuring a direct database connection instead of the externally managed DataSource. The connection pooling work from JCR-1456 should nicely solve this issue.
          Hide
          Stephan Huttenhuis added a comment -

          I have created a patch based on the 1.6 branch (The JCR-1456 patch is only applicable to 2.0).

          The org.apache.jackrabbit.core.statementcache property can be set to disable statement cache in jackrabbit-core. By default statement cache is enabled and the cached PreparedStatements are reused. If statementCache is disabled then a new statement is created for each use.

          Show
          Stephan Huttenhuis added a comment - I have created a patch based on the 1.6 branch (The JCR-1456 patch is only applicable to 2.0). The org.apache.jackrabbit.core.statementcache property can be set to disable statement cache in jackrabbit-core. By default statement cache is enabled and the cached PreparedStatements are reused. If statementCache is disabled then a new statement is created for each use.

            People

            • Assignee:
              Unassigned
              Reporter:
              Rajiv Kasera
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:

                Development