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

Log non linearizable path when linearization check fails #498

Merged
merged 1 commit into from
Dec 18, 2024

Conversation

dfarr
Copy link
Member

@dfarr dfarr commented Dec 18, 2024

Thanks to anishathalye/porcupine#21 we can grab the longest linearizable path plus one additional operation (the first op that is not part of the linearizable path chronologically) to reproduce our DST logs including the error message. This information was lost in previous implementations of DST with porcupine.

When linearization fails, there may be multiple linearizable paths and multiple possible next operations. This implementation grabs the first non-linearizable path and the first possible next operation so the log is a "best effort" and should be taken with a grain of salt. As such the additional logs can be accessed behind the verbose flag.

go run ./... dst run -v

@dfarr dfarr requested a review from avillega December 18, 2024 04:21
Copy link

codecov bot commented Dec 18, 2024

Codecov Report

Attention: Patch coverage is 25.00000% with 69 lines in your changes missing coverage. Please review.

Project coverage is 56.47%. Comparing base (3009bbb) to head (e69f556).
Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
test/dst/dst.go 25.84% 66 Missing ⚠️
cmd/dst/run.go 0.00% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #498      +/-   ##
==========================================
- Coverage   56.71%   56.47%   -0.24%     
==========================================
  Files         120      120              
  Lines       13171    13242      +71     
==========================================
+ Hits         7470     7479       +9     
- Misses       5249     5311      +62     
  Partials      452      452              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Contributor

@avillega avillega left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I really like that you also add the partition function, it will be useful when we do horizontal paritions.

@dfarr dfarr merged commit 0cecd95 into main Dec 18, 2024
27 of 29 checks passed
@dfarr dfarr deleted the feature/non-linearizable-logs branch December 18, 2024 20:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants