glassfish
  1. glassfish
  2. GLASSFISH-18087

Flush connection pool fails to work when connection is leaked

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.1.2, 4.0
    • Fix Version/s: 3.1.2_b16, 4.0
    • Component/s: jdbc
    • Labels:
      None

      Description

      When connection leak tracing is ON and the pool is used by the application, in a case when connection is leaked by the application and flush-connection-pool is done to reset the connections in the pool, expected behavior is not seen.

      As per the flush connection pool description :

      "The flush-connection-pool subcommand resets a JDBC connection
      pool or a
      connector connection pool to its initial state. Any existing
      live
      connections are destroyed, which means that the transactions
      associated with
      these connections are lost. The subcommand then recreates the
      initial
      connections for the pool, and restores the pool to its steady
      pool size. "

      the active live connections in the connection pool must be destroyed.

      This should be fixed.

        Activity

        Hide
        Shalini added a comment -
        • What is the impact on the customer of the bug?

        Customers who use flush-connection-pool command while leak tracing is ON will not observe expected behavior. Hence live connections given to the application should be destroyed as per the flush connection pool feature.

        • How likely is it that a customer will see the bug and how serious is the bug?

        Users will notice this when flush command is used and connection leak tracing is ON.

        • Is it a regression? Does it meet other bug fix criteria (security, performance, etc.)?

        No, this is not a regression.

        • What is the cost/risk of fixing the bug?

        How risky is the fix? How much work is the fix? Is the fix complicated?

        Fix is not complicated. Fix is only in the areas of code where flush connection pool command is executed.

        • Is there an impact on documentation or message strings?

        No, it is already documented that the flush connection pool will destroy live connections.

        • Which tests should QA (re)run to verify the fix did not destabilize GlassFish?

        A flush-connection-pool command on a pool used by an application that has leaked a connection.

        • Which is the targeted build of 3.1.2 for this fix?

        b16.

        Show
        Shalini added a comment - What is the impact on the customer of the bug? Customers who use flush-connection-pool command while leak tracing is ON will not observe expected behavior. Hence live connections given to the application should be destroyed as per the flush connection pool feature. How likely is it that a customer will see the bug and how serious is the bug? Users will notice this when flush command is used and connection leak tracing is ON. Is it a regression? Does it meet other bug fix criteria (security, performance, etc.)? No, this is not a regression. What is the cost/risk of fixing the bug? How risky is the fix? How much work is the fix? Is the fix complicated? Fix is not complicated. Fix is only in the areas of code where flush connection pool command is executed. Is there an impact on documentation or message strings? No, it is already documented that the flush connection pool will destroy live connections. Which tests should QA (re)run to verify the fix did not destabilize GlassFish? A flush-connection-pool command on a pool used by an application that has leaked a connection. Which is the targeted build of 3.1.2 for this fix? b16.
        Hide
        Shalini added a comment -

        Modifying the flush connection pool behavior to remove all the active live connections from a pool when this operation is done. As a part of this operation, all the physical connection handles to the db are destroyed.

        Fixed in trunk

        Sending appserver/connectors/connectors-runtime/src/main/java/com/sun/enterprise/resource/pool/ConnectionPool.java
        Transmitting file data .
        Committed revision 51762.

        Fixed in 3.1.2 branch.

        Sending connectors/connectors-runtime/src/main/java/com/sun/enterprise/resource/pool/ConnectionPool.java
        Transmitting file data .
        Committed revision 51765.

        Show
        Shalini added a comment - Modifying the flush connection pool behavior to remove all the active live connections from a pool when this operation is done. As a part of this operation, all the physical connection handles to the db are destroyed. Fixed in trunk Sending appserver/connectors/connectors-runtime/src/main/java/com/sun/enterprise/resource/pool/ConnectionPool.java Transmitting file data . Committed revision 51762. Fixed in 3.1.2 branch. Sending connectors/connectors-runtime/src/main/java/com/sun/enterprise/resource/pool/ConnectionPool.java Transmitting file data . Committed revision 51765.

          People

          • Assignee:
            Shalini
            Reporter:
            Shalini
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: