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

[v22.1.x] Fix raft linearizable barrier #4517

Merged

Conversation

vbotbuildovich
Copy link
Collaborator

@vbotbuildovich vbotbuildovich commented May 3, 2022

Backport from pull request: #4507

Also contained in this PR is backport for #4555

mmaslankaprv and others added 5 commits May 3, 2022 03:54
Track last sequence number of last received successful append entries
response. Last successful append entries response will allow leader to
determine if majority of followers is up to date and receive heartbeats.

Signed-off-by: Michal Maslanka <michal@vectorized.io>
(cherry picked from commit 5c4d80e)
Signed-off-by: Michal Maslanka <michal@vectorized.io>
(cherry picked from commit 34a6744)
Fixed linearizable barrier to provide a true linearizability barrier.
Previously we skipped leader flush and checks if returned responses were
successful. This might lead to situation in which after returning from a
barrier `_committed_offset` might not have been updated. This wasn't
critical issue as offset returned from barrier was still valid i.e.
reads would not cause inconsistency however read wasn't linearizble as
it might not seen all the writes.

Signed-off-by: Michal Maslanka <michal@vectorized.io>
(cherry picked from commit 20330df)
Signed-off-by: Michal Maslanka <michal@vectorized.io>
(cherry picked from commit 82f1567)
In redpanda-data#3807 a fix was made to deal with timeouts on ARM. We are seeing this
again so bumping the timeout again.

Related: redpanda-data#3807
Related: redpanda-data#3797

Signed-off-by: Noah Watkins <noah@redpanda.com>
(cherry picked from commit 827b744)
@vbotbuildovich vbotbuildovich added this to the v22.1.1 milestone May 3, 2022
@vbotbuildovich vbotbuildovich added the kind/backport PRs targeting a stable branch label May 3, 2022
@dotnwat dotnwat marked this pull request as ready for review May 3, 2022 03:58
@dotnwat
Copy link
Member

dotnwat commented May 3, 2022

@dotnwat
Copy link
Member

dotnwat commented May 3, 2022

@mmaslankaprv different CI failures on different runs for debug.

Signed-off-by: Michal Maslanka <michal@vectorized.io>
(cherry picked from commit c283d63)
We do not want to change the semantics of
`consensus::linearizble_barrier` therefore we should not flush leader
log as a part of setting a barrier. This makes the semantics consistent

Signed-off-by: Michal Maslanka <michal@vectorized.io>
(cherry picked from commit 9c5b1af)
This reverts commit 82f1567.

(cherry picked from commit e6853aa)
@dotnwat
Copy link
Member

dotnwat commented May 4, 2022

Failure appears to be a case of ARM being close to elect a leader #4566 and rpk giving up after a few retries in response to 503.

@dotnwat dotnwat merged commit 01b54c0 into redpanda-data:v22.1.x May 4, 2022
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/redpanda kind/backport PRs targeting a stable branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants