Derby
  1. Derby
  2. DERBY-4993

Nested connection not marked as closed after session level error

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Minor Minor
    • Resolution: Unresolved
    • Affects Version/s: 10.7.1.1
    • Fix Version/s: None
    • Component/s: JDBC
    • Urgency:
      Low

      Description

      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)

        Activity

        Dag H. Wanvik created issue -
        Rick Hillegas made changes -
        Field Original Value New Value
        Labels derby_triage10_8
        Rick Hillegas made changes -
        Urgency Low
        Hide
        Dag H. Wanvik added a comment -

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

        Show
        Dag H. Wanvik added a comment - When this is fixed, enable commented out lines in InterruptResilienceTest, search " DERBY-4993 " in that file to locate.
        Kathey Marsden made changes -
        Affects Version/s 10.7.1.1 [ 12315564 ]
        Hide
        Raghavendra Neelekani added a comment - - edited

        Hi Dag
        what does the above comment mean ? Has this issue been triaged ?

        Show
        Raghavendra Neelekani added a comment - - edited Hi Dag what does the above comment mean ? Has this issue been triaged ?
        Hide
        Dag H. Wanvik added a comment -

        It means that this issue forced us to disable part of another test, so when thi sis fixed, we should go back and improve that test as well. It still applies.

        Show
        Dag H. Wanvik added a comment - It means that this issue forced us to disable part of another test, so when thi sis fixed, we should go back and improve that test as well. It still applies.
        Gavin made changes -
        Workflow jira [ 12544170 ] Default workflow, editable Closed status [ 12796887 ]

          People

          • Assignee:
            Unassigned
            Reporter:
            Dag H. Wanvik
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:

              Development