-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
kv/kvserver: TestReplicaLatchingOptimisticEvaluationKeyLimit failed #135197
Comments
No, can't be that -- the test is entirely different. Here, we ensure that the write goes through and is blocked after acquiring latches. In the variant that's failing, we construct a BatchRequest which has 4 gets for keys a, b, c, and d. We write to key B, and issue the read batch with limit 1. The expectation is that it'll go through the optimistic evaluation path and not conflict on the write's latches, yet, from the logs, we see:
From the failure mode, it looks like either we didn't attempt optimistic evaluation or we optimistic evaluation failed so we fell back to pessimistic evaluation and waited on latches. |
This test would fail opaquely previously, which wasn't helpful. This patch sets up tracing on the read path to help investigate future failures. Informs cockroachdb#135197 Release note: None
I stressed this 11K times without issue. Given this has never failed and no active work has happened in this area recently, I'll remove the release blocker label here. I've also sent out #135234, which should give us more visibility into future failures. |
135234: kvserver: improve TestReplicaLatchingOptimisticEvaluationKeyLimit r=arulajmani a=arulajmani This test would fail opaquely previously, which wasn't helpful. This patch sets up tracing on the read path to help investigate future failures. Informs #135197 Release note: None 136293: sql/catalog/lease: Add diagnostics to TestRangefeedUpdatesHandledProperlyInTheFaceOfRaces r=spilchen a=spilchen This change enhances diagnostics for TestRangefeedUpdatesHandledProperlyInTheFaceOfRaces. The test involves a concurrent query and an ALTER operation on the same table. The query starts first, acquiring the table descriptor lease, and is then suspended by the test. Next, the ALTER operation begins, creating a new version of the descriptor. It pauses at the end of its execution, waiting for only one version of the descriptor to remain. When the new descriptor version is detected, the query resumes, allowing the ALTER to complete. In the failure case, the test did not detect the new version of the descriptor, even though the ALTER operation had already updated it and was waiting at waitForOneVersion. This change adds extra logging to capture the descriptor changes observed during the test, helping diagnose the issue if it recurs. Epic: none Closes #135777 Release note: none Co-authored-by: Arul Ajmani <[email protected]> Co-authored-by: Matt Spilchen <[email protected]>
kv/kvserver.TestReplicaLatchingOptimisticEvaluationKeyLimit failed with artifacts on release-24.3 @ e0cfe10898e0a6e14c65cc2f224f16f79b0561a8:
Fatal error:
Stack:
Log preceding fatal error
Help
See also: How To Investigate a Go Test Failure (internal)
This test on roachdash | Improve this report!
Jira issue: CRDB-44397
The text was updated successfully, but these errors were encountered: