Uploaded image for project: 'CloverDX'
  1. CloverDX
  2. CLO-18440

Hanging JDBC connection prevents any further job from finishing

    XMLWordPrintable

    Details

      Description

      When a JDBC connection hangs on java.net.SocketInputStream.socketRead0(), the core wants to free the graph which isn't possible in this situation and due to org.jetel.connection.jdbc.DBConnectionImpl.closeConnection() and org.jetel.connection.jdbc.DBConnectionImpl.getConnection() are synchronized ( ? ) it gets stuck. This, however, leads to a situation where the core is unable to free all subsequent jobs. Rendering the Worker inoperable.

       

      Possible solutions such as timeouts on the JDBC driver or JNDI pools might not be possible depending on the driver implementation.

       

      We should introduce a mechanism to assure that other jobs can still be freed.

       

      Details can be seen in the worker thread dump and all.log in some of the support packages in ticket 208215. For example in cloverdx-support-package_2020-02-06-06-48-49.zip.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              slamam Martin Slama
              Reporter:
              cholastal Lukas Cholasta
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: