rocksdb/db/compaction
Maysam Yabandeh dccaf9f03c Turn compaction asserts to runtime check (#5935)
Summary:
Compaction iterator has many assert statements that are active only during test runs. Some rare bugs would show up only at runtime could violate the assert condition but go unnoticed since assert statements are not compiled in release mode. Turning the assert statements to runtime check sone pors and cons:
Pros:
- A bug that would result into incorrect data would be detected early before the incorrect data is written to the disk.

Cons:
- Runtime overhead: which should be negligible since compaction cpu is the minority in the overall cpu usage
- The assert statements might already being violated at runtime, and turning them to runtime failure might result into reliability issues.

The patch takes a conservative step in this direction by logging the assert violations at runtime. If we see any violation reported in logs, we investigate. Otherwise, we can go ahead turning them to runtime error.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/5935

Differential Revision: D18229697

Pulled By: maysamyabandeh

fbshipit-source-id: f1890eca80ccd7cca29737f1825badb9aa8038a8
2019-10-30 13:48:38 -07:00
..
compaction_iteration_stats.h Organizing rocksdb/db directory 2019-05-31 11:57:01 -07:00
compaction_iterator_test.cc Organizing rocksdb/db directory 2019-05-31 11:57:01 -07:00
compaction_iterator.cc Turn compaction asserts to runtime check (#5935) 2019-10-30 13:48:38 -07:00
compaction_iterator.h Turn compaction asserts to runtime check (#5935) 2019-10-30 13:48:38 -07:00
compaction_job_stats_test.cc Apply formatter to recent 200+ commits. (#5830) 2019-09-20 12:04:26 -07:00
compaction_job_test.cc Fix clang analyzer error (#5924) 2019-10-14 22:14:24 -07:00
compaction_job.cc Turn compaction asserts to runtime check (#5935) 2019-10-30 13:48:38 -07:00
compaction_job.h Apply formatter on recent 45 commits. (#5827) 2019-09-19 12:34:17 -07:00
compaction_picker_fifo.cc Fix assertion failure in FIFO compaction with TTL (#5754) 2019-08-30 12:42:01 -07:00
compaction_picker_fifo.h Organizing rocksdb/db directory 2019-05-31 11:57:01 -07:00
compaction_picker_level.cc simplify include directive involving inttypes (#5402) 2019-06-06 13:56:07 -07:00
compaction_picker_level.h Organizing rocksdb/db directory 2019-05-31 11:57:01 -07:00
compaction_picker_test.cc BlobDB GC: add SST <-> oldest blob file referenced mapping (#5903) 2019-10-14 15:21:01 -07:00
compaction_picker_universal.cc Refactor UniversalCompactionPicker code a little bit (#5639) 2019-09-16 10:51:11 -07:00
compaction_picker_universal.h Refactor UniversalCompactionPicker code a little bit (#5639) 2019-09-16 10:51:11 -07:00
compaction_picker.cc simplify include directive involving inttypes (#5402) 2019-06-06 13:56:07 -07:00
compaction_picker.h Organizing rocksdb/db directory 2019-05-31 11:57:01 -07:00
compaction.cc simplify include directive involving inttypes (#5402) 2019-06-06 13:56:07 -07:00
compaction.h Organizing rocksdb/db directory 2019-05-31 11:57:01 -07:00