jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Claudiu Muresan (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (JCR-3570) Jackrabbit cluster boostrap fails when using Oracle Persistence Manager
Date Tue, 16 Apr 2013 11:33:16 GMT

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

Claudiu Muresan updated JCR-3570:
---------------------------------

    Description: 
The 2 managed server instances are deployed jackrabbit-jca.rar archive using jboss cli.
repository.xml is available for both instances at locations:
(instance1 = server1 : /opt/kmp/jboss-7.1.0.Final/domain/servers/server1/data/jackrabbit)
(instance2 = server2 : /opt/kmp/jboss-7.1.0.Final/domain/servers/server2/data/jackrabbit)

The difference between the 2 repository xml files is given by the name of the cluster node.
server1 is known as node1 in Jackrabbit cluster
server2 is known as node2 in Jackrabbit cluster

JBoss starts the deployment of jackrabbit rar archive in the same time. Please note that Jackrabbit
tables/indexes have been created using an SQL script prior to jackrabbit deployment. No data
is added into the tables.

One of the managed server instances e.g. server1 is able to add the the implicit node type
definitions as bundles into version_bundle and default_bundle respectively. The problem is
that the other managed server is trying to also store the bundles and we have a referential
integrity error.

server2 instance fails with below exception:
12:14:11,502 ERROR [org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager]
(MSC service thread 1-3) FATAL error while writing the bundle: deadbeef-face-babe-cafe-babecafebabe:
java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (DBUSER_LOGAN.IDX_VERSION_BUNDLE_NODE_ID)
violated

        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445) [ojdbc6.jar:11.2.0.3.0]
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396) [ojdbc6.jar:11.2.0.3.0]
        at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879) [ojdbc6.jar:11.2.0.3.0]
        at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450) [ojdbc6.jar:11.2.0.3.0]
        at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192) [ojdbc6.jar:11.2.0.3.0]
        at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531) [ojdbc6.jar:11.2.0.3.0]
        at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
[ojdbc6.jar:11.2.0.3.0]
        at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1044)
[ojdbc6.jar:11.2.0.3.0]
        at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1329)
[ojdbc6.jar:11.2.0.3.0]
        at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3584)
[ojdbc6.jar:11.2.0.3.0]
        at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3685)
[ojdbc6.jar:11.2.0.3.0]
        at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1376)
[ojdbc6.jar:11.2.0.3.0]
        at org.jboss.jca.adapters.jdbc.CachedPreparedStatement.execute(CachedPreparedStatement.java:297)
        at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.execute(WrappedPreparedStatement.java:404)
        at org.apache.jackrabbit.core.util.db.ConnectionHelper.execute(ConnectionHelper.java:516)
[jackrabbit-core-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.core.util.db.ConnectionHelper.reallyUpdate(ConnectionHelper.java:344)
[jackrabbit-core-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.core.util.db.ConnectionHelper$2.call(ConnectionHelper.java:331)
[jackrabbit-core-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.core.util.db.ConnectionHelper$2.call(ConnectionHelper.java:327)
[jackrabbit-core-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.core.util.db.ConnectionHelper$RetryManager.doTry(ConnectionHelper.java:550)
[jackrabbit-core-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.core.util.db.ConnectionHelper.update(ConnectionHelper.java:327)
[jackrabbit-core-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.storeBundle(BundleDbPersistenceManager.java:950)
[jackrabbit-core-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.putBundle(AbstractBundlePersistenceManager.java:799)
[jackrabbit-core-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.storeInternal(AbstractBundlePersistenceManager.java:714)
[jackrabbit-core-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.store(AbstractBundlePersistenceManager.java:590)
[jackrabbit-core-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.store(BundleDbPersistenceManager.java:482)
[jackrabbit-core-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.core.version.InternalVersionManagerImpl.<init>(InternalVersionManagerImpl.java:174)
[jackrabbit-core-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.core.RepositoryImpl.createVersionManager(RepositoryImpl.java:492)
[jackrabbit-core-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:311)
[jackrabbit-core-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:589) [jackrabbit-core-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.jca.JCARepositoryManager.createNonTransientRepository(JCARepositoryManager.java:124)
[jackrabbit-jca-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.jca.JCARepositoryManager.createRepository(JCARepositoryManager.java:79)
[jackrabbit-jca-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.jca.JCAManagedConnectionFactory.createRepository(JCAManagedConnectionFactory.java:209)
[jackrabbit-jca-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.jca.JCAManagedConnectionFactory.createConnectionFactory(JCAManagedConnectionFactory.java:147)
[jackrabbit-jca-2.6.0.jar:2.6.0]

How can we overcome this situation?

Thanks.

  was:
The 2 managed server instances are deployed jackrabbit-jca.rar archive using jboss cli.
repository.xml is available for both instances at locations:
(instance1 = server1 : /opt/kmp/jboss-7.1.0.Final/domain/servers/server1/)
(instance2 = server2 : /opt/kmp/jboss-7.1.0.Final/domain/servers/server2/)

The difference between the 2 repository xml files is given by the name of the cluster node.
server1 is known as node1 in Jackrabbit cluster
server2 is known as node2 in Jackrabbit cluster

JBoss starts the deployment of jackrabbit rar archive in the same time. Please note that Jackrabbit
tables/indexes have been created using an SQL script prior to jackrabbit deployment. No data
is added into the tables.

One of the managed server instances e.g. server1 is able to add the the implicit node type
definitions as bundles into version_bundle and default_bundle respectively. The problem is
that the other managed server is trying to also store the bundles and we have a referential
integrity error.

server2 instance fails with below exception:
12:14:11,502 ERROR [org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager]
(MSC service thread 1-3) FATAL error while writing the bundle: deadbeef-face-babe-cafe-babecafebabe:
java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (DBUSER_LOGAN.IDX_VERSION_BUNDLE_NODE_ID)
violated

        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445) [ojdbc6.jar:11.2.0.3.0]
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396) [ojdbc6.jar:11.2.0.3.0]
        at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879) [ojdbc6.jar:11.2.0.3.0]
        at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450) [ojdbc6.jar:11.2.0.3.0]
        at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192) [ojdbc6.jar:11.2.0.3.0]
        at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531) [ojdbc6.jar:11.2.0.3.0]
        at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
[ojdbc6.jar:11.2.0.3.0]
        at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1044)
[ojdbc6.jar:11.2.0.3.0]
        at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1329)
[ojdbc6.jar:11.2.0.3.0]
        at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3584)
[ojdbc6.jar:11.2.0.3.0]
        at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3685)
[ojdbc6.jar:11.2.0.3.0]
        at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1376)
[ojdbc6.jar:11.2.0.3.0]
        at org.jboss.jca.adapters.jdbc.CachedPreparedStatement.execute(CachedPreparedStatement.java:297)
        at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.execute(WrappedPreparedStatement.java:404)
        at org.apache.jackrabbit.core.util.db.ConnectionHelper.execute(ConnectionHelper.java:516)
[jackrabbit-core-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.core.util.db.ConnectionHelper.reallyUpdate(ConnectionHelper.java:344)
[jackrabbit-core-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.core.util.db.ConnectionHelper$2.call(ConnectionHelper.java:331)
[jackrabbit-core-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.core.util.db.ConnectionHelper$2.call(ConnectionHelper.java:327)
[jackrabbit-core-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.core.util.db.ConnectionHelper$RetryManager.doTry(ConnectionHelper.java:550)
[jackrabbit-core-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.core.util.db.ConnectionHelper.update(ConnectionHelper.java:327)
[jackrabbit-core-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.storeBundle(BundleDbPersistenceManager.java:950)
[jackrabbit-core-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.putBundle(AbstractBundlePersistenceManager.java:799)
[jackrabbit-core-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.storeInternal(AbstractBundlePersistenceManager.java:714)
[jackrabbit-core-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.store(AbstractBundlePersistenceManager.java:590)
[jackrabbit-core-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.store(BundleDbPersistenceManager.java:482)
[jackrabbit-core-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.core.version.InternalVersionManagerImpl.<init>(InternalVersionManagerImpl.java:174)
[jackrabbit-core-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.core.RepositoryImpl.createVersionManager(RepositoryImpl.java:492)
[jackrabbit-core-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:311)
[jackrabbit-core-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:589) [jackrabbit-core-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.jca.JCARepositoryManager.createNonTransientRepository(JCARepositoryManager.java:124)
[jackrabbit-jca-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.jca.JCARepositoryManager.createRepository(JCARepositoryManager.java:79)
[jackrabbit-jca-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.jca.JCAManagedConnectionFactory.createRepository(JCAManagedConnectionFactory.java:209)
[jackrabbit-jca-2.6.0.jar:2.6.0]
        at org.apache.jackrabbit.jca.JCAManagedConnectionFactory.createConnectionFactory(JCAManagedConnectionFactory.java:147)
[jackrabbit-jca-2.6.0.jar:2.6.0]

How can we overcome this situation?

Thanks.

    
> Jackrabbit cluster boostrap fails when using Oracle Persistence Manager
> -----------------------------------------------------------------------
>
>                 Key: JCR-3570
>                 URL: https://issues.apache.org/jira/browse/JCR-3570
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: clustering
>    Affects Versions: 2.6
>         Environment: Linux jaguar 2.6.32-262.el6.x86_64 #1 SMP Sun Apr 8 18:38:00 EDT
2012 x86_64 x86_64 x86_64 GNU/Linux 
> Jackrabbit 2.6.0 JCA deployed on JBoss AS 7.1.0.final cluster configuration (domain setup
with 2 managed server instances on the same machine)
>            Reporter: Claudiu Muresan
>         Attachments: repository_server1.xml, repository_server2.xml
>
>
> The 2 managed server instances are deployed jackrabbit-jca.rar archive using jboss cli.
> repository.xml is available for both instances at locations:
> (instance1 = server1 : /opt/kmp/jboss-7.1.0.Final/domain/servers/server1/data/jackrabbit)
> (instance2 = server2 : /opt/kmp/jboss-7.1.0.Final/domain/servers/server2/data/jackrabbit)
> The difference between the 2 repository xml files is given by the name of the cluster
node.
> server1 is known as node1 in Jackrabbit cluster
> server2 is known as node2 in Jackrabbit cluster
> JBoss starts the deployment of jackrabbit rar archive in the same time. Please note that
Jackrabbit tables/indexes have been created using an SQL script prior to jackrabbit deployment.
No data is added into the tables.
> One of the managed server instances e.g. server1 is able to add the the implicit node
type definitions as bundles into version_bundle and default_bundle respectively. The problem
is that the other managed server is trying to also store the bundles and we have a referential
integrity error.
> server2 instance fails with below exception:
> 12:14:11,502 ERROR [org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager]
(MSC service thread 1-3) FATAL error while writing the bundle: deadbeef-face-babe-cafe-babecafebabe:
java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (DBUSER_LOGAN.IDX_VERSION_BUNDLE_NODE_ID)
violated
>         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445) [ojdbc6.jar:11.2.0.3.0]
>         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396) [ojdbc6.jar:11.2.0.3.0]
>         at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879) [ojdbc6.jar:11.2.0.3.0]
>         at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450) [ojdbc6.jar:11.2.0.3.0]
>         at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192) [ojdbc6.jar:11.2.0.3.0]
>         at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531) [ojdbc6.jar:11.2.0.3.0]
>         at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
[ojdbc6.jar:11.2.0.3.0]
>         at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1044)
[ojdbc6.jar:11.2.0.3.0]
>         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1329)
[ojdbc6.jar:11.2.0.3.0]
>         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3584)
[ojdbc6.jar:11.2.0.3.0]
>         at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3685)
[ojdbc6.jar:11.2.0.3.0]
>         at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1376)
[ojdbc6.jar:11.2.0.3.0]
>         at org.jboss.jca.adapters.jdbc.CachedPreparedStatement.execute(CachedPreparedStatement.java:297)
>         at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.execute(WrappedPreparedStatement.java:404)
>         at org.apache.jackrabbit.core.util.db.ConnectionHelper.execute(ConnectionHelper.java:516)
[jackrabbit-core-2.6.0.jar:2.6.0]
>         at org.apache.jackrabbit.core.util.db.ConnectionHelper.reallyUpdate(ConnectionHelper.java:344)
[jackrabbit-core-2.6.0.jar:2.6.0]
>         at org.apache.jackrabbit.core.util.db.ConnectionHelper$2.call(ConnectionHelper.java:331)
[jackrabbit-core-2.6.0.jar:2.6.0]
>         at org.apache.jackrabbit.core.util.db.ConnectionHelper$2.call(ConnectionHelper.java:327)
[jackrabbit-core-2.6.0.jar:2.6.0]
>         at org.apache.jackrabbit.core.util.db.ConnectionHelper$RetryManager.doTry(ConnectionHelper.java:550)
[jackrabbit-core-2.6.0.jar:2.6.0]
>         at org.apache.jackrabbit.core.util.db.ConnectionHelper.update(ConnectionHelper.java:327)
[jackrabbit-core-2.6.0.jar:2.6.0]
>         at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.storeBundle(BundleDbPersistenceManager.java:950)
[jackrabbit-core-2.6.0.jar:2.6.0]
>         at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.putBundle(AbstractBundlePersistenceManager.java:799)
[jackrabbit-core-2.6.0.jar:2.6.0]
>         at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.storeInternal(AbstractBundlePersistenceManager.java:714)
[jackrabbit-core-2.6.0.jar:2.6.0]
>         at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.store(AbstractBundlePersistenceManager.java:590)
[jackrabbit-core-2.6.0.jar:2.6.0]
>         at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.store(BundleDbPersistenceManager.java:482)
[jackrabbit-core-2.6.0.jar:2.6.0]
>         at org.apache.jackrabbit.core.version.InternalVersionManagerImpl.<init>(InternalVersionManagerImpl.java:174)
[jackrabbit-core-2.6.0.jar:2.6.0]
>         at org.apache.jackrabbit.core.RepositoryImpl.createVersionManager(RepositoryImpl.java:492)
[jackrabbit-core-2.6.0.jar:2.6.0]
>         at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:311)
[jackrabbit-core-2.6.0.jar:2.6.0]
>         at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:589)
[jackrabbit-core-2.6.0.jar:2.6.0]
>         at org.apache.jackrabbit.jca.JCARepositoryManager.createNonTransientRepository(JCARepositoryManager.java:124)
[jackrabbit-jca-2.6.0.jar:2.6.0]
>         at org.apache.jackrabbit.jca.JCARepositoryManager.createRepository(JCARepositoryManager.java:79)
[jackrabbit-jca-2.6.0.jar:2.6.0]
>         at org.apache.jackrabbit.jca.JCAManagedConnectionFactory.createRepository(JCAManagedConnectionFactory.java:209)
[jackrabbit-jca-2.6.0.jar:2.6.0]
>         at org.apache.jackrabbit.jca.JCAManagedConnectionFactory.createConnectionFactory(JCAManagedConnectionFactory.java:147)
[jackrabbit-jca-2.6.0.jar:2.6.0]
> How can we overcome this situation?
> Thanks.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message