Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add backpressure sources, error messaging, to backpressure docs #4136

Closed
wants to merge 2 commits into from

Conversation

conceptualshark
Copy link
Contributor

Description

Relates to https://github.com/camunda/product-hub/issues/1426, camunda/camunda#17547

Adding in information to the backpressure concept docs to reference new sources of backpressure (backlog created by export lag/elasticsearch load), and that resource exhausted error messaging now differentiates between write and request limits.

When should this change go live?

  • This is a bug fix, security concern, or something that needs urgent release support.
  • This is already available but undocumented and should be released within a week.
  • This on a specific schedule and the assignee will coordinate a release with the DevEx team. (apply hold label or convert to draft PR)
  • This is part of a scheduled alpha or minor. (apply alpha or minor label)
  • There is no urgency with this change and can be released at any time.

PR Checklist

  • My changes are for an already released minor and are in /versioned_docs directory.
  • My changes are for the next minor and are in /docs directory (aka /next/).

@conceptualshark conceptualshark added component:zeebe Issues related with Zeebe project component:docs Documentation improvements, including new or updated content 8.6.0-alpha4 August 2024 alpha release labels Aug 9, 2024
@conceptualshark conceptualshark self-assigned this Aug 9, 2024
@conceptualshark conceptualshark marked this pull request as ready for review August 9, 2024 16:48
Copy link
Contributor

github-actions bot commented Aug 9, 2024

👋 🤖 🤔 Hello! Did you make your changes in all the right places?

These files were changed only in docs/. You might want to duplicate these changes in versioned_docs/version-8.5/.

  • docs/components/react-components/backpressure-export.md
  • docs/components/zeebe/technical-concepts/internal-processing.md
  • docs/self-managed/zeebe-deployment/operations/backpressure.md

You may have done this intentionally, but we wanted to point it out in case you didn't. You can read more about the versioning within our docs in our documentation guidelines.

@conceptualshark conceptualshark added the deploy Stand up a temporary docs site with this PR label Aug 9, 2024
@github-actions github-actions bot temporarily deployed to camunda-docs August 9, 2024 17:04 Destroyed
@mesellings
Copy link
Contributor

@conceptualshark I can take a look 👍

@mesellings mesellings self-assigned this Aug 12, 2024
@mesellings mesellings self-requested a review August 12, 2024 10:16
@@ -57,17 +57,23 @@ This command can in turn be processed, completing the service task and driving t

## Handling backpressure
Copy link
Contributor

Choose a reason for hiding this comment

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

Non-blocking suggestion: Change to "Backpressure"

When the broker receives more requests than it can process with an acceptable latency, it rejects some requests.
<BackpressureExport/>

To avoid such problems, Zeebe employs a [backpressure](/self-managed/zeebe-deployment/operations/backpressure.md) mechanism. When the broker receives more requests than it can process with an acceptable latency, it rejects some requests.
Copy link
Contributor

Choose a reason for hiding this comment

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

Non-blocking suggestion: "uses" instead of "employs" (plain English/better for translation down the line)

@conceptualshark
Copy link
Contributor Author

@mesellings This isn't ready for a technical writing review yet - I'd like to get the engineering asks in first, as we're not sure yet where it will land.


Backpressure is indicated to the client by throwing a **resource exhausted** exception. If a client sees this exception, it can retry the requests with an appropriate retry strategy. If the rejection rate is high, it indicates the broker is constantly under high load and you need to reduce the rate of requests. Alternatively, you can also increase broker resources to adjust to your needs. In high-load scenarios, it is recommended to [benchmark](https://camunda.com/blog/2022/05/how-to-benchmark-your-camunda-platform-8-cluster/) your Zeebe broker up front to size it correctly.
Backpressure is indicated to the client by throwing a **resource exhausted** exception, which indicates whether the write limit or request limit has been reached.
Copy link
Contributor

Choose a reason for hiding this comment

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

Non-blocking suggestion: "that" instead of "which"

Backpressure is indicated to the client by throwing a **resource exhausted** exception. If a client sees this exception, it can retry the requests with an appropriate retry strategy. If the rejection rate is high, it indicates the broker is constantly under high load and you need to reduce the rate of requests. Alternatively, you can also increase broker resources to adjust to your needs. In high-load scenarios, it is recommended to [benchmark](https://camunda.com/blog/2022/05/how-to-benchmark-your-camunda-platform-8-cluster/) your Zeebe broker up front to size it correctly.
Backpressure is indicated to the client by throwing a **resource exhausted** exception, which indicates whether the write limit or request limit has been reached.

If a client sees this exception, it can retry the requests with an appropriate retry strategy. If the rejection rate is high, it indicates the broker is constantly under high load and you need to reduce the rate of requests. Alternatively, you can also increase broker resources to adjust to your needs. In high-load scenarios, it is recommended to [benchmark](https://camunda.com/blog/2022/05/how-to-benchmark-your-camunda-platform-8-cluster/) your Zeebe broker up front to size it correctly.
Copy link
Contributor

@mesellings mesellings Aug 12, 2024

Choose a reason for hiding this comment

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

Non-blocking suggestion: Could run into one sentence, e.g. "high load, and you need to either reduce the rate of requests, or increase broker resources to adjust to your needs."

Copy link
Contributor

@mesellings mesellings left a comment

Choose a reason for hiding this comment

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

LGTM, just a few non-blocking suggestions that you can either ignore or adopt if you think they are of any use 👍

@conceptualshark conceptualshark added the hold This issue is parked, do not merge. label Aug 12, 2024
@github-actions github-actions bot temporarily deployed to camunda-docs August 12, 2024 13:05 Destroyed
@mesellings
Copy link
Contributor

@npepinpe @lenaschoenburg Hi, is it possible to get an engineering review of this please, as it is marked as alpha 4 release, and we need to get this merged in today if we are to include it in the release? Alternatively, let us know if this is not something that should/can make it into the alpha 4 release?

@lenaschoenburg
Copy link
Member

It's okay if it doesn't make it in alpha4. We are discussing this in https://camunda.slack.com/archives/C07GHC8JPC1, I think @conceptualshark wanted to close this PR anyway.

Copy link
Contributor

🧹 Preview environment for this PR has been torn down.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
8.6.0-alpha4 August 2024 alpha release component:docs Documentation improvements, including new or updated content component:zeebe Issues related with Zeebe project deploy Stand up a temporary docs site with this PR hold This issue is parked, do not merge.
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

3 participants