db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dag H. Wanvik (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-4993) Nested connection not marked as closed after session level error
Date Wed, 11 May 2011 16:11:48 GMT

    [ https://issues.apache.org/jira/browse/DERBY-4993?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13031812#comment-13031812

Dag H. Wanvik commented on DERBY-4993:

When this is fixed, enable commented out lines in InterruptResilienceTest, search " DERBY-4993"
in that file to locate.

> Nested connection not marked as closed after session level error
> ----------------------------------------------------------------
>                 Key: DERBY-4993
>                 URL: https://issues.apache.org/jira/browse/DERBY-4993
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>            Reporter: Dag H. Wanvik
>            Priority: Minor
>              Labels: derby_triage10_8
> Inside a stored procedure, with a nested connection:
>  Connection c = DriverManager.getConnection("jdbc:default:connection");
> I see a session level error:
>   } catch (SQLException e) {
>       assertSQLState("expected CONN_INTERRUPT", "08000", e);
>       assertTrue(c.isClosed());
> However, the second assert above fails. Granted, we are still executing
> inside the stored routine, but the statement is now "dead"; the calling
> statment will see exception 40XC0 (dead statement) and the parent
> connection will then be marked as closed (as expected).
> But shouldn't the nested connection also be marked closed at this time?
> If I try to do something with the connection at this point, e.g. trying
> to prepare a new statement I see a NPE because the lcc is already gone:
> Caused by: java.lang.NullPointerException
> 	at org.apache.derby.impl.sql.compile.CompilerContextImpl.initRequiredPriv(CompilerContextImpl.java:717)
> 	at org.apache.derby.impl.sql.compile.CompilerContextImpl.<init>(CompilerContextImpl.java:702)
> 	at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.pushCompilerContext(GenericLanguageConnectionContext.java:2355)
> 	at org.apache.derby.impl.sql.GenericStatement.prepMinion(GenericStatement.java:236)
> 	at org.apache.derby.impl.sql.GenericStatement.prepare(GenericStatement.java:91)
> 	at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(GenericLanguageConnectionContext.java:1101)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:610)

This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

View raw message