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

Reply via email to