Revision 76f286cc828ed7da38261500829372964308a09e authored by Igor Canadi on 02 September 2015, 22:36:47 UTC, committed by Igor Canadi on 02 September 2015, 22:36:47 UTC
Summary:
This optimizes the case when (cache_index_and_filter_blocks=1) and bloom filter is not present in the cache.

Previously we did:
1. Read meta block from file
2. Read the filter position from the meta block
3. Read the filter

Now, we pre-load the filter position on Table::Open(), so we can skip steps (1) and (2) on bloom filter cache miss. Instead of 2 IOs, we do only 1.

Test Plan: make check

Reviewers: sdong

Reviewed By: sdong

Subscribers: dhruba, leveldb

Differential Revision: https://reviews.facebook.net/D46047
1 parent 0e6e547
Raw File
DUMP_FORMAT.md
## RocksDB dump format

The version 1 RocksDB dump format is fairly simple:

1) The dump starts with the magic 8 byte identifier "ROCKDUMP"

2) The magic is followed by an 8 byte big-endian version which is 0x00000001.

3) Next are arbitrarily sized chunks of bytes prepended by 4 byte little endian number indicating how large each chunk is.

4) The first chunk is special and is a json string indicating some things about the creation of this dump.  It contains the following keys:
* database-path: The path of the database this dump was created from.
* hostname: The hostname of the machine where the dump was created.
* creation-time: Unix seconds since epoc when this dump was created.

5) Following the info dump the slices paired into are key/value pairs.
back to top