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

rocksdb enter fatal error model after recovery from no space error #12998

Open
lee-qiu opened this issue Sep 6, 2024 · 0 comments
Open

rocksdb enter fatal error model after recovery from no space error #12998

lee-qiu opened this issue Sep 6, 2024 · 0 comments

Comments

@lee-qiu
Copy link

lee-qiu commented Sep 6, 2024

See #11643.

I found that when the disk free size is large enough, the db calls the db_->ResumeImpl() function, but if the memory buffer is empty, the SwitchMemtable() function is not triggered.

So rocksdb will not create a new wal file. When the next write request comes, the write to wal file will get a IOStatus::IOError("Writer has previous error.") error, which makes the engine get a fatal error and you must reopen the database to recover.

I wanna know can we trigger SwitchMemtable() function when the flush reason is "kErrorRecovery" and memory buffer is empty?

I found that can help me to escape from the above fatal error. I'd like to make a push request to resolve this issue If you guys agree it.

Waiting for your reply.

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

No branches or pull requests

1 participant