external-dns: Cache gets out of sync when call to DNS provider fails

When the final call to ApplyChanges of the DNS provider fails, the cache has already been updated and is not rolled back in any way. This leads to the cache being out of sync and the failed record is not going to be retried for another hour.

See https://github.com/kubernetes-incubator/external-dns/blob/v0.5.17/registry/txt.go#L181: We don’t know if that call returns an error but happily populated the cache above.

We saw this recently due to rate limits against the AWS API.

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 22 (12 by maintainers)

Commits related to this issue

Most upvoted comments

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Reopen this issue or PR with /reopen
  • Mark this issue or PR as fresh with /remove-lifecycle rotten
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/close

Rotten issues close after 30d of inactivity. Reopen the issue with /reopen. Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta. /close