db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oystein Grovlen - Sun Norway <Oystein.Grov...@Sun.COM>
Subject Re: [jira] Commented: (DERBY-2923) Incorrect reading of nullable Blob/Clob columns during soft upgrade with client/server
Date Thu, 12 Jul 2007 16:31:37 GMT
> 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)

Mime
View raw message