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
compaction.h
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
compaction_picker_universal.cc
compaction_picker_universal.h