Icinga DB: sync checkables along with their states first

`WorkQueue#ParallelFor(x, false, y)` will enqueue x's items in FIFO order,
so x has to start with host and service.
This commit is contained in:
Alexander A. Klimov 2021-09-30 12:48:35 +02:00 committed by Eric Lippmann
parent 848f1ae167
commit 07c8440fd2
1 changed files with 9 additions and 4 deletions

View File

@ -44,17 +44,22 @@ INITIALIZE_ONCE(&IcingaDB::ConfigStaticInitialize);
std::vector<Type::Ptr> IcingaDB::GetTypes() std::vector<Type::Ptr> IcingaDB::GetTypes()
{ {
// The initial config sync will queue the types in the following order.
return { return {
CheckCommand::TypeInstance, // Sync them first to get their states ASAP.
Comment::TypeInstance, Host::TypeInstance,
Service::TypeInstance,
// Then sync them for similar reasons.
Downtime::TypeInstance, Downtime::TypeInstance,
Comment::TypeInstance,
CheckCommand::TypeInstance,
Endpoint::TypeInstance, Endpoint::TypeInstance,
EventCommand::TypeInstance, EventCommand::TypeInstance,
Host::TypeInstance,
HostGroup::TypeInstance, HostGroup::TypeInstance,
Notification::TypeInstance, Notification::TypeInstance,
NotificationCommand::TypeInstance, NotificationCommand::TypeInstance,
Service::TypeInstance,
ServiceGroup::TypeInstance, ServiceGroup::TypeInstance,
TimePeriod::TypeInstance, TimePeriod::TypeInstance,
User::TypeInstance, User::TypeInstance,