Hi,

the problem is most likely the first error you get: URIIndex not
valid? javax.jcr.NamespaceException: URI for index 11 not registered.
The following errors seem to occur because after failing to read it,
Jackrabbit tries to create that node
(cafebabe-cafe-babe-cafe-babecafebabe is the fixed uuid of the root
node), which gives the duplicate primary key error, because the node
is actually present in the database, but could not be read due to the
namespace problem.

How did you create the second cluster? Did you copy the
repository/namespaces and repository/nodetypes directories in the
repository directory to a fresh new cluster node? The namespaces
directory contains the namespace index, which must be the same on all
nodes. Clustering synchronizes them, but if you start with an empty
cluster node and your data contains custom namespaces (or nodetypes),
it might be required to copy these directories.

Regards,
Alex

On Mon, Nov 24, 2008 at 5:39 PM, Blanco Emanuele <[EMAIL PROTECTED]> wrote:
> Hi there,
>
> I tried to upgrade Jackrabbit to 1.4.6 in my web application. It seems 
> successful, but I still got some problems in cluster deploying. The first 
> node deploys OK, the second gives me lots of errors like:
>
> 17:35:01,381 INFO  [STDOUT] ERROR 24-11 17:35:01,376 
> (BundleDbPersistenceManager.java:loadBundle:1228)   failed to read bundle: 
> cafebabe-cafe-babe-cafe-babecafebabe: java.lang.IllegalStateException: 
> URIIndex not valid? javax.jcr.NamespaceException: URI for index 11 not 
> registered.
> 17:35:01,425 INFO  [STDOUT] ERROR 24-11 17:35:01,422 
> (ConnectionRecoveryManager.java:logException:447)   could not execute 
> statement, reason: ORA-00001: violata restrizione di unicità 
> (COOPTRACE.DEFAULT_BUNDLE_IDX)
> , state/code: 23000/1
> 17:35:01,434 INFO  [STDOUT] ERROR 24-11 17:35:01,429 
> (Oracle9PersistenceManager.java:storeBundle:127)    failed to write bundle: 
> deadbeef-cafe-babe-cafe-babecafebabe
> java.sql.SQLException: ORA-00001: violata restrizione di unicità 
> (COOPTRACE.DEFAULT_BUNDLE_IDX)
>
>        at 
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
>        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
>        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
>        at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745)
>        at 
> oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
>        at 
> oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:966)
>        at 
> oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1170)
>        at 
> oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3339)
>        at 
> oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3445)
>        at 
> org.apache.jackrabbit.core.persistence.bundle.util.ConnectionRecoveryManager.executeStmtInternal(ConnectionRecoveryManager.java:365)
>        at 
> org.apache.jackrabbit.core.persistence.bundle.util.ConnectionRecoveryManager.executeStmtInternal(ConnectionRecoveryManager.java:292)
>        at 
> org.apache.jackrabbit.core.persistence.bundle.util.ConnectionRecoveryManager.executeStmt(ConnectionRecoveryManager.java:257)
>        at 
> org.apache.jackrabbit.core.persistence.bundle.util.ConnectionRecoveryManager.executeStmt(ConnectionRecoveryManager.java:237)
>        at 
> org.apache.jackrabbit.core.persistence.bundle.Oracle9PersistenceManager.storeBundle(Oracle9PersistenceManager.java:124)
>        at 
> org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.putBundle(AbstractBundlePersistenceManager.java:703)
>        at 
> org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.store(AbstractBundlePersistenceManager.java:643)
>        at 
> org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager.store(BundleDbPersistenceManager.java:526)
>        at 
> org.apache.jackrabbit.core.state.SharedItemStateManager.createRootNodeState(SharedItemStateManager.java:1084)
>        at 
> org.apache.jackrabbit.core.state.SharedItemStateManager.<init>(SharedItemStateManager.java:194)
>        at 
> org.apache.jackrabbit.core.RepositoryImpl.createItemStateManager(RepositoryImpl.java:1201)
>        at 
> org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.doInitialize(RepositoryImpl.java:1753)
>        at 
> org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.initialize(RepositoryImpl.java:1724)
>        at 
> org.apache.jackrabbit.core.RepositoryImpl.initWorkspace(RepositoryImpl.java:576)
>        at 
> org.apache.jackrabbit.core.RepositoryImpl.initStartupWorkspaces(RepositoryImpl.java:415)
>        at 
> org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:305)
>        at 
> org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:557)
>        at 
> org.apache.jackrabbit.core.TransientRepository$2.getRepository(TransientRepository.java:245)
>        at 
> org.apache.jackrabbit.core.TransientRepository.startRepository(TransientRepository.java:265)
>        at 
> org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:333)
>        at 
> org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:363)
>        at 
> org.drools.brms.server.repository.BRMSRepositoryConfiguration.newSession(BRMSRepositoryConfiguration.java:91)
>
> and
>
> 17:35:02,054 INFO  [STDOUT] ERROR 24-11 17:35:02,049 
> (RepositoryImpl.java:initStartupWorkspaces:418)     Failed to initialize 
> workspace 'default'
> javax.jcr.RepositoryException: failed to instantiate shared item state 
> manager: failed to write bundle: deadbeef-cafe-babe-cafe-babecafebabe: failed 
> to write bundle: deadbeef-cafe-babe-cafe-babecafebabe
>        at 
> org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.doInitialize(RepositoryImpl.java:1771)
>        at 
> org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.initialize(RepositoryImpl.java:1724)
>        at 
> org.apache.jackrabbit.core.RepositoryImpl.initWorkspace(RepositoryImpl.java:576)
>        at 
> org.apache.jackrabbit.core.RepositoryImpl.initStartupWorkspaces(RepositoryImpl.java:415)
>        at 
> org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:305)
>        at 
> org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:557)
>        at 
> org.apache.jackrabbit.core.TransientRepository$2.getRepository(TransientRepository.java:245)
>        at 
> org.apache.jackrabbit.core.TransientRepository.startRepository(TransientRepository.java:265)
>        at 
> org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:333)
>        at 
> org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:363)
>        at 
> org.drools.brms.server.repository.BRMSRepositoryConfiguration.newSession(BRMSRepositoryConfiguration.java:91)
>        at 
> org.drools.brms.server.repository.BRMSRepositoryConfiguration.create(BRMSRepositoryConfiguration.java:58)
>
> The ORA error description is in Italian and it means that an integrity 
> violation has occurred (I guess a duplicate primary key).
>
> Any suggestions?
>
> Thank you.
>
> --
> Emanuele Blanco
>
>
> ________________________________
> --
> The information transmitted is intended for the person or entity to which it 
> is addressed and may contain confidential and/or privileged material. Any 
> review, retransmission, dissemination or other use of, or taking of any 
> action in reliance upon, this information by persons or entities other than 
> the intended recipient is prohibited. If you received this in error, please 
> contact the sender and delete the material from any computer.
>



-- 
Alexander Klimetschek
[EMAIL PROTECTED]

Reply via email to