Skip to content

Failed to load icinga_command "..." (DbObject.php:641)

this happens in the following scenario:

  • server has a "cmd-check-cpu-usage-windows" with guid "1"
  • basket renames the command with guid "1" to "cmd-check-cpu-usage-windows-legacy"
  • basket has a new command with guid "2" and name "cmd-check-cpu-usage-windows"

what happens during the restore of the basket is:

  • IcingaCommand::import gets called for guid "2" and name "cmd-check-cpu-usage-windows"
  • since there is a guid, it first tries to get the object via the guid. this fails, as this is a new command
  • the default icinga function tries to load the object from the database, only using the name "cmd-check-cpu-usage-windows". exists() returns true, so DbObject.loadFromDb() is eventually called on the object. this function uses DbObject.createWhere(), however createWhere tries using the guid in the select, but this obviously fails, leading to the error.