Uploaded image for project: 'OpenShift Hive'
  1. OpenShift Hive
  2. HIVE-2686

privateLink: Make Set*Condition and updatePrivateServiceConnectStatus idempotent

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • None
    • None
    • None
    • False
    • Hide

      None

      Show
      None
    • False
    • None
    • None
    • None
    • None

      cf. comment.

      Currently the PrivateLink code contains logic to Update() status conditions with a blind retry on 409 Conflict. This is not correct reconcile idempotence: theoretically the operation causing the conflict could have changed the configuration that prompted the condition update, rendering that update incorrect.

      The usual pattern for this is to let the error from the status update bubble up and fail the reconcile, causing a requeue, whereupon the/a subsequent reconcile would fully re-evaluate the need for the status update and reapply it if/as appropriate.

      Don't forget to update unit tests to cover cases currently missed because mocking a failure through a backoff retry is Hardâ„¢.

      Also applies to updatePrivateServiceConnectStatus.

              efried.openshift Eric Fried
              efried.openshift Eric Fried
              None
              None
              None
              None
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: