Skip to content

Commit

Permalink
Design for issue #426
Browse files Browse the repository at this point in the history
  • Loading branch information
gberche-orange committed Aug 18, 2021
1 parent 61b3401 commit d12ebf0
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions docs/git-retries.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
18/08/2021:

Design for https://github.com/orange-cloudfoundry/cf-ops-automation-broker/issues/426

Extend retries to git push REJECTED_NONFASTFORWARD failures and other recoverable git errors:
* [ ] Move logic of diagnostic of recoverable git errors to SimpleGitManager
* [ ] ~~Through a single RecoverableGitException~~
* [ ] ~~Introduce a new RecoverableGitException (RuntimeException) thrown by SimpleGitManager for coverable cases~~
* [ ] ~~Configure RetrierGitManager to only retry on RecoverableGitException~~
* [ ] By having SimpleGitManager provide the RetryPolicy and lambdas passed to abortOn, abortWhen, abortIf
* [ ] Add a `prepareBeforePushRetry()` step to SimpleGitManager which performs the `git pull --rebase`
* [ ] invoke it on the onFailedAttempt(ExecutionAttemptedEvent) with the resulting `Throwable failure`
* [ ] Tune default RetryProperties to avoid running into the CF CC httpclient 60s default timeout

--------------------------
Retry logic for unavailable gitlab during integration:
- for clone, retry the whole logic if part of the clone fails
- for push commit, need to refine the logic to be idempotent and robust to intermediate failures:
Expand Down

0 comments on commit d12ebf0

Please sign in to comment.