[
https://issues.apache.org/jira/browse/DERBY-1831?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kathey Marsden updated DERBY-1831:
----------------------------------
Issue & fix info: Repro attached (was: High Value Fix,Repro attached)
Taking off High Value Fix. I think this is somewhat hard to fix.
> After a database shutdown, Network Server should invalidate all active
> connections and an appropriate error message should be thrown at the client
> while using those connections later.
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-1831
> URL: https://issues.apache.org/jira/browse/DERBY-1831
> Project: Derby
> Issue Type: Bug
> Components: Network Server
> Affects Versions: 10.0.2.0, 10.0.2.1, 10.1.1.0, 10.1.2.1, 10.1.3.1
> Environment: Any
> Reporter: Rajesh Kartha
> Labels: derby_triage10_9
>
> Any connections currently open during the shutdown should be invalidated.
> This would indicate the correct info - that there are no open connections
> during the 'show connections' command and the subsequent 'set connection' and
> sql should fail with appropriate errors. It works as expected in embedded
> mode, but it is more important to behave accordingly in the case of Network
> Server where multiple users are connected, rather than throw an obscure error
> of "ERROR 58009: A network protocol error was encountered and the connection
> ............. implementation-specific condition for which there was no
> architected message "
> ij version 10.2
> ij> connect 'jdbc:derby://localhost:1527/testdb;create=true' as connA;
> ij> drop table t;
> 0 rows inserted/updated/deleted
> ij> create table t (id int);
> 0 rows inserted/updated/deleted
> ij> insert into t values (1);
> 1 row inserted/updated/deleted
> ij> insert into t values (2);
> 1 row inserted/updated/deleted
> ij> select * from t;
> ID
> -----------
> 1
> 2
> 2 rows selected
> --
> --Connection A is still open
> --
> ij> connect 'jdbc:derby://localhost:1527/testdb' as connB;
> ij(CONNB)> insert into t values (3);
> 1 row inserted/updated/deleted
> ij(CONNB)> select * from t;
> ID
> -----------
> 1
> 2
> 3
> 3 rows selected
> --
> -- Should error out saying there are open connections to the database
> --
> ij(CONNB)> connect 'jdbc:derby://localhost:1527/testdb;shutdown=true';
> ERROR 08006: DERBY SQL error: SQLCODE: -1, SQLSTATE: 08006, SQLERRMC:
> Database 'testdb' shutdown.
> ij(CONNB)> disconnect;
> --
> --Connection A is still open
> --
> ij> show connections;
> CONNA - jdbc:derby://localhost:1527/testdb;create=true
> No current connection
> --
> --Set connection to connection A
> --
> ij> set connection connA;
> --
> --Try a sql
> --
> ij> select * from t;
> ERROR 58009: A network protocol error was encountered and the connection has
> been terminated: the requested command encountered an unarchitected and
> implementation-specific condition for which there was no architected message
> ij>
> In embedded the ''shutdown=true' closes all active connections to the
> database.
> ij(CONNB)> connect 'jdbc:derby:testdb;shutdown=true';
> ERROR 08006: Database 'testdb' shutdown.
> ij(CONNB)> disconnect;
> --
> -- Shows no current connections after a shutdown
> --
> ij> show connections;
> No current connection
> ij> set connection connA;
> IJ ERROR: No connection exists with the name CONNA
> ij> select * from t;
> IJ ERROR: Unable to establish connection
> ij>
> Furthermore a related issue DERBY-1737 - need to check for existing
> connections before shutdown is marked as an improvement.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira