Details
-
Bug
-
Resolution: Fixed
-
Major
-
Cheshire-Cat
-
Triaged
-
1
-
No
Description
If a task managed by an ExecutorPool is scheduled to run immediately via wake(), it's wakeTime - the time it was desired to run - should be reset to "now" - given that's the new time for it to run. Waketime is then used to calculate the queue time of the task - how long the task has been waiting to run, which is exposed via cbstats scheduler.
However the FollyExecutorPool implementation fails to update the waketime when wake() is called; leaving at its previous value. This can give inaccurate values for queue time, as the the queue time is reported as zero (capped from a large negative value: now() - waketime.
Attachments
Issue Links
- relates to
-
MB-36956 Migrate to Facebook Folly executors for CPU & IO background tasks
- Closed