|
[
Permlink
| « Hide
]
Mike Matrigali added a comment - 05/May/07 01:54 AM
problem also reproduces if only 10.0.2.1/lib exists in the directory path of jars to test.
when I reproduced with only 10.0 jars, derby.log had the following nested exception - it was not there when I ran the full
upgrade set of tests: ============= begin nested exception, level (1) ===========^M java.sql.SQLException: The conglomerate (-1) requested does not exist.^M at org.apache.derby.iapi.error.StandardException.newException(StandardExcept ion.java:305)^M at org.apache.derby.impl.store.access.RAMTransaction.findExistingConglomerat e(RAMTransaction.java:402)^M at org.apache.derby.impl.store.access.RAMTransaction.openConglomerate(RAMTra nsaction.java:1327)^M at org.apache.derby.impl.sql.catalog.TabInfoImpl.insertRowListImpl(TabInfoIm pl.java:481)^M at org.apache.derby.impl.sql.catalog.TabInfoImpl.insertRow(TabInfoImpl.java: 428)^M at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.addDescriptor(DataDi ctionaryImpl.java:1645)^M at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.addDescriptor(DataDi ctionaryImpl.java:1629)^M at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.createRoutinePermPub licDescriptor(DataDictionaryImpl.java:9906)^M at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.createRoutinePermPub licDescriptor(DataDictionaryImpl.java:9882)^M at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.create_10_1_system_p rocedures(DataDictionaryImpl.java:9970)^M at org.apache.derby.impl.sql.catalog.DD_Version.doFullUpgrade(DD_Version.jav a:369)^M at org.apache.derby.impl.sql.catalog.DD_Version.upgradeIfNeeded(DD_Version.j ava:210)^M at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.loadDictionaryTables (DataDictionaryImpl.java:6279)^M at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.boot(DataDictionaryI mpl.java:748)^M at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java: 1994)^M at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.j ava:291)^M at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonito r.java:546)^M at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor. java:419)^M at org.apache.derby.impl.db.BasicDatabase.boot(BasicDatabase.java:214)^M at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java: 1994)^M at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.j ava:291)^M at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonito r.java:1829)^M at org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(B aseMonitor.java:1695)^M at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartSe rvice(BaseMonitor.java:1575)^M at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService (BaseMonitor.java:994)^M at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService(Mon itor.java:542)^M at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnection.j ava:1796)^M at org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:32 6)^M at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Driver30.java:80)^M at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:209)^M at org.apache.derby.jdbc.EmbeddedDataSource.getConnection(EmbeddedDataSource .java:479)^M at org.apache.derby.jdbc.EmbeddedDataSource.getConnection(EmbeddedDataSource .java:423)^M at org.apache.derbyTesting.functionTests.tests.upgradeTests.PhaseChanger.set Up(PhaseChanger.java:94)^M at junit.extensions.TestSetup$1.protect(TestSetup.java:18)^M at junit.framework.TestResult.runProtected(TestResult.java:124)^M at junit.extensions.TestSetup.run(TestSetup.java:23)^M at junit.framework.TestSuite.runTest(TestSuite.java:208)^M at junit.framework.TestSuite.run(TestSuite.java:203)^M at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)^M at junit.extensions.TestSetup$1.protect(TestSetup.java:19)^M at junit.framework.TestResult.runProtected(TestResult.java:124)^M at junit.extensions.TestSetup.run(TestSetup.java:23)^M at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)^M at junit.extensions.TestSetup$1.protect(TestSetup.java:19)^M at junit.framework.TestResult.runProtected(TestResult.java:124)^M at junit.extensions.TestSetup.run(TestSetup.java:23)^M at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)^M at junit.extensions.TestSetup$1.protect(TestSetup.java:19)^M at junit.framework.TestResult.runProtected(TestResult.java:124)^M at junit.extensions.TestSetup.run(TestSetup.java:23)^M at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)^M at junit.extensions.TestSetup$1.protect(TestSetup.java:19)^M at junit.framework.TestResult.runProtected(TestResult.java:124)^M at junit.extensions.TestSetup.run(TestSetup.java:23)^M at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)^M at junit.extensions.TestSetup$1.protect(TestSetup.java:19)^M at junit.framework.TestResult.runProtected(TestResult.java:124)^M at junit.extensions.TestSetup.run(TestSetup.java:23)^M at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)^M at junit.extensions.TestSetup$1.protect(TestSetup.java:19)^M at junit.framework.TestResult.runProtected(TestResult.java:124)^M at junit.extensions.TestSetup.run(TestSetup.java:23)^M at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)^M at junit.extensions.TestSetup$1.protect(TestSetup.java:19)^M at junit.framework.TestResult.runProtected(TestResult.java:124)^M at junit.extensions.TestSetup.run(TestSetup.java:23)^M at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)^M at junit.extensions.TestSetup$1.protect(TestSetup.java:19)^M at junit.framework.TestResult.runProtected(TestResult.java:124)^M at junit.extensions.TestSetup.run(TestSetup.java:23)^M at junit.framework.TestSuite.runTest(TestSuite.java:208)^M at junit.framework.TestSuite.run(TestSuite.java:203)^M at junit.swingui.TestRunner$16.run(TestRunner.java:623)^M ============= end nested exception, level (1) ===========^M Cleanup action completed^M ----------------------------------------------------------------^M I only took a quick look at this, but it looks like the code to upgrade a 10.0 database first does a:
create_10_1_system_procedures() which after adding the system procedures does a call to: createRoutinePermPublicDescriptor(routine_uuid, tc); which try's to update a catalog I believe was added in 10.2, but that catalog is added later in the upgrade process. What is puzzling me is why this call is made in the create_10_1_system_procedures() and not in the create_10_2_system_procedures? checkin 535466 fixes this issue of upgrade 10.0 database to 10.3.
Upgrade of 10.0 to 10.3 was failing because system procedures were being created, and as part of the creation some updates were attempted to catalogs that were not created yet. Fixed in full upgrade by first creating the new system catalogs and then creating the procedures. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||