convoy docs
Search

KB-13 Suspected, not reproduced

A pruned object can come back in the ReleaseInventory as a health-only entry

Feature
Health assessment
convoy versions
0.9.0
Found
2026-11-01

Behavior#

The health loop reads the ReleaseInventory from its cache and reads the live objects. Then it writes the health fields of all entries with Server-Side Apply. The controller can remove an entry between the read and the write. In that case, the health write creates the entry again, with only the key and the health fields.

Effect#

The entry has no renderRef. The controller does not own it, so it cannot remove it. Healthy can stay Pending, and a rollout can stay Progressing.

Workaround#

None known.

Fix direction#

Write health only for entries that still exist, for example with a conditional update.

In the code

convoy v0.9.0