Revision 2413a06c7bf2a1f3e86680ceb041e75c729f44f1 authored by Igor Canadi on 24 April 2014, 13:22:58 UTC, committed by Igor Canadi on 24 April 2014, 13:22:58 UTC
Summary:
Currently, whenever DB Verification fails we bail out by calling `exit(1)`. This is kind of bad since it causes unclean shutdown and spew of error log messages like:

    05:03:27 pthread lock: Invalid argument
    05:03:27 pthread lock: Invalid argument
    05:03:27 pthread lock: Invalid argument
    05:03:27 pthread lock: Invalid argument
    05:03:27 pthread lock: Invalid argument
    05:03:27 pthread lock: Invalid argument
    05:03:27 pthread lock: Invalid argument
    05:03:27 pthread lock: Invalid argument
    05:03:27 pthread lock: Invalid argument

This diff adds a new parameter that is set to true when verification fails. It can then use the parameter to bail out safely.

Test Plan: Casued artificail failure. Verified that exit was clean.

Reviewers: dhruba, haobo, ljin

Reviewed By: haobo

CC: leveldb

Differential Revision: https://reviews.facebook.net/D18243
1 parent d8fe006
History
File Mode Size
block.cc -rw-r--r-- 9.3 KB
block.h -rw-r--r-- 1.9 KB
block_based_table_builder.cc -rw-r--r-- 21.9 KB
block_based_table_builder.h -rw-r--r-- 3.6 KB
block_based_table_factory.cc -rw-r--r-- 2.1 KB
block_based_table_factory.h -rw-r--r-- 1.6 KB
block_based_table_reader.cc -rw-r--r-- 38.9 KB
block_based_table_reader.h -rw-r--r-- 7.8 KB
block_builder.cc -rw-r--r-- 4.6 KB
block_builder.h -rw-r--r-- 2.2 KB
block_hash_index.cc -rw-r--r-- 3.8 KB
block_hash_index.h -rw-r--r-- 2.5 KB
block_hash_index_test.cc -rw-r--r-- 3.7 KB
block_test.cc -rw-r--r-- 7.3 KB
filter_block.cc -rw-r--r-- 6.2 KB
filter_block.h -rw-r--r-- 3.1 KB
filter_block_test.cc -rw-r--r-- 4.1 KB
flush_block_policy.cc -rw-r--r-- 2.5 KB
format.cc -rw-r--r-- 8.8 KB
format.h -rw-r--r-- 5.8 KB
iter_heap.h -rw-r--r-- 1.2 KB
iterator.cc -rw-r--r-- 2.0 KB
iterator_wrapper.h -rw-r--r-- 2.1 KB
merger.cc -rw-r--r-- 8.0 KB
merger.h -rw-r--r-- 1.1 KB
meta_blocks.cc -rw-r--r-- 9.5 KB
meta_blocks.h -rw-r--r-- 5.1 KB
plain_table_builder.cc -rw-r--r-- 5.7 KB
plain_table_builder.h -rw-r--r-- 2.8 KB
plain_table_factory.cc -rw-r--r-- 2.1 KB
plain_table_factory.h -rw-r--r-- 3.6 KB
plain_table_reader.cc -rw-r--r-- 23.4 KB
plain_table_reader.h -rw-r--r-- 9.9 KB
table_builder.h -rw-r--r-- 2.0 KB
table_properties.cc -rw-r--r-- 4.0 KB
table_reader.h -rw-r--r-- 3.0 KB
table_reader_bench.cc -rw-r--r-- 9.9 KB
table_test.cc -rw-r--r-- 52.9 KB
two_level_iterator.cc -rw-r--r-- 6.1 KB
two_level_iterator.h -rw-r--r-- 1.6 KB

back to top