summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@oath.com>2018-06-14 16:04:09 +0200
committerHåkon Hallingstad <hakon@oath.com>2018-06-14 16:04:09 +0200
commit60773276ccee8a0e181570a59873c3ace4b8dff5 (patch)
tree17ed47fbaaa73005c068109e492ca1ff33ae8c95 /CMakeLists.txt
parent8b47b122003f768978acdc22f572e8db31c1e36e (diff)
Only count time with no threads available
Found this edge-case with logAndDie in ThreadPoolProvider: - A Runnable executes and finishes at time T0 - No Runnables execute for a long time t > maxThreadExecutionTimeSeconds - At time T1 = T0 + t, a bursts of Runnables N > maxthreads arrives such that the (maxthreads+1) Runnable will be tried executed and rejected before any of the first maxthreads Runnables finish. - Then, logOrDie will be called immediately. That is, a sufficiently silent period followed by a burst of Runnables cause the process to die. This PR will make sure that the process dies only if maxThreadExecutionTimeSeconds seconds pass with no available threads, like the documentation says. I found this as I was looking for reasons why the Cluster Controller have had logAndDie problems. The CC has maxthreads of 10, and was getting bursts of 6-8 of a particular request type (reduced in PR 6207).
Diffstat (limited to 'CMakeLists.txt')
0 files changed, 0 insertions, 0 deletions