Skip to content

Feature flag for fail fast behavior for Managed Dependent Resources #1107

@csviri

Description

@csviri

Currently the behavior in managed dependent resource is the following:
We reconcile all the dependent resources mentioned in the @Dependent annotation in order. So calling reconcile(...) on all dependents, even if one of the fails. If one fails eventually we will throw the exception, but before all others are reconciled.

This is reasonable if the resources are independent of each other. If there is a problem with one that will be retried again (as the result of the exception , that triggers eventually a new reconciliation).

However this behavior is not so nice, if those dependent are interconnected, thus depend on each other. If one fails, and an other depends on it, the "other" will fail too. In this case a desired behavior would be not to reconcile the other.

One way to handle this in general is to give an option to the users, to have a fail fast approach. To have a feature flag to configure the controller to have fail after the first exception occurred. This is more consistent also with the implementation of the reconciler where users don't use dependent resources or use them in standalone mode. The exception is thrown and can be handled by ErrorStatusHandler.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions