[
https://issues.apache.org/jira/browse/DERBY-6124?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13609816#comment-13609816
]
Dag H. Wanvik commented on DERBY-6124:
--------------------------------------
Using the program below to extract the generated (default UUID), I see it has
changed in 10.10.
I don't know this test well enough to say if it is expected that we read a
price object generated
pre 10.10 with 10.10.
Price UUID in 10.10: 1827170030595550895
Price UUID in 10.9: 0102726277789621992
Price UUID in 10.8: 0102726277789621992
-------------------------------------------------
package derby6124;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.ObjectStreamClass;
import org.apache.derbyTesting.functionTests.tests.lang.Price;
public class Derby6124 {
public static class PrintUIDs extends ObjectInputStream {
public PrintUIDs(InputStream in) throws IOException {
super(in);
}
@Override
protected ObjectStreamClass readClassDescriptor()
throws IOException, ClassNotFoundException {
ObjectStreamClass descriptor = super.readClassDescriptor();
System.out.println("name=" + descriptor.getName());
System.out.println("serialVersionUID=" +
descriptor.getSerialVersionUID());
return descriptor;
}
}
public static void main(String[] args) throws IOException,
ClassNotFoundException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
Price p = new Price();
oos.writeObject(p);
oos.close();
InputStream inn = new ByteArrayInputStream(baos.toByteArray());
ObjectInputStream ois = new PrintUIDs(inn);
ois.readObject();
}
}
> Marshalling error in JDBCDriverTest as part of CompatibilityTest
> ----------------------------------------------------------------
>
> Key: DERBY-6124
> URL: https://issues.apache.org/jira/browse/DERBY-6124
> Project: Derby
> Issue Type: Bug
> Components: Test
> Affects Versions: 10.10.1.1
> Environment: Java SE 1.7.0-b147, Solaris 11, x86
> --------- Derby Information --------
> [/localhome/tendril4.2/work/run/27358744/jars/sane/derby.jar] 10.10.1.1 -
> (1458268)
> [/localhome/tendril4.2/work/run/27358744/jars/sane/derbytools.jar] 10.10.1.1
> - (1458268)
> [/localhome/tendril4.2/work/run/27358744/jars/sane/derbynet.jar] 10.10.1.1 -
> (1458268)
> [/localhome/tendril4.2/work/run/27358744/jars/sane/derbyclient.jar] 10.10.1.1
> - (1458268)
> Reporter: Dag H. Wanvik
>
> Internal Oracle testing of RC 2 testing of 10.10 (Tendril Request 5574239
> Tendril Task 3614491 ):
> ********* Diff file
> derbyall/derbynetclientmats/DerbyNetClient/encodingTests/TestEnc.diff
> *** Start: TestEnc jdk1.7.0 DerbyNetClient derbynetclientmats:encodingTests
> 2013-03-21 14:55:59 ***
> derbyTesting.encoding can only be used with jdk15, skipping test
> *** End: TestEnc jdk1.7.0 DerbyNetClient derbynetclientmats:encodingTests
> 2013-03-21 14:55:59 ***
> ********* Diff file
> derbyall/derbynetclientmats/DerbyNetClient/derbynetclientmats/CompatibilityTest.diff
> *** Start: CompatibilityTest jdk1.7.0 DerbyNetClient
> derbynetclientmats:derbynetclientmats 2013-03-21 14:55:59 ***
> 0 add
> > .E.
> > There was 1 error:
> > 1)
> > testJDBCDriver(org.apache.derbyTesting.functionTests.tests.junitTests.compatibility.JDBCDriverTest)java.sql.SQLException:
> > Error marshalling or unmarshalling a user defined type:
> > org.apache.derbyTesting.functionTests.tests.lang.Price; local class
> > incompatible: stream classdesc serialVersionUID = 102726277789621992, local
> > class serialVersionUID = 1827170030595550895
> > Caused by: org.apache.derby.client.am.SqlException: Error marshalling or
> > unmarshalling a user defined type:
> > org.apache.derbyTesting.functionTests.tests.lang.Price; local class
> > incompatible: stream classdesc serialVersionUID = 102726277789621992, local
> > class serialVersionUID = 1827170030595550895
> > ... 22 more
> > Caused by: java.io.InvalidClassException:
> > org.apache.derbyTesting.functionTests.tests.lang.Price; local class
> > incompatible: stream classdesc serialVersionUID = 102726277789621992, local
> > class serialVersionUID = 1827170030595550895
> > ... 25 more
> > FAILURES!!!
> > Tests run: 2, Failures: 0, Errors: 1
> Test Failed.
> *** End: CompatibilityTest jdk1.7.0 DerbyNetClient
> derbynetclientmats:derbynetclientmats 2013-03-21
> 14:56:04 ***
> Looking at the Price class I see it doesn't have an explicit
> serialVersionUID.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira