[ 
https://issues.apache.org/jira/browse/DERBY-5158?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dag H. Wanvik updated DERBY-5158:
---------------------------------

    Attachment: DERBY-5158b.stat
                DERBY-5158b.diff

Uploading a new version of the patch, which improves the test a bit: we now 
make sure to do some work before closing down the database, since otherwise the 
client short circuits the commit (if it knows nothing happened yet on this 
connection). Rollback does not do this, cf. DERBY-4653.(I did not notice this 
optimization in the first version, but saw it when instrumenting it for 
verification.)

I did not move the test into ShutdownDatabaseTest, because that test does not 
yet run with client/server due to DERBY-2477. Linked this issue to that also.


> 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, DERBY-5158b.diff, 
> DERBY-5158b.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