Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.23.7, 2.0.4-alpha
-
None
-
Reviewed
Description
The history server can easily take many minutes to startup when there are a significant number of jobs to scan in the done directory. However the scanning of files is not the bottleneck, rather it's the heavy use of ConcurrentSkipListMap.size in HistoryFileManager.
ConcurrentSkipListMap.size is a very expensive operation, especially on maps with many entries, as it has to scan every entry to compute the size. We should avoid calling this method or at least minimize its use.