Claudiu Muresan created JCR-3570:
------------------------------------

             Summary: 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


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 
(KMP_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

Reply via email to