rocksdb/db/compaction
Levi Tamasi 02aa22957a Set CompactionIterator::valid_ to false when PrepareBlobOutput indicates error
Summary:
With https://github.com/facebook/rocksdb/pull/6121, errors returned by `PrepareBlobValue`
result in `CompactionIterator::status_` being set to `Corruption` or `IOError`
as appropriate, however, `valid_` is not set to `false`. The error is eventually propagated in
`CompactionJob::ProcessKeyValueCompaction` but only after the main loop completes.
Setting `valid_` to `false` upon errors enables us to terminate the loop early and fail the
compaction sooner.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/6170

Test Plan:
Ran `make check` and used `db_bench` in BlobDB mode.

fbshipit-source-id: a2ca88a3ca71115e2605bd34a4c795d8a28bef27
2019-12-17 10:20:16 -08:00
..
compaction.cc Support concurrent CF iteration and drop (#6147) 2019-12-12 19:04:48 -08:00
compaction.h Support options.ttl with options.max_open_files = -1 (#6060) 2019-11-22 21:23:00 -08:00
compaction_iteration_stats.h
compaction_iterator.cc Set CompactionIterator::valid_ to false when PrepareBlobOutput indicates error 2019-12-17 10:20:16 -08:00
compaction_iterator.h
compaction_iterator_test.cc
compaction_job.cc Introduce a new storage specific Env API (#5761) 2019-12-13 14:48:41 -08:00
compaction_job.h Introduce a new storage specific Env API (#5761) 2019-12-13 14:48:41 -08:00
compaction_job_stats_test.cc
compaction_job_test.cc Introduce a new storage specific Env API (#5761) 2019-12-13 14:48:41 -08:00
compaction_picker.cc
compaction_picker.h
compaction_picker_fifo.cc
compaction_picker_fifo.h
compaction_picker_level.cc
compaction_picker_level.h
compaction_picker_test.cc Support options.max_open_files = -1 with periodic_compaction_seconds (#6090) 2019-11-26 21:39:56 -08:00
compaction_picker_universal.cc Fix UniversalCompaction trivial move bug (#6067) 2019-12-11 11:27:53 -08:00
compaction_picker_universal.h