]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
os/bluestore: create the tail when first set FLAG_OMAP 28963/head
authorningtao <ningtao@sangfor.com.cn>
Tue, 28 May 2019 15:42:47 +0000 (23:42 +0800)
committerIgor Fedotov <ifedotov@suse.com>
Wed, 10 Jul 2019 15:22:26 +0000 (18:22 +0300)
commit0c4bc84077ecd5b7f101ee8f464395e433a066be
tree0791f511e891b4e21c1c32adea8ab64ae0a18955
parenta347d29e9a9f48a29042be78a4e58bd4ca5dbdfc
os/bluestore: create the tail when first set FLAG_OMAP

the omap iterator when listing omap use the tail of '~', when the iterator moved to the last key of the omapswe wanted, we will try to call extra next(), usually this will be another object's omap header(with '-'). IF there are some deleted key or tombstones, rocksdb will fall in the loop of FindNextUserEntryInternal until find a valid key, so it will travels all dead key in mid and read the sst file heavily.

Signed-off-by: Tao Ning <ningtao@sangfor.com.cn>
(cherry picked from commit 0d01fb0fc65a9b1fe585b33ae1ca22e4805fd7f9)
src/os/bluestore/BlueStore.cc