From 5df14763a5a88b9549066da04dac13ae2ad73144 Mon Sep 17 00:00:00 2001 From: Gordon Chung Date: Thu, 27 Mar 2014 17:38:40 -0400 Subject: [PATCH] ensure dispatcher service is configured before rpc there is a rare race condition where when the mq contains notifications, the rpc service is configured before dispatcher so it may attempt to start sending messages to dispatcher before it has been configured. this patch ensures the dispatcher configuration is done before starting rpc service. Change-Id: If4c3a225e0bd5ae6eefad072b844af1ef5786f3f --- ceilometer/service.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ceilometer/service.py b/ceilometer/service.py index 8838483f53..2095068e89 100644 --- a/ceilometer/service.py +++ b/ceilometer/service.py @@ -107,7 +107,6 @@ class DispatchedService(object): DISPATCHER_NAMESPACE = 'ceilometer.dispatcher' def start(self): - super(DispatchedService, self).start() LOG.debug(_('loading dispatchers from %s'), self.DISPATCHER_NAMESPACE) self.dispatcher_manager = named.NamedExtensionManager( @@ -118,6 +117,8 @@ class DispatchedService(object): if not list(self.dispatcher_manager): LOG.warning(_('Failed to load any dispatchers for %s'), self.DISPATCHER_NAMESPACE) + # ensure dispatcher is configured before starting other services + super(DispatchedService, self).start() def get_workers(name):