Skip to content

Consider splitting labelling into a separate reconciliation process. #1129

@mattmoor

Description

@mattmoor

Currently we propagate labels from Route to Config/Revision in the core reconciliation loop; however, besides enforcing 1:N it is non-semantic.

This logic ends up being a significant # of LoC, and introduces potential reconciliation errors. For example, because we are cross-editing Configuration and Revision, we risk optimistic concurrency failures due to concurrent edits to these objects. This is papered over by the resync period, but given our sensitivity to performance we should have a very low tolerance for relying on resync for correctness.

I think we should consider splitting this into a separate reconciliation process, if possible.

Metadata

Metadata

Assignees

Labels

area/APIAPI objects and controllerskind/cleanupCategorizes issue or PR as related to cleaning up code, process, or technical debt.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions