LoopingCall sleep interval does not account for duration of last tasks run

Bug #1079725 reported by Eoghan Glynn
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
oslo-incubator
Fix Released
Medium
Eoghan Glynn
Grizzly
Fix Released
Medium
Eoghan Glynn

Bug Description

The time spent executing tasks is not accounted for when determining how much time to sleep between task runs.

So for example if periodic_interval is set to N seconds, the actual time between tasks is of the order of:

       N + \Sigma duration(task_i)/(1 + ticks for task_i)

The more tasks with ticks=0, and the longer the task duration, the more we skew away from tasks executing on wall-clock boundaries.

As discussed on:

  http://lists.openstack.org/pipermail/openstack-dev/2012-November/002921.html

Eoghan Glynn (eglynn)
Changed in oslo:
assignee: nobody → Eoghan Glynn (eglynn)
status: New → In Progress
Mark McLoughlin (markmc)
Changed in oslo:
importance: Undecided → Medium
Mark McLoughlin (markmc)
Changed in oslo:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in oslo:
milestone: none → grizzly-2
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.