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: