This is fairly ugly and sets an extension for the ConfigObjectUtility
delete handler to signal the OnActiveChanged handler inside the cluster
configsync to send a delete event to the other nodes.
refs #9927
if (object->IsActive()) {
/* Sync object config */
listener->UpdateConfigObject(object, cookie);
- } else {
+ } else if (!object->IsActive() && object->GetExtension("ConfigObjectDeleted")) {
/* Delete object */
listener->DeleteConfigObject(object, cookie);
}
ConfigItem::Ptr item = ConfigItem::GetByTypeAndName(type->GetName(), object->GetName());
try {
+ /* mark this object for cluster delete event */
+ object->SetExtension("ConfigObjectDeleted", true);
+ /* triggers signal for DB IDO and other interfaces */
object->Deactivate();
if (item)