rocksdb/utilities
Mike Kolupaev 397ab11152 Improve Status message for block checksum mismatches
Summary:
We've got some DBs where iterators return Status with message "Corruption: block checksum mismatch" all the time. That's not very informative. It would be much easier to investigate if the error message contained the file name - then we would know e.g. how old the corrupted file is, which would be very useful for finding the root cause. This PR adds file name, offset and other stuff to some block corruption-related status messages.

It doesn't improve all the error messages, just a few that were easy to improve. I'm mostly interested in "block checksum mismatch" and "Bad table magic number" since they're the only corruption errors that I've ever seen in the wild.
Closes https://github.com/facebook/rocksdb/pull/2507

Differential Revision: D5345702

Pulled By: al13n321

fbshipit-source-id: fc8023d43f1935ad927cef1b9c55481ab3cb1339
2017-06-28 21:27:01 -07:00
..
backupable Optimize for serial commits in 2PC 2017-06-24 14:11:29 -07:00
blob_db Improve Status message for block checksum mismatches 2017-06-28 21:27:01 -07:00
checkpoint Optimize for serial commits in 2PC 2017-06-24 14:11:29 -07:00
compaction_filters Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
convenience Add GPLv2 as an alternative license. 2017-04-27 18:06:12 -07:00
date_tiered Add GPLv2 as an alternative license. 2017-04-27 18:06:12 -07:00
document fixed typo 2017-06-05 11:27:34 -07:00
geodb Add GPLv2 as an alternative license. 2017-04-27 18:06:12 -07:00
leveldb_options Add GPLv2 as an alternative license. 2017-04-27 18:06:12 -07:00
lua Add GPLv2 as an alternative license. 2017-04-27 18:06:12 -07:00
memory Disable auto compactions in memory_test and re-enable the test (#1408) 2016-10-19 18:18:42 -07:00
merge_operators Fix TARGETS file tests list 2017-06-27 14:12:02 -07:00
option_change_migration Add GPLv2 as an alternative license. 2017-04-27 18:06:12 -07:00
options Downgrade option sanitiy check level for prefix_extractor 2017-06-22 16:26:36 -07:00
persistent_cache Improve Status message for block checksum mismatches 2017-06-28 21:27:01 -07:00
redis Add GPLv2 as an alternative license. 2017-04-27 18:06:12 -07:00
simulator_cache Add GPLv2 as an alternative license. 2017-04-27 18:06:12 -07:00
spatialdb Suppress clang-analyzer false positive 2017-05-19 10:56:28 -07:00
table_properties_collectors Add GPLv2 as an alternative license. 2017-04-27 18:06:12 -07:00
transactions Optimize for serial commits in 2PC 2017-06-24 14:11:29 -07:00
ttl Move various string utility functions into string_util 2017-04-06 14:54:12 -07:00
write_batch_with_index support PopSavePoint for WriteBatch 2017-05-03 10:57:45 -07:00
col_buf_decoder.cc fix non-portable behavior in encoder 2017-01-20 16:39:22 -08:00
col_buf_decoder.h Fix clang build failure and refactor unit test 2016-08-02 15:16:39 -07:00
col_buf_encoder.cc Avoid unsupported attributes when not building with UBSAN 2017-05-30 11:13:01 -07:00
col_buf_encoder.h Fix clang build failure and refactor unit test 2016-08-02 15:16:39 -07:00
column_aware_encoding_exp.cc Add GPLv2 as an alternative license. 2017-04-27 18:06:12 -07:00
column_aware_encoding_test.cc Add GPLv2 as an alternative license. 2017-04-27 18:06:12 -07:00
column_aware_encoding_util.cc Improve Status message for block checksum mismatches 2017-06-28 21:27:01 -07:00
column_aware_encoding_util.h Move some files under util/ to separate dirs 2017-04-05 19:09:16 -07:00
debug.cc Add GetAllKeyVersions API 2017-05-12 15:54:06 -07:00
env_librados_test.cc Add GPLv2 as an alternative license. 2017-04-27 18:06:12 -07:00
env_librados.cc Remove double buffering on RandomRead on Windows. 2017-04-27 12:30:05 -07:00
env_librados.md Add EnvLibrados - RocksDB Env of RADOS (#1222) 2016-07-21 11:16:34 -07:00
env_mirror_test.cc Add GPLv2 as an alternative license. 2017-04-27 18:06:12 -07:00
env_mirror.cc Fixed some spelling mistakes 2017-05-17 23:12:36 -07:00
env_timed_test.cc using ThreadLocalPtr to hide ROCKSDB_SUPPORT_THREAD_LOCAL from public… 2017-06-02 17:26:19 -07:00
env_timed.cc Move some files under util/ to separate dirs 2017-04-05 19:09:16 -07:00
merge_operators.h Create a MergeOperator for Cassandra Row Value 2017-06-16 14:27:00 -07:00
object_registry_test.cc Generalize Env registration framework 2017-01-25 16:09:14 -08:00
util_merge_operators_test.cc Add GPLv2 as an alternative license. 2017-04-27 18:06:12 -07:00