You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Bryan Pendleton (JIRA)" <ji...@apache.org> on 2011/04/05 04:06:06 UTC

[jira] [Commented] (DERBY-5158) Incomprehensible error message on client if attempting rollback after database has been shut down.

    [ https://issues.apache.org/jira/browse/DERBY-5158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13015723#comment-13015723 ] 

Bryan Pendleton commented on DERBY-5158:
----------------------------------------

I find your reading of the documents reasonable, and the behavior of the system with
your change is clearly superior to the prior behavior. Having "No current connection"
appear in the stack trace (which your change does) should provide adequate information
for a motivated developer to figure out that they've attempted a rollback but are
not currently connected to the database, which seems like the basic goal of your fix.

So, +1 from me!


> Incomprehensible error message on client if attempting rollback after database has been shut down.
> --------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-5158
>                 URL: https://issues.apache.org/jira/browse/DERBY-5158
>             Project: Derby
>          Issue Type: Bug
>            Reporter: Dag H. Wanvik
>            Assignee: Dag H. Wanvik
>            Priority: Minor
>         Attachments: DERBY-5158a.diff, DERBY-5158a.stat, Derby5158Repro.java
>
>
> Cf the attached repro: when performing the rollback after the database has been shutdown, we see this error:
> There was 1 error:
> 1) testShutdown(org.apache.derbyTesting.functionTests.tests.store.Foo)java.sql.SQLNonTransientConnectionException: Network protocol exception: actual code point, 4,692, does not match expected code point, 9,224.  The connection has been terminated.
> 	at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:71)
> 	at org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:358)
> 	at org.apache.derby.client.am.Connection.rollback(Connection.java:659)
> 	at org.apache.derbyTesting.junit.BaseJDBCTestCase.rollback(BaseJDBCTestCase.java:387)
> 	at org.apache.derbyTesting.functionTests.tests.store.Foo.testShutdown(Foo.java:100)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:112)
> 	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
> 	at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
> 	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.extensions.TestSetup.run(TestSetup.java:25)
> Caused by: org.apache.derby.client.am.DisconnectException: Network protocol exception: actual code point, 4,692, does not match expected code point, 9,224.  The connection has been terminated.
> 	at org.apache.derby.client.net.Reply.parseLengthAndMatchCodePoint(Reply.java:1075)
> 	at org.apache.derby.client.net.NetConnectionReply.parseSQLCARD(NetConnectionReply.java:2572)
> 	at org.apache.derby.client.net.NetConnectionReply.parseRDBRLLBCKreply(NetConnectionReply.java:219)
> 	at org.apache.derby.client.net.NetConnectionReply.readLocalRollback(NetConnectionReply.java:141)
> 	at org.apache.derby.client.net.ConnectionReply.readLocalRollback(ConnectionReply.java:48)
> 	at org.apache.derby.client.net.NetConnection.readLocalRollback_(NetConnection.java:1515)
> 	at org.apache.derby.client.am.Connection.readRollback(Connection.java:707)
> 	at org.apache.derby.client.am.Connection.flowRollback(Connection.java:690)
> 	at org.apache.derby.client.am.Connection.rollback(Connection.java:655)
> 	... 29 more

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira