Explore the latest product updates and best practices at our hybrid Checkmk Conference #12 from June 16-18, 2026 – Register here

Werk #19808: Piggyback hosts: do not remove services while source data is outdated

Component Checks & agents
Title Piggyback hosts: do not remove services while source data is outdated
Date May 15, 2026
Level Trivial Change
Class Bug Fix
Compatibility Compatible - no manual interaction needed
Checkmk versions & editions
2.6.0b1
Not yet released
Checkmk Community, Checkmk Pro, Checkmk Ultimate, Checkmk Cloud, Checkmk Ultimate MT
2.5.0p4 Checkmk Community, Checkmk Pro, Checkmk Ultimate, Checkmk Cloud, Checkmk Ultimate MT
2.4.0p30 Checkmk Community, Checkmk Pro, Checkmk Ultimate, Checkmk Cloud, Checkmk Ultimate MT

When a piggyback source went silent past the configured max_cache_age, the periodic service discovery on the receiving host treated the absence of fresh data as evidence that all services had vanished and removed them (if "Remove vanished services" was enabled). After the source returned, the services were not always re-added: the receiving host could end up DOWN (e.g. because its host check command depended on a service that had just been removed). And the autodiscovery cron silently skipped hosts that were not UP. This left the rediscovery queue file in place indefinitely.

With this change, outdated piggyback data is no longer interpreted as "services have vanished" on hosts that always expect piggyback data. The piggyback summarizer now reports state WARN ("Piggyback data outdated") when data is older than max_cache_age on a piggyback host. As a result, the Check_MK and Check_MK Discovery services on the affected host go WARN for the duration of the outage. And discovery does not act destructively on stale data. Services stay in autochecks until the host itself is removed (e.g. by Dynamic configuration) or the user runs a manual service discovery.

For hosts that do not always expect piggyback data the behavior is unchanged: outdated piggyback metadata still maps to state OK.

In addition, the autodiscovery cron worker no longer skips queued hosts that are not in the UP state. Such hosts were previously ignored silently, and their rediscovery queue file was never cleaned up. They are now processed normally: If data cannot be fetched, the existing error path removes the queue file after one cycle.

This reverts the explicit change introduced by werk 7249.

To the list of all Werks