assert fail
- Dominant language
- C++
- Stars
- 32.1k
- Forks
- 6.9k
- Avg merge
- 32m
- Merged PRs (30d)
- 1
Description
https://github.com/facebook/rocksdb/blob/d77476ef557078d89f545efbe33bc8825b07237a/db/db_impl_compaction_flush.cc#L142
when rocksdb do flush job, it holds all column family which need to be flushed, and then flush column family one by one.
consider below scenario:
1. flush thread 1 pick column family a、b、c, then flush a (release the mutex lock).
2. user write column family c and memtable full, column family c will be inserted into flush queue.
3. flush thread 2 pick column family c, then flush c (pick all available memtables)
4. flush thread 1 done column family a、b
5. flush thread 2 done column c
6. flush thread begin to do column family c, no available memtable to flush, assert fail
Contributor guide
Assessment
This issue has not been assessed yet.