Skip to content

PB-2395: add a page about retry strategy. - #minor - #182

Merged
adk-swisstopo merged 1 commit into
masterfrom
PB-2395-retry
Sep 9, 2026
Merged

PB-2395: add a page about retry strategy. - #minor#182
adk-swisstopo merged 1 commit into
masterfrom
PB-2395-retry

Conversation

@adk-swisstopo

@adk-swisstopo adk-swisstopo commented Sep 9, 2026

Copy link
Copy Markdown
Member

Users retry strategy is often suboptimal and in some cases may exacerbate outages. Implementing a correct retry strategy is non-trivial and we cannot expect all users to do it well. However even imperfect efforts are strictly better for us than the status quo.

We have had at least one user with a simplistic retry strategy that prompted them to open a ticket.

This change adds a page that explains the retry strategy we wish our users to implement.

Direct test link to the new page

Test link

@github-actions github-actions Bot changed the title PB-2395: add a page about retry strategy. PB-2395: add a page about retry strategy. - #minor Sep 9, 2026
@adk-swisstopo adk-swisstopo added the feature New feature or enhancement label Sep 9, 2026
@adk-swisstopo
adk-swisstopo force-pushed the PB-2395-retry branch 2 times, most recently from 86297b8 to ca26c07 Compare September 9, 2026 12:12
@adk-swisstopo
adk-swisstopo marked this pull request as ready for review September 9, 2026 12:15

@boecklic boecklic left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👌 nice!

Users retry strategy is often suboptimal and in some cases may exacerbate outages. Implementing a correct retry strategy is non-trivial and we cannot expect all users to do it well. However even imperfect efforts are strictly better for us than the status quo.

We have had at least one user with a simplistic retry strategy that prompted them to open a ticket.

This change adds a page that explains the retry strategy we wish our users to implement.
@adk-swisstopo
adk-swisstopo merged commit c9b5c95 into master Sep 9, 2026
8 checks passed
@adk-swisstopo
adk-swisstopo deleted the PB-2395-retry branch September 9, 2026 14:44

@asteiner-swisstopo asteiner-swisstopo left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like it 👍 Just some minor formatting things and a section I would consider to remove.

Comment thread .vitepress/config.mts
items: [{ text: 'Overview', link: '/get-started/overview' }],
items: [
{ text: 'Overview', link: '/get-started/overview' },
{ text: 'Retrying failed requests', link: '/get-started/retry' },

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All other pages use title case, I suggest we do that here too.

Comment thread get-started/retry.md

1. Send a request.

2. Upon retryable failure, wait 1 + `jitter` seconds before retrying.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The formatting of the numbered list looks odd, there is no identation. Maybe because there is an empty line between each point?

Comment thread get-started/retry.md
cancel the request. You should pick a value appropriate to your use case. One
way to think about it is "how long to keep trying until we need to involve a
human?". For example, if you are fetching a tile to display in an interactive
application, there is probably no point retrying for 3 minutes as the user will

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nitpick but I think small numbers are usually written out 🙃

Suggested change
application, there is probably no point retrying for 3 minutes as the user will
application, there is probably no point retrying for three minutes as the user will

Comment thread get-started/retry.md
Comment on lines +63 to +68
## Third party libraries

You are welcome to use a third party library to implement your retry strategy
but it is your responsibility to verify it actually implements a truncated
exponential backoff algorithm with jitter with reasonable parametres under your
control.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Personally, I find this sound a bit patronizing. I would leave it away, it adds nothing add isn't clear already ("you are responsible!").

If you want to keep it, I would at least avoid the repeating the "it is your responsibility" that is just above.

Comment thread get-started/retry.md
You can also find further information in the following references:

- [Wikipedia: Exponential Backoff](https://en.wikipedia.org/wiki/Exponential_backoff#Truncated_exponential_backoff)
- [Google SRE Book: Adressing Cascading Failures: Retries](https://sre.google/sre-book/addressing-cascading-failures/#retires)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo? Odd that it still works...

Suggested change
- [Google SRE Book: Adressing Cascading Failures: Retries](https://sre.google/sre-book/addressing-cascading-failures/#retires)
- [Google SRE Book: Adressing Cascading Failures: Retries](https://sre.google/sre-book/addressing-cascading-failures/#retries)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, they messed up. I'll see if I can figure out how to open a bug^Wtypo report against them.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Report sent by e-mail to Betsy Beyer.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I also reported the issue on the editor's website: https://www.oreilly.com/catalog/errataunconfirmed.csp?isbn=0636920041528

Comment thread get-started/retry.md
You can also find further information in the following references:

- [Wikipedia: Exponential Backoff](https://en.wikipedia.org/wiki/Exponential_backoff#Truncated_exponential_backoff)
- [Google SRE Book: Adressing Cascading Failures: Retries](https://sre.google/sre-book/addressing-cascading-failures/#retires)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo:

Suggested change
- [Google SRE Book: Adressing Cascading Failures: Retries](https://sre.google/sre-book/addressing-cascading-failures/#retires)
- [Google SRE Book: Addressing Cascading Failures: Retries](https://sre.google/sre-book/addressing-cascading-failures/#retires)

@adk-swisstopo

Copy link
Copy Markdown
Member Author

Following up on @asteiner-swisstopo comments in #183

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New feature or enhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants