-
Notifications
You must be signed in to change notification settings - Fork 558
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
8.2.3 Degradation: Creating an oversized BPMN causes unrecoverable failure #12591
Comments
Hey @sergeylebed thanks for reporting this! Looks like a regression @megglos |
@sergeylebed can you confirm that you didn't get an error response in the client? 🤔 It looks like, based on the stacktrace that it just failed on a different place before.
Is at the CommandAPI, when receiving the Command and writing to the dispatcher (before replicating and processing). We replaced the dispatcher in 8.2. Meaning it is now possible to write larger entries, but as you see processing is still not possible. But I think at least I would expect you get an error response. Did you? |
I got an error on the client but
|
The very first error in the log:
|
In version 8.1.6 the client error is different
|
Under the assumption that doing so bricks your partition unrecoverably, we'll prioritize it as a blocker/critical issue. |
I was able to reproduce this by setting maxMessageSize to 1MB in the test I see multiple issues here:
For fixing this issue, I propose to reject the request in CommandAPI. So it is never written to the logstream. However, I would also suggest to revisit if we really have to write the whole command in the rejection record. |
It does not seem to be fixed in 8.2.5. Do you think it can be merged into the latest versions? |
@sergeylebed The fix will be included in 8.2.6. |
13239: Deployment payload size regression tests r=korthout a=korthout ## Description <!-- Please explain the changes you made here. --> Adds a regression test for the maximum deployment payload size currently possible on a 3-partition cluster. This also cleans up the other tests related to the size of the deployment's payload in an effort to clarify what they truly verify: - `CreateLargeDeploymentTest.shouldRejectDeployIfResourceIsTooLarge` - tests that the incoming request's maxMessageSize is tested - is a regression test against #12591 - `DeploymentRejectionTest.shouldRejectDeploymentIfResourceIsTooLarge` - verifies that the deployment command is rejected when its resources fit the max message size but still exceed the batch record size (due to follow-up records) - `CreateDeploymentTest.shouldRejectDeployIfResourceIsTooLarge` - verifies that the client's request is rejected when its resources fit the max message size but still exceed the batch record size (due to follow-up records) > **Note** This pull request explicitly targets `stable/8.2` as all these tests succeed there, but some will not succeed on `main` due to #13233. ## Related issues <!-- Which issues are closed by this PR or are related --> relates to #13233 Co-authored-by: Nico Korthout <nico.korthout@camunda.com>
Describe the bug
An attempt to upload oversized BPMN (other the segment limit) causes unrecoverable failure of Zeebe:
It is degradation from version 8.1.6 that just rejected incorrect BPMN without further problems.
To Reproduce
Upload the BMPN bigger than configured
maxMessageSize: 64KB
Expected behavior
BMPN Upload is rejected
Log/Stacktrace
Environment:
In version 8.1.6 the behavior is correct. Here's stack traces from this version:
The text was updated successfully, but these errors were encountered: