[
https://issues.apache.org/jira/browse/DERBY-4913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12964959#action_12964959
]
Kathey Marsden commented on DERBY-4913:
---------------------------------------
A few more notes. Attempting the upgrade with an isolated URLClassLoader did
not pop the issue, see attached ClassLoaderUpgrade.java for that attempt, nor
did it reproduce for someone trying to use the same environment/software here
in the US. (User seeing the problem is in Europe.) The Derby version being
used is 10.5.3.1 - (957402).
I have a copy of the the database after the problem occurs and it seems to be
in a half upgraded state. The database won't boot with 10.3 with the message
ERROR XSLAN: Database at C:<snip dbname> has an incompatib
le format with the current version of the software. The database was created
by or upgraded by version 10.5,
If I connect with 10.5 does not have the new update statistics procedure in
SYS.SYSALIASES.
Happily if I reconnect with 10.5 with upgrade=true, the update statistics
procedure is created.
I don't actually see where the cast might occur in
FormatIdInputStream.readObject , but do see this code and comment:
> 10.3 to 10.5 upgrade fails with ava.io.StreamCorruptedException:
> java.lang.ClassCastException: org.apache.derby.catalog.types.OldRoutineType
> incompatible with org.apache.derby.iapi.types.DataTypeDescriptor
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-4913
> URL: https://issues.apache.org/jira/browse/DERBY-4913
> Project: Derby
> Issue Type: Bug
> Components: Store
> Affects Versions: 10.5.3.0
> Reporter: Kathey Marsden
>
> I have a report from a user upgrading to 10.5 from 10.3 that they got the
> following error during upgrade. I don't have much in the way of details yet,
> but thought I would post an issue since I've never seen this error before. I
> do have the original 10.3 database and it seems to upgrade fine to 10.5 with
> ij.
> java.sql.SQLException: Failed to start database
> '/
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException
> (Unknown Source)
> at
> org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown
> Source)
> at
> org.apache.derby.impl.jdbc.Util.seeNextException(Unknown
> Source)
> at
> org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(Unknown
> Source)
> at
> org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown
> Source)
> at
> org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown
> Source)
> at
> org.apache.derby.impl.jdbc.EmbedConnection40.<init>(Unknown
> Source)
> at
> org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown
> Source)
> at org.apache.derby.jdbc.InternalDriver.connect(Unknown
> Source)
> at
> org.apache.derby.jdbc.EmbeddedDataSource.getConnection(Unknown
> Source)
> at
> org.apache.derby.jdbc.EmbedPooledConnection.openRealConnection(U
> nknown Source)
> at
> org.apache.derby.jdbc.EmbedPooledConnection.<init>(Unknown
> Source)
> at
> org.apache.derby.jdbc.EmbedPooledConnection40.<init>(Unknown
> Source)
> at
> org.apache.derby.jdbc.Driver40.getNewPooledConnection(Unknown
> Source)
> at
> org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource.createPoo
> ledConnection(Unknown Source)
> at
> org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource.getPooled
> Connection(Unknown Source)
> at
> <snip>
> Caused by: java.sql.SQLException: Failed to start database
> '<snip>759243AF2F8
> 4F1DE' with class loader <snip>.extclassloa...@3e955f6, see the next
> exception for details.
> at
> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(U
> nknown Source)
> at
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTran
> sportAcrossDRDA(Unknown Source)
> ... 41 more
> Caused by: java.sql.SQLException: Exception during restore
> of a serializable or SQLData object of class
> at
> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(U
> nknown Source)
> at
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTran
> sportAcrossDRDA(Unknown Source)
> at
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException
> (Unknown Source)
> at
> org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown
> Source)
> ... 38 more
> Caused by: ERROR XSDA8: Exception during restore of a
> serializable or SQLData object of class
> at
> org.apache.derby.iapi.error.StandardException.newException(Unkno
> wn Source)
> at
> org.apache.derby.impl.store.raw.data.StoredPage.readRecordFromAr
> ray(Unknown Source)
> at
> org.apache.derby.impl.store.raw.data.StoredPage.restoreRecordFro
> mSlot(Unknown Source)
> at
> org.apache.derby.impl.store.raw.data.BasePage.fetchFromSlot(Unkn
> own Source)
> at
> org.apache.derby.impl.store.access.conglomerate.GenericScanContr
> oller.fetchRows(Unknown Source)
> at
> org.apache.derby.impl.store.access.heap.HeapScan.fetchNext(Unkno
> wn Source)
> at
> org.apache.derby.impl.sql.catalog.DataDictionaryImpl.getDescript
> orViaHeap(Unknown Source)
> at
> org.apache.derby.impl.sql.catalog.DataDictionaryImpl.getAllSPSDe
> scriptors(Unknown Source)
> at
> org.apache.derby.impl.sql.catalog.DataDictionaryImpl.dropJDBCMet
> adataSPSes(Unknown Source)
> at
> org.apache.derby.impl.sql.catalog.DataDictionaryImpl.updateMetad
> ataSPSes(Unknown Source)
> at
> org.apache.derby.impl.sql.catalog.DD_Version.doFullUpgrade(Unkno
> wn Source)
> at
> org.apache.derby.impl.sql.catalog.DD_Version.upgradeIfNeeded(Unk
> nown Source)
> at
> org.apache.derby.impl.sql.catalog.DataDictionaryImpl.loadDiction
> aryTables(Unknown Source)
> at
> org.apache.derby.impl.sql.catalog.DataDictionaryImpl.boot(Unknow
> n Source)
> at
> org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown
> Source)
> at
> org.apache.derby.impl.services.monitor.TopService.bootModule(Unk
> nown Source)
> at
> org.apache.derby.impl.services.monitor.BaseMonitor.startModule(U
> nknown Source)
> at
> org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule
> (Unknown Source)
> at org.apache.derby.impl.db.BasicDatabase.boot(Unknown
> Source)
> at
> org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown
> Source)
> at
> org.apache.derby.impl.services.monitor.TopService.bootModule(Unk
> nown Source)
> at
> org.apache.derby.impl.services.monitor.BaseMonitor.bootService(U
> nknown Source)
> at
> org.apache.derby.impl.services.monitor.BaseMonitor.startProvider
> Service(Unknown Source)
> at
> org.apache.derby.impl.services.monitor.BaseMonitor.findProviderA
> ndStartService(Unknown Source)
> at
> org.apache.derby.impl.services.monitor.BaseMonitor.startPersiste
> ntService(Unknown Source)
> at
> org.apache.derby.iapi.services.monitor.Monitor.startPersistentSe
> rvice(Unknown Source)
> ... 38 more
> Caused by: java.io.StreamCorruptedException:
> java.lang.ClassCastException:
> org.apache.derby.catalog.types.OldRoutineType incompatible with
> org.apache.derby.iapi.types.DataTypeDescriptor
> at
> org.apache.derby.iapi.services.io.FormatIdInputStream.readObject
> (Unknown Source)
> at
> org.apache.derby.impl.sql.GenericResultDescription.readExternal(
> Unknown Source)
> at
> org.apache.derby.iapi.services.io.FormatIdInputStream.readObject
> (Unknown Source)
> at
> org.apache.derby.impl.sql.GenericStorablePreparedStatement.readE
> xternal(Unknown Source)
> at
> org.apache.derby.iapi.services.io.FormatIdInputStream.readObject
> (Unknown Source)
> at
> org.apache.derby.iapi.types.UserType.readExternal(Unknown
> Source)
> ... 63 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.