OffThreadEventJobRunner uses an unbounded ThreadPoolExecutor that can exhaust the DBCP

XMLWordPrintable

    • 12
    • Severity 2 - Major
    • 50

      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

            Assignee:
            Mohil Chandra
            Reporter:
            Delan Azabani (Inactive)
            Votes:
            17 Vote for this issue
            Watchers:
            25 Start watching this issue

              Created:
              Updated:
              Resolved: