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

Fix rocksdb can't auto resume after no space error #229

Conversation

karelrooted
Copy link
Contributor

Fix can't auto resume after no space error when the no space error is only trigger by db_->Write without any other background action (compact/flush)

@karelrooted
Copy link
Contributor Author

related rocksdb issue: facebook/rocksdb#8217

@git-hulk git-hulk changed the title Fix can't auto resume after no space error Fix rocksdb can't auto resume after no space error Apr 22, 2021
git-hulk
git-hulk previously approved these changes Apr 22, 2021
… only trigger by db_->Write without any other background action (compact/flush)
@karelrooted karelrooted force-pushed the fix/can-not-auto-resume-after-no-space-error branch from 77a7b77 to 82a1419 Compare April 22, 2021 11:04
@git-hulk git-hulk self-requested a review April 22, 2021 11:58
@karelrooted karelrooted merged commit 55c1753 into apache:unstable Apr 23, 2021
@karelrooted
Copy link
Contributor Author

@Mergifyio backport 1.3

mergify bot pushed a commit that referenced this pull request Apr 23, 2021
Fix can't auto resume after no space error when the no space error is only trigger by db_->Write without any other background action (compact/flush)

(cherry picked from commit 55c1753)

# Conflicts:
#	src/server.cc
#	src/storage.h
@mergify
Copy link

mergify bot commented Apr 23, 2021

Command backport 1.3: success

Backports have been created

karelrooted pushed a commit that referenced this pull request Apr 23, 2021
)

* Fix can't auto resume after no space error  (#229)

Fix can't auto resume after no space error when the no space error is only trigger by db_->Write without any other background action (compact/flush)

(cherry picked from commit 55c1753)
@apache apache deleted a comment from mergify bot Apr 23, 2021
@apache apache deleted a comment from mergify bot Apr 23, 2021
@ShooterIT ShooterIT mentioned this pull request Apr 23, 2021
@ShooterIT ShooterIT mentioned this pull request May 18, 2021
ShooterIT pushed a commit that referenced this pull request Jun 10, 2022
In #229, the issue where RocksDB could not recover from the no Space background
error was fixed. This problem RocksDB at facebook/rocksdb#8376 has been repaired,
but the issue has not been thoroughly solved, The same problem will still occur
when an EDQUOT Disk Quota Exceeded error is encountered (see the detailed in 
facebook/rocksdb#10134).

RocksDB cannot recover from this problem and must be restarted. This problem is
more likely to occur when kvrocks is deployed in container.

In order to handle all versions of RocksDB, we manually resume DB when we encounter
two retryable io errors: No space left on device and Disk Quota Exceeded.

For the Disk Quota Exceeded error, RocksDB did not expose a friendly interface,
so we did a string match.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants