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

staging-v22.2.18: release-22.2: batcheval: add BarrierRequest.WithLeaseAppliedIndex #118632

Merged

Conversation

blathers-crl[bot]
Copy link

@blathers-crl blathers-crl bot commented Feb 2, 2024

Backport 4/4 commits from #118474 on behalf of @erikgrinaker.

/cc @cockroachdb/release


The behavior of Barrier differs between 22.2 and 23.1: the latter does not conflict with ongoing read requests, most likely because they drop latches before evaluation in 23.1. It does not seem particularly problematic that 22.2 has to wait for reads to complete, at least not for our purposes here, so I've just documented this and disabled the test coverage for read conflicts.

There were also significant kvnemesis changes in 23.1, so the kvnemesis testing needed some adjustments.


Backport:

Please see individual PRs for details.

Release justification: prerequisites for backporting #117612.

/cc @cockroachdb/release


Release justification:

Otherwise, `BatchRequest.RequiresConsensus()` may return `false` and not
submit the barrier through Raft. Similarly,
`shouldWaitOnLatchesWithoutAcquiring` will return `false` so it will
contend with later writes.

Barriers are not used in recent releases, so this does not have any
mixed-version concerns.

Epic: none
Release note: None
This can be used to detect whether a replica has applied the barrier
command yet.

Epic: none
Release note: None
This only executes random `Barrier` requests, but does not verify that
the barrier guarantees are actually satisfied (i.e. that all past and
concurrent writes are applied before it returns). At least we get some
execution coverage, and verify that it does not have negative
interactions with other operations.

Epic: none
Release note: None
This allows a caller to wait for a replica to reach a certain lease
applied index. Similar functionality elsewhere is not migrated yet, out
of caution.

Epic: none
Release note: None
@blathers-crl blathers-crl bot requested a review from a team as a code owner February 2, 2024 09:16
@blathers-crl blathers-crl bot force-pushed the blathers/backport-staging-v22.2.18-118474 branch from 0e491f0 to f9fdbd0 Compare February 2, 2024 09:16
@blathers-crl blathers-crl bot added blathers-backport This is a backport that Blathers created automatically. O-robot Originated from a bot. labels Feb 2, 2024
@cockroach-teamcity
Copy link
Member

This change is Reviewable

@erikgrinaker erikgrinaker merged commit 74888a3 into staging-v22.2.18 Feb 2, 2024
3 checks passed
@erikgrinaker erikgrinaker deleted the blathers/backport-staging-v22.2.18-118474 branch February 2, 2024 09:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blathers-backport This is a backport that Blathers created automatically. O-robot Originated from a bot.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants