[ 
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

Reply via email to