db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rajesh Kartha (JIRA)" <derby-...@db.apache.org>
Subject [jira] Created: (DERBY-1831) 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.
Date Fri, 08 Sep 2006 02:13:22 GMT
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: http://issues.apache.org/jira/browse/DERBY-1831
             Project: Derby
          Issue Type: Bug
          Components: Network Server
    Affects Versions: 10.1.3.1, 10.1.3.0, 10.1.2.1, 10.1.1.0, 10.0.2.1, 10.0.2.0
         Environment: Any
            Reporter: Rajesh Kartha


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 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

        

Mime
View raw message