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

dst: bug and test fixes #874

Merged
merged 6 commits into from
May 21, 2024
Merged

dst: bug and test fixes #874

merged 6 commits into from
May 21, 2024

Conversation

asubiotto
Copy link
Member

This PR contains miscellaneous test and bug fixes. See commits for details. This should fix all DST failures so far (run under stress for 100 iterations).

@asubiotto asubiotto requested a review from thorfour May 21, 2024 15:39
asubiotto added 4 commits May 21, 2024 17:40
Otherwise, some goroutines from the previous store (like block persistence)
could race with the new store. This is an artifact of restarting the DB
in-process. The approach used is to simply scan the running goroutine stacks,
ignoring any goroutines that existed at the start of the test.
Previously, runtime.Gosched was called. However, this could be an issue in
deterministic simulation tests since if other goroutines are sleeping, the
yielding goroutine will schedule itself before advancing faketime. Sleeping is
a quick fix for avoiding getting into this infinite loop, although we should
probably come up with a long-term fix for these types of cases.
We were closing the incorrect column store at the end of the test (in some
cases double closing).
asubiotto added 2 commits May 21, 2024 17:42
…persisted

Previously, the code attempted to do this by resetting the active block index.
However, the ULID was left untouched. This would cause a previously persisted
block to lose data when the new empty block's rotation happened. This commit
updates the full block when a NewTableBlock entry is found and the table
exists.
These log messges were useful when debugging DST failures.
@asubiotto asubiotto merged commit ef7d1fe into main May 21, 2024
7 checks passed
@asubiotto asubiotto deleted the alfonso-dstfixes branch May 21, 2024 17:10
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