check dispatcher when invoke in case of pre-load failed
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ceilometer |
Fix Released
|
Low
|
Srinivas Sakhamuri |
Bug Description
In this test scenarios:
1. When collector service starting, if the db has not yet ready, it log an error info like 'Could not load 'database': could not connect to...' and the dispatcher_manager in it is null ([ ]) , but the service still goes on;
2. Because of no dispatcher, when recording the sample data from pollster or notification the error (RuntimeError: No ceilometer.
3. Later when the db is ready, but there are no mechanisms to check the db status and reconnect it. so the collector service keeps useless to record the data.
So I think we should add the checking function in DispatchedService , like:
if list(self.
return
if not list(self.
before invoking the dispatcher in Collector service, we should check if dispatcher exists.
Changed in ceilometer: | |
assignee: | nobody → ZhiQiang Fan (aji-zqfan) |
Changed in ceilometer: | |
assignee: | ZhiQiang Fan (aji-zqfan) → nobody |
status: | In Progress → New |
Changed in ceilometer: | |
milestone: | none → kilo-1 |
Changed in ceilometer: | |
status: | Fix Committed → Fix Released |
Changed in ceilometer: | |
milestone: | kilo-1 → 2015.1.0 |
this is probably not likely to occur but i guess if the db is down during collector startup, this could be useful.