Service heartbeat with Memcached

Registered by Akira Yoshiyama on 2013-02-09

Today the heartbeat information of Nova services/nodes is maintained in the DB, while each service updates the corresponding record in the Service table periodically (by default -- every 10 seconds), specifying the timestamp of the last update. This mechanism is highly inefficient and does not scale. E.g., maintaining the heartbeat information for 1,000 nodes/services would require 100 DB updates per second (just for the heartbeat).
A much more lightweight heartbeat mechanism can be implemented using Memcached.

Blueprint information

Status:
Complete
Approver:
Vish Ishaya
Priority:
Low
Drafter:
None
Direction:
Approved
Assignee:
Akira Yoshiyama
Definition:
Approved
Series goal:
Accepted for grizzly
Implementation:
Implemented
Milestone target:
milestone icon 2013.1
Started by
Akira Yoshiyama on 2013-02-11
Completed by
Vish Ishaya on 2013-02-20

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/memcached-service-heartbeat,n,z

Addressed by: https://review.openstack.org/21574
    Added a service heartbeat driver using Memcached.

DEVELOPMENT STATUS: Ready to be merged
- Development is done.
   No more schedule to change/modify it.
- Reviews look done.
- Test coverage of the driver is very good.
   C0 coverage rate: 96.3% (2 lines are uncovered, see comments on the 9th patch set.)
   C1 coverage rate: 78.57% (3 conditions are uncovered.)
- There is less influence on the master.
   2 statements out of the driver wll be patched.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.