db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dag H. Wanvik (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-6124) Marshalling error in JDBCDriverTest as part of CompatibilityTest
Date Fri, 22 Mar 2013 02:25:15 GMT

    [ 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

Mime
View raw message