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

Follower doesn't send response back if append fails #8612

Closed
ChrisKujawa opened this issue Jan 19, 2022 · 1 comment · Fixed by #23784
Closed

Follower doesn't send response back if append fails #8612

ChrisKujawa opened this issue Jan 19, 2022 · 1 comment · Fixed by #23784
Assignees
Labels
area/performance Marks an issue as performance related component/raft component/zeebe Related to the Zeebe component/team kind/bug Categorizes an issue or PR as a bug scope/broker Marks an issue or PR to appear in the broker section of the changelog version:8.7.0-alpha1 Label that represents issues released on verions 8.7.0-alpha1

Comments

@ChrisKujawa
Copy link
Member

ChrisKujawa commented Jan 19, 2022

Describe the bug

Taking a look at the code I saw that if the follower is failing to append it just flush the appended records and stops with the appending

https://github.com/camunda-cloud/zeebe/blob/develop/atomix/cluster/src/main/java/io/atomix/raft/roles/PassiveRole.java#L548-L552

But not error or anything is returned to the leader, which means it has to timeout on the leader first and then the append is resend. This produces unnecessary delay.

To Reproduce

Cause a failure on append on the follower side.

Expected behavior

The follower sends an error back and the leader reacts appropriate with that.

Environment:

  • Zeebe Version: 1.3.0, 1.2.x, 1.1.x
@ChrisKujawa ChrisKujawa added kind/bug Categorizes an issue or PR as a bug scope/broker Marks an issue or PR to appear in the broker section of the changelog area/performance Marks an issue as performance related labels Jan 19, 2022
@npepinpe
Copy link
Member

Let's try to do it this quarter, under the assumption this isn't a difficult fix, but the main concern here is making sure that it is correct behavior - we won't get into an endless loop of the leader retrying a failed append (and potentially overwhelming the follower with requests), and that failure can be retried (or it makes sense to retry that append). The last case I specify because now, if you sent successfully some failed appends, the leader would get no response and eventually think there's a network partition. Replying now will change this behavior, and I want to make sure that's correct.

@romansmirnov romansmirnov added the component/zeebe Related to the Zeebe component/team label Mar 5, 2024
@entangled90 entangled90 self-assigned this Oct 15, 2024
github-merge-queue bot pushed a commit that referenced this issue Oct 23, 2024
…23784)

## Description
Adds a test case to check that a negative response is sent back to the
leader when append fails

## Related issues

closes #8612
@camundait camundait added the version:8.7.0-alpha1 Label that represents issues released on verions 8.7.0-alpha1 label Nov 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/performance Marks an issue as performance related component/raft component/zeebe Related to the Zeebe component/team kind/bug Categorizes an issue or PR as a bug scope/broker Marks an issue or PR to appear in the broker section of the changelog version:8.7.0-alpha1 Label that represents issues released on verions 8.7.0-alpha1
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants