-
Notifications
You must be signed in to change notification settings - Fork 72
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
stress test fail: Expected State - assertion IsDone failed #813
Comments
This should be reverted once #813 is handled
for the IsDone assertion failure, my findings are: since we want to keep the trace file for debugging, for now, the workaround can be that we'll avoid this assertion and only print the numbers (num_write_ops_ and max_write_ops_) for future debugging. workaround will be done in - #816 |
further documentation in ~/expected_err in instance 173
There are several issues:
ExpectedStateTraceRecordHandler IsDone Assertion
During FileExpectedStateManager::Restore(DB* db), a ExpectedStateTraceRecordHandler is created with max_write_ops which is the gap between the current db seq number and the seq found on the state file. The trace record replayer replays the trace file and increments num_write_ops_ on each operation. IsDone checks that num_write_ops_ == max_write_ops_.
When using use_txn=1 and txn_write_policy=1, there are about half num_write_ops than the max. This always happens.
use_txn with reopen > 1 - fails with corruption.
After reopen, a new state is created with a seq > 0. This happens since we added the trace_ops flag.
However, When db_stress is rerun on the db, it recognizes theres a state to recover from and a trace file too. But the seq from the db is 0 which is lower than in the state. (in
speedb/db_stress_tool/expected_state.cc
Lines 630 to 631 in 5fd550e
Cmd to reproduce:
Txn with write policy 1 creates a trace file which is unreadable.
All of the above came up since we've added #797 which creates a trace file by default.
The text was updated successfully, but these errors were encountered: