rocksdb/table/plain
Peter Dillinger fe464bca5c Fix PlainTableReader not to crash sst_dump (#5940)
Summary:
Plain table SSTs could crash sst_dump because of a bug in
PlainTableReader that can leave table_properties_ as null. Even if it
was intended not to keep the table properties in some cases, they were
leaked on the offending code path.

Steps to reproduce:

    $ db_bench --benchmarks=fillrandom --num=2000000 --use_plain_table --prefix-size=12
    $ sst_dump --file=0000xx.sst --show_properties
    from [] to []
    Process /dev/shm/dbbench/000014.sst
    Sst file format: plain table
    Raw user collected properties
    ------------------------------
    Segmentation fault (core dumped)

Also added missing unit testing of plain table full_scan_mode, and
an assertion in NewIterator to check for regression.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/5940

Test Plan: new unit test, manual, make check

Differential Revision: D18018145

Pulled By: pdillinger

fbshipit-source-id: 4310c755e824c4cd6f3f86a3abc20dfa417c5e07
2019-10-18 14:44:42 -07:00
..
plain_table_bloom.cc Apply formatter to recent 200+ commits. (#5830) 2019-09-20 12:04:26 -07:00
plain_table_bloom.h Apply formatter to recent 200+ commits. (#5830) 2019-09-20 12:04:26 -07:00
plain_table_builder.cc Divide file_reader_writer.h and .cc (#5803) 2019-09-16 10:33:51 -07:00
plain_table_builder.h Use delete to disable automatic generated methods. (#5009) 2019-09-11 18:09:00 -07:00
plain_table_factory.cc Organizing rocksdb/table directory by format 2019-05-30 14:51:11 -07:00
plain_table_factory.h Organizing rocksdb/table directory by format 2019-05-30 14:51:11 -07:00
plain_table_index.cc simplify include directive involving inttypes (#5402) 2019-06-06 13:56:07 -07:00
plain_table_index.h Move some memory related files from util/ to memory/ (#5382) 2019-05-30 17:44:09 -07:00
plain_table_key_coding.cc Divide file_reader_writer.h and .cc (#5803) 2019-09-16 10:33:51 -07:00
plain_table_key_coding.h Move some memory related files from util/ to memory/ (#5382) 2019-05-30 17:44:09 -07:00
plain_table_reader.cc Fix PlainTableReader not to crash sst_dump (#5940) 2019-10-18 14:44:42 -07:00
plain_table_reader.h Fix PlainTableReader not to crash sst_dump (#5940) 2019-10-18 14:44:42 -07:00