KB-15 Suspected, not reproduced
A forced sync is used up by a reconcile that fails before the apply
Behavior#
convoy records a force request as handled at each reconcile that sees it. This includes a reconcile that fails before the dry run or the apply, for example because the source fetch fails.
Effect#
A /sync?force=true can have no effect. The next reconcile runs the dry run again and keeps a
Failed or RolledBack rollout.
Workaround#
Send the forced sync again after the transient error is gone.
Fix direction#
Record the force request as handled only after a reconcile that reached the apply.
In the code
convoy v0.9.0
internal/controller/release.(*Controller).syncHandlerinternal/controller/release/controller.go:199internal/controller/release.pendingForceSyncinternal/controller/release/controller.go:362