Uploaded image for project: 'Jira Service Management Data Center'
  1. Jira Service Management Data Center
  2. JSDSERVER-5732

OffThreadEventJobRunner uses an unbounded ThreadPoolExecutor that can exhaust the DBCP

      OffThreadEventJobRunner#startup() calls Executors#newCachedThreadPool(ThreadFactory), which constructs a ThreadPoolExecutor with a maximumPoolSize of Integer.MAX_VALUE. Each job execution thread consumes a connection from the DBCP most of the time it’s alive, so an unbounded number of these threads that grows too large can exhaust the DBCP.

      h/t dwlizlo

          Form Name

            [JSDSERVER-5732] OffThreadEventJobRunner uses an unbounded ThreadPoolExecutor that can exhaust the DBCP

            Released with JSD 4.3.0

            Mohil Chandra added a comment - Released with JSD 4.3.0

            davidyu2 It is mostly to do with a lot of activity (issue updates, comments etc.) on JSD issues.

            There were a few problems with the implementation of off-threading of processing. We have tried to fix the unbounded threads problem with JSD 4.3.0 release.

            Mohil Chandra added a comment - davidyu2 It is mostly to do with a lot of activity (issue updates, comments etc.) on JSD issues. There were a few problems with the implementation of off-threading of processing. We have tried to fix the unbounded threads problem with JSD 4.3.0 release.

            David Yu added a comment -

            I experienced a DB exhausting as well leading to degraded system performance. In the threads, I see that OffThreadEventJobRunner were in the hundreds for activity. Curious, what causes these kinds of spikes? Is it heavy bulk activity inside a JSD project?

            David Yu added a comment - I experienced a DB exhausting as well leading to degraded system performance. In the threads, I see that OffThreadEventJobRunner were in the hundreds for activity. Curious, what causes these kinds of spikes? Is it heavy bulk activity inside a JSD project?

            +1. We are able to easily trigger this problem and cause an outage by simply posting multiple comments to issues at the same time from multiple client machines. This will hurt especially bad on large JSD instances with heavy customer traffic.

            Janusz Gorycki added a comment - +1. We are able to easily trigger this problem and cause an outage by simply posting multiple comments to issues at the same time from multiple client machines. This will hurt especially bad on large JSD instances with heavy customer traffic.

            This has caused us two outages. I don't think Low priority is appropriate.

            Jason D Smith added a comment - This has caused us two outages. I don't think Low priority is appropriate.

              mchandra@atlassian.com Mohil Chandra
              dazabani Delan Azabani (Inactive)
              Affected customers:
              17 This affects my team
              Watchers:
              25 Start watching this issue

                Created:
                Updated:
                Resolved: