[ 
http://issues.apache.org/jira/browse/DERBY-256?page=comments#action_12315923 ] 

Kathey Marsden commented on DERBY-256:
--------------------------------------

It is probably best to focus on why we are seeing the assertion on the server 
side.  I think the  server should be throwing an SQLException instead of this 
assertion.
com.ibm.db2j.protocol.BasicServices.Errors.AssertFailure: 
ASSERT FAILED connection is closed
        at 
com.ibm.db2j.protocol.BasicServices.SanityService.SanityManager.
ASSERT(SanityManager.java:124)
        at 
com.ibm.db2j.impl.Connectivity.JDBC.Local.LocalConnection.prepar
eCall(LocalConnection.java:887)
        at 

If the server does the right thing the client state should take care of itself 
I think
 

> ASSERTION when attempting to execute a statement after shutdown of database 
> with network Server
> -----------------------------------------------------------------------------------------------
>
>          Key: DERBY-256
>          URL: http://issues.apache.org/jira/browse/DERBY-256
>      Project: Derby
>         Type: Bug
>   Components: Network Server
>     Reporter: Kathey Marsden

>
> java -Dij.protocol=jdbc:derby:net://localhost:1527/ -Dij.user=I 
> -Dij.password=mine org.apache.derby.tools.ij
> -- create and connect to the databases
> ij> connect 'wombat;create=true';
> ij> connect 'myDB;create=true';
> -- shutdown database wombat
> -- ERROR 08006 expected
> ij(CONNECTION1)> connect 'wombat;shutdown=true';
> Connection number: 3.
> ERROR 08006: wombat?(server log XXXX)?atabase 'wombat' 
> shutdown.?08006.D
> com.ibm.db2.jcc.am.SqlException: wombat?(server log XXX) Database 'wombat' 
> shutdown.?08006.D
> ij(CONNECTION1)> show connections;
> CONNECTION0 -   
> jdbc:db2j:net://localhost:1527/wombat;create=true
> CONNECTION1* -  
> jdbc:db2j:net://localhost:1527/myDB;create=true
> * = current connection
> ij(CONNECTION1)> select * from sys.systables;
> -- system tables are returned
> 15 rows selected
> -- shutdown database myDB
> -- ERROR 08006 expected
> ij(CONNECTION1)> connect 'mydb;shutdown=true';
> Connection number: 4.
> ERROR 08006: mydb?(server 
> log:XXXX)Database 'mydb' 
> shutdown.?08006.D
> com.ibm.db2.jcc.am.SqlException: mydb?(server 
> log: XXX)Database 'mydb' 
> shutdown.?08006.D
> ij(CONNECTION1)> show connections;
> CONNECTION0 -   
> jdbc:db2j:net://localhost:1527/wombat;create=true
> CONNECTION1* -  
> jdbc:db2j:net://localhost:1527/myDB;create=true
> * = current connections
> ij(CONNECTION1)> select * from sys.systables;
> com.ibm.db2j.protocol.BasicServices.Errors.AssertFailure: 
> ASSERT FAILED connection is closed
>         at 
> com.ibm.db2j.protocol.BasicServices.SanityService.SanityManager.
> ASSERT(SanityManager.java:124)
>         at 
> com.ibm.db2j.impl.Connectivity.JDBC.Local.LocalConnection.prepar
> eCall(LocalConnection.java:887)
>         at 
> com.ibm.db2j.impl.Connectivity.JDBC.Local.LocalConnection.prepar
> eCall(LocalConnection.java:842)
>         at 
> com.ibm.db2j.drda.DRDAConnThread.parseSQLDTA_work(DRDAConnThread
> .java:3771)
>         at 
> com.ibm.db2j.drda.DRDAConnThread.parseSQLDTA(DRDAConnThread.java
> :3694)
>         at 
> com.ibm.db2j.drda.DRDAConnThread.parseEXCSQLSTTobjects(DRDAConnT
> hread.java:3576)
>         at 
> com.ibm.db2j.drda.DRDAConnThread.parseEXCSQLSTT(DRDAConnThread.j
> ava:3422)
>         at 
> com.ibm.db2j.drda.DRDAConnThread.processCommands(DRDAConnThread.
> java:848)
>         at 
> com.ibm.db2j.drda.DRDAConnThread.run(DRDAConnThread.java:235)
> agentThread[DRDAConnThread_4,5,main]
> ERROR 08003: DB2 SQL error: SQLCODE: -1, SQLSTATE: 08003, 
> SQLERRMC: (server log:C:\mark52\test\users\test\db2j.log)?No 
> current connection.?08003
> com.ibm.db2.jcc.am.SqlException: (server 
> log:C:\mark52\test\users\test\db2j.log)?No current 
> connection.?08003
>         at 
> com.ibm.db2.jcc.am.Statement.completeSqlca(Statement.java:1459)
>         at 
> com.ibm.db2.jcc.t4.T4StatementReply.parsePrepareError(T4Statemen
> tReply.java:594)
>         at 
> com.ibm.db2.jcc.t4.T4StatementReply.parsePRPSQLSTTreply(T4Statem
> entReply.java:141)
>         at 
> com.ibm.db2.jcc.t4.T4StatementReply.readPrepareDescribeOutput(T4
> StatementReply.java:42)
>         at 
> com.ibm.db2.jcc.t4.StatementReply.readPrepareDescribeOutput(Stat
> ementReply.java:31)
>         at 
> com.ibm.db2.jcc.t4.T4Statement.readPrepareDescribeOutput_(T4Stat
> ement.java:142)
>         at 
> com.ibm.db2.jcc.am.Statement.readPrepareDescribeOutput(Statement
> .java:1062)
>         at 
> com.ibm.db2.jcc.am.Statement.flowExecute(Statement.java:1702)
>         at 
> com.ibm.db2.jcc.am.Statement.executeX(Statement.java:666)
>         at 
> com.ibm.db2.jcc.am.Statement.execute(Statement.java:650)
>         at 
> com.ibm.db2j.tools.ijImpl.ij.executeImmediate(ij.java:261)
>         at 
> com.ibm.db2j.tools.ijImpl.utilMain.doCatch(utilMain.java:427)
>         at 
> com.ibm.db2j.tools.ijImpl.utilMain.go(utilMain.java:306)
>         at com.ibm.db2j.tools.ijImpl.Main.go(Main.java:202)
>         at 
> com.ibm.db2j.tools.ijImpl.Main.mainCore(Main.java:168)
>         at com.ibm.db2j.tools.ijImpl40.Main.main(Main.java:49)
>         at com.ibm.db2j.tools.ij.main(ij.java:51)
> ij(CONNECTION1)> 
> com.ibm.db2j.protocol.BasicServices.Errors.AssertFailure: 
> ASSERT FAILED connection is closed
>         at 
> com.ibm.db2j.protocol.BasicServices.SanityService.SanityManager.
> ASSERT(SanityManager.java:124)
>         at 
> com.ibm.db2j.impl.Connectivity.JDBC.Local.LocalConnection.prepar
> eCall(LocalConnection.java:887)
>         at 
> com.ibm.db2j.impl.Connectivity.JDBC.Local.LocalConnection.prepar
> eCall(LocalConnection.java:842)
>         at 
> com.ibm.db2j.drda.DRDAConnThread.parseSQLDTA_work(DRDAConnThread
> .java:3771)
>         at 
> com.ibm.db2j.drda.DRDAConnThread.parseSQLDTA(DRDAConnThread.java
> :3694)
>         at 
> com.ibm.db2j.drda.DRDAConnThread.parseEXCSQLSTTobjects(DRDAConnT
> hread.java:3576)
>         at 
> com.ibm.db2j.drda.DRDAConnThread.parseEXCSQLSTT(DRDAConnThread.j
> ava:3422)
>         at 
> com.ibm.db2j.drda.DRDAConnThread.processCommands(DRDAConnThread.
> java:848)
>         at 
> com.ibm.db2j.drda.DRDAConnThread.run(DRDAConnThread.java:235)

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

Reply via email to