rocksdb IO error No Space Left
15 Jul 2019
|
|
遇到两个问题
rocksdb一直在compaction,但是compaction有写放大需要额外的空间,然后没空间了,结果就一直阻塞写了
这个解决办法只能是重启,并且需要预估硬盘的使用情况避免这种问题的发生。
rocksdb报错IO error No Space Left,但是du查看有空间
这个是发生过compaction已经收回了空间,但是之前有的bg_error一直存在没有清掉。这个是rocksdb故意设计成这样的,上层应用需要决定是否处理这种场景,选择重启还是自己实现高可用
rocksdb的issue在这里
crdb的设计讨论在这里
ardb的解决办法,重启
crdb的讨论我没有仔细看,有时间看完补充一下
ref
- https://github.com/facebook/rocksdb/issues/919
- crdb的设计讨论https://github.com/cockroachdb/cockroach/issues/8473
- ardb的解决办法, https://github.com/yinqiwen/ardb/issues/310