db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Francois Orsini (JIRA)" <derby-...@db.apache.org>
Subject [jira] Updated: (DERBY-790) SQLException used by the networked interface to Derby is not serializable
Date Tue, 26 Sep 2006 23:00:51 GMT
     [ http://issues.apache.org/jira/browse/DERBY-790?page=all ]

Francois Orsini updated DERBY-790:

    Attachment: DERBY-790-v1.stat

I have attached some patch to address DERBY-790.

I have added a new test as part of derbynet/SqlExceptionTest.java (junit test) and made sure
it ran fine under the derbynet and derbynetclient frameworks - I have also made sure that
the issue reported by DERBY-790 is indeed fixed by the change reflected in - This fix is much
simpler than it originally was and thanks to the changes into client/am/SqlException.java
which recursively create a SQLException object out of a SqlException one...The risk of this
fix is minimal.

Basically, I have made Sqlca SqlException attribute a transient one as it is mostly and only
required when the SQLException gets created through recursion before returning it to the client
- Sqlca does not need to be serialized, once the SQLException has been constructed out of
getSQLException() in SqlException.java; hence a client can go ahead and serialize it.

The cause of the NotSeriazableException was due to the fact that we stick the SqlException
object in the init 'cause' of the SQLException (Throwable), and during serialization, the
exception would be raised against Sqlca.

Cheers. --francois

> SQLException used by the networked interface to Derby is not serializable
> -------------------------------------------------------------------------
>                 Key: DERBY-790
>                 URL: http://issues.apache.org/jira/browse/DERBY-790
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC, Network Client, Network Server
>    Affects Versions:
>         Environment: Windows XP; WebLogic Server 9.0
>            Reporter: David Cabelus
>         Assigned To: Francois Orsini
>             Fix For:
>         Attachments: DERBY-790-v1.diff, DERBY-790-v1.stat
> When running RMI client tests with Derby,  many tests failed with the following message:
> Caused by: java.rmi.UnmarshalException: Failed to marshal error response: 
> 'org.apache.derby.client.am.SqlException: 'DROP TABLE' cannot be performed on 
> 'SDF014B7' because it does not exist.' because exception ; nested exception 
> is:
>         java.io.NotSerializableException: 
> org.apache.derby.client.net.NetSqlca
>         at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:191)
>         at 
> weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:176)
> This issue is a blocking issue for us.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message