Hi!
I'm using an existing database (the existing database is created with
Jackrabbit 1.6.1).
And with MySQL I meant that I tried the update using MySQL as the datasource
for Jackrabbit and then everything went fine.
I also tried a clean Liferay (6.0) install with Jackrabbit & Oracle 11g
setup and this is the error I get:
Caused by: org.apache.jackrabbit.core.state.ItemStateException: failed to
write bundle: deadbeef-face-babe-cafe-babecafebabe
at
org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager.storeBundle(BundleDbPersistenceManager.java:1192)
at
org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.putBundle(AbstractBundlePersistenceManager.java:668)
at
org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.storeInternal(AbstractBundlePersistenceManager.java:610)
at
org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.store(AbstractBundlePersistenceManager.java:487)
at
org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager.store(BundleDbPersistenceManager.java:561)
... 246 more
Caused by: java.lang.IllegalStateException: Unable to insert index for
string: versionStorage
at
org.apache.jackrabbit.core.persistence.bundle.NGKDbNameIndex.insertString(NGKDbNameIndex.java:63)
at
org.apache.jackrabbit.core.persistence.bundle.DbNameIndex.stringToIndex(DbNameIndex.java:98)
at
org.apache.jackrabbit.core.persistence.util.BundleBinding.writeBundle(BundleBinding.java:266)
at
org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager.storeBundle(BundleDbPersistenceManager.java:1183)
... 250 more
Caused by: java.sql.SQLException: ORA-01400: kohteeseen
("TEST"."J_V_PM_NAMES"."ID") cannot insert NULL into (string)
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:743)
at
oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
at
oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:955)
at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1168)
at
oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3316)
at
oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3422)
at
org.apache.jackrabbit.core.persistence.bundle.ConnectionRecoveryManager.executeStmtInternal(ConnectionRecoveryManager.java:371)
at
org.apache.jackrabbit.core.persistence.bundle.ConnectionRecoveryManager.executeStmtInternal(ConnectionRecoveryManager.java:298)
at
org.apache.jackrabbit.core.persistence.bundle.ConnectionRecoveryManager.executeStmt(ConnectionRecoveryManager.java:261)
at
org.apache.jackrabbit.core.persistence.bundle.ConnectionRecoveryManager.executeStmt(ConnectionRecoveryManager.java:239)
at
org.apache.jackrabbit.core.persistence.bundle.NGKDbNameIndex.insertString(NGKDbNameIndex.java:61)
I've debugged Jackrabbit code a bit and the "ORA-00955: name is already used
by an existing object"- error seems to be caused by
org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager-
class and it's checkTablesExist()- method. Could this happen because the
Oracle credentials I'm using don't have enough priviliges so that the
checkTablesExist()- method could function correctly?
BTW here is a link to my repository.xml file:
http://dl.dropbox.com/u/13289522/repository.xml
--
View this message in context:
http://jackrabbit.510166.n4.nabble.com/Jackrabbit-error-when-updating-from-1-6-1-2-1-2-tp3343157p3345376.html
Sent from the Jackrabbit - Users mailing list archive at Nabble.com.