For ad hoc testing, you could perhaps try to create a system/wombat
database manually with 10.2, and then run the JUnit tests against that
database with the allowPreReleaseUpgrade flag. Not sure if it works, but
it's worth a try.

This was a very excellent idea, Knut Anders. It seems to work well to uncover soft-upgrade problems. (Ref. DERBY-2931 and DERBY-2932).

If I run the BlobClob4BlobTest this way, I seem to get issues related to serialization. First failure is in testTriggersWithClobColumn. See below for the first part of the output in derby.log.

This might be related to DERBY-2931, and I do not think it is of much use to continue these soft upgrade experiments until there is a fix for DERBY-2931.

--
Øystein



DEBUG DebugByteTeeOutputStream OUTPUT: FormatableError:read error : java.io.EOFException FormatableError:class written : class org.apache.derby.impl.store.access.heap.Heap_v10_2FormatableError:read back as nullFormatableError:write id : 467
Exception trace:
java.io.EOFException
        at java.io.DataInputStream.readUnsignedByte(DataInputStream.java:273)
at org.apache.derby.iapi.services.io.CompressedNumber.readInt(CompressedNumber.java:127) at org.apache.derby.impl.store.access.conglomerate.ConglomerateUtil.readCollationIdArray(ConglomerateUtil.java:328) at org.apache.derby.impl.store.access.heap.Heap.localReadExternal(Heap.java:1219) at org.apache.derby.impl.store.access.heap.Heap.readExternal(Heap.java:1238) at org.apache.derby.iapi.services.io.FormatIdInputStream.readObject(FormatIdInputStream.java:126) at org.apache.derby.iapi.services.io.DebugByteTeeOutputStream.checkObject(DebugByteTeeOutputStream.java:61) at org.apache.derby.iapi.services.io.FormatIdOutputStream.writeObject(FormatIdOutputStream.java:151) at org.apache.derby.impl.sql.execute.WriteCursorConstantAction.writeExternal(WriteCursorConstantAction.java:264) at org.apache.derby.impl.sql.execute.InsertConstantAction.writeExternal(InsertConstantAction.java:215) at org.apache.derby.iapi.services.io.FormatIdOutputStream.writeObject(FormatIdOutputStream.java:165) at org.apache.derby.impl.sql.GenericStorablePreparedStatement.writeExternal(GenericStorablePreparedStatement.java:185) at org.apache.derby.iapi.services.io.FormatIdOutputStream.writeObject(FormatIdOutputStream.java:165)
        at org.apache.derby.iapi.types.UserType.writeExternal(UserType.java:286)
at org.apache.derby.impl.store.raw.data.StoredPage.logColumn(StoredPage.java:6233) at org.apache.derby.impl.store.raw.data.StoredPage.logRow(StoredPage.java:3953) at org.apache.derby.impl.store.raw.data.InsertOperation.writeOptionalDataToBuffer(InsertOperation.java:370) at org.apache.derby.impl.store.raw.data.InsertOperation.<init>(InsertOperation.java:115) at org.apache.derby.impl.store.raw.data.LoggableActions.actionInsert(LoggableActions.java:139) at org.apache.derby.impl.store.raw.data.BasePage.insertNoOverflow(BasePage.java:623) at org.apache.derby.impl.store.raw.data.BasePage.insertAtSlot(BasePage.java:544) at org.apache.derby.impl.store.raw.data.StoredPage.insertAtSlot(StoredPage.java:6713)
        at 
org.apache.derby.impl.store.raw.data.BasePage.insert(BasePage.java:650)
at org.apache.derby.impl.store.access.heap.HeapController.doInsert(HeapController.java:288) at org.apache.derby.impl.store.access.heap.HeapController.insertAndFetchLocation(HeapController.java:599) at org.apache.derby.impl.sql.catalog.TabInfoImpl.insertRowListImpl(TabInfoImpl.java:522) at org.apache.derby.impl.sql.catalog.TabInfoImpl.insertRow(TabInfoImpl.java:428) at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.addSPSDescriptor(DataDictionaryImpl.java:3362) at org.apache.derby.impl.sql.execute.CreateTriggerConstantAction.createSPS(CreateTriggerConstantAction.java:402) at org.apache.derby.impl.sql.execute.CreateTriggerConstantAction.executeConstantAction(CreateTriggerConstantAction.java:331) at org.apache.derby.impl.sql.execute.MiscResultSet.open(MiscResultSet.java:64) at org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:370) at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1203) at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:596) at org.apache.derby.impl.jdbc.EmbedStatement.executeUpdate(EmbedStatement.java:176) at org.apache.derbyTesting.functionTests.tests.jdbcapi.BlobClob4BlobTest.testTriggersWithClobColumn(BlobClob4BlobTest.java:273)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at junit.framework.TestCase.runTest(TestCase.java:164)
        at junit.framework.TestCase.runBare(TestCase.java:130)
        at 
org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:95)
        at junit.framework.TestResult$1.protect(TestResult.java:106)
        at junit.framework.TestResult.runProtected(TestResult.java:124)
        at junit.framework.TestResult.run(TestResult.java:109)
        at junit.framework.TestCase.run(TestCase.java:120)
        at junit.framework.TestSuite.runTest(TestSuite.java:230)
        at junit.framework.TestSuite.run(TestSuite.java:225)
        at junit.framework.TestSuite.runTest(TestSuite.java:230)
        at junit.framework.TestSuite.run(TestSuite.java:225)
        at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
        at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
        at junit.framework.TestResult.runProtected(TestResult.java:124)
        at junit.extensions.TestSetup.run(TestSetup.java:25)
        at 
org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
        at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
        at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
        at junit.framework.TestResult.runProtected(TestResult.java:124)
        at junit.extensions.TestSetup.run(TestSetup.java:25)
        at 
org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
        at junit.swingui.TestRunner$16.run(TestRunner.java:698)

Reply via email to