On 19.7.16 6:55 , Chetan Mehrotra wrote:
Now currently in Oak we use following types of periodic jobs
1. Async indexing - (Cluster Singleton)
2. Document Store - Journal GC (Cluster Singleton)
3. Document Store - LastRevRecovery
4. Statistic Collection - For timeseries data update in ChangeProcessor,
SegmentNodeStore GCMonitor
Now should we use
A - one single pool for all of the above
B - use the pool only for 1-3. The default pool would be of 5. So even
if #2 #3 are running
it would not hamper #1
Assuming #4 is not that critical to run and may consist of lots of jobs.
My suggestion would be to go for #B
In general I would use a common single thread pool for short,
non-blocking tasks. For blocking or time intensive tasks I would go for
a dedicated thread pool. Even better I wouldn't waste threads for
blocking tasks but structure the overall computation in a non blocking
way. This is a different topic though...
Michael