[
https://issues.apache.org/jira/browse/DERBY-6785?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14252508#comment-14252508
]
tariq rahiman commented on DERBY-6785:
--------------------------------------
Hi Mike,
To give a background, our tool is Aqua Data Studio available at
www.aquafold.com .We support the latest stable releases of Apache Derby and our
tool uses the latest JDBC Drivers to connect. We make use of derby.jar to
initiate the connections. We have QA databases running in older versions of
Apache Derby starting from 10.1.
Now, with 10.11.1.1 drivers we need to perform unit testing to make sure that
it works with all previous versions of Apache Derby, but the problem is it is
failing. I have 2 different Servers installed in 2 different machines and if
the I use the 10.10.2.0 jars to connect to 10.10.2.0 it works fine.
If i use 10.11.1.1 jars to 10.11.1.1 server it works fine.
The issue occurs only when i use the latest jars available with August 26, 2014
/ SVN 1616546 to connect to an older derby version.
We have seen the Error marshalling or unmarshalling exception in Derby 10.10.1,
but this was before the final release. Once Apache Derby came up with the
latest stable release, this issue was resolved.
See link here:
https://www.aquaclusters.com/app/home/project/public/aquadatastudio/issue/9381
Notes:
1.) I used 1.7.0_60-b19 and the problem still occurs.
2) you start a network server on target machines that accesses the database. If
this is what you are doing, what version of software is being used there.
Ans : I have 2 different apache derby versions at 2 different machines and I
start each using the ./startNetworkServer. Then I use Aqua Data Studio in a
different machine to connect to the 2 different servers by creating 2 different
server registrations. I use the latest JDBC drivers to connect.
Both connections are established successfully. I can create tables, execute
SELECT queries. But with 10.10.2.0 certain operations are limited, when it
tries to access the system catalog tables and gives exception.
3) you connect using derby in client/server mode from source machine using some
version of the software and get a problem in some case. I think you are saying
when client uses 10.11 software is the problem. In this case what version of
software is server on target machine using?
When client uses the 10.11 JDBC drivers to connect to 10.10.2 is when the
problem occurs.
> Latest JDBC driver from 10.11.1.1 gives exception when trying to connect to
> 10.10.2.0
> -------------------------------------------------------------------------------------
>
> Key: DERBY-6785
> URL: https://issues.apache.org/jira/browse/DERBY-6785
> Project: Derby
> Issue Type: Bug
> Components: JDBC
> Affects Versions: 10.10.2.0
> Environment: Win 7, Win 8, Mac OSX and Ubuntu 14.04
> Reporter: tariq rahiman
> Fix For: 10.11.1.3
>
> Attachments: derby.log, log.zip
>
>
> I have downloaded 10.11.1.1 and 10.10.2.0 from Apache Derby download and
> installed them in 2 separate machines.
> I have a GUI client that connects to the toursdb database of both versions
> using a JDBC connection that makes uses of derby.jar, derbyclient.jar and
> derbynet.jar
> I use the latest JDBC drivers from 10.11.1.1 to connect to both the database
> versions. The drivers I make use of are derby.jar, derbyclient.jar and
> derbynet.jar
> Connection to 10.10.2.0 is successful, but when I try to Alter/Drop Tables
> and Views, Create an Index or try to retrieve column information of tables, i
> get the below exception:
> The classpath settings for the two environments are identical and If i
> replace the derby.jar, derbyclient.jar and derbynet.jar of the latest release
> with the 10.10.2.0 ones, it works fine with 10.10.2.0.
> So my question is backward compatibility of the latest Apache Derby JDBC
> drivers. Can I use 10.11.1.1 jars to connect to 10.10.2.0 ?
> Exception:
> java.sql.SQLException: Error marshalling or unmarshalling a user defined
> type: org.apache.derby.catalog.types.TypeDescriptorImpl; local class
> incompatible: stream classdesc serialVersionUID = -5485274209578709396, local
> class serialVersionUID = -3812847726962874375
> at
> org.apache.derby.client.am.SQLExceptionFactory.getSQLException(Unknown Source)
> at org.apache.derby.client.am.SqlException.getSQLException(Unknown
> Source)
> at org.apache.derby.client.am.ClientResultSet.getString(Unknown Source)
> at \\...\\ .\\हिñçêČάй語简�?한\\.cꋦᚹ⣞ꊼ 8.a(Unknown Source)
> at com.common.ui.tree.eꏷꃒꆶᡰ.a(Unknown Source)
> at com.common.ui.tree.eꏷꃒꆶᡰ.wR(Unknown Source)
> at com.common.ui.tree.eꏷꃒꆶᡰ$1.process(Unknown Source)
> at com.common.ui.util.BackgroundThread.run(Unknown Source)
> Caused by: ERROR XN020: Error marshalling or unmarshalling a user defined
> type: org.apache.derby.catalog.types.TypeDescriptorImpl; local class
> incompatible: stream classdesc serialVersionUID = -5485274209578709396, local
> class serialVersionUID = -3812847726962874375
> at org.apache.derby.client.am.Cursor.get_UDT(Unknown Source)
> at org.apache.derby.client.am.Cursor.getString(Unknown Source)
> ... 6 more
> Caused by: java.io.InvalidClassException:
> org.apache.derby.catalog.types.TypeDescriptorImpl; local class incompatible:
> stream classdesc serialVersionUID = -5485274209578709396, local class
> serialVersionUID = -3812847726962874375
> at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:617)
> at
> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1622)
> at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
> at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
> ... 8 more
> Let me know if you need any more information
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)