From 27054d837b31d6cb358756adf9711c40bda74ecf Mon Sep 17 00:00:00 2001 From: Andrew Kryczka Date: Wed, 23 Jan 2019 15:36:31 -0800 Subject: [PATCH] Call NewDataBlockIterator with correct arguments in DB::Get (#4913) Summary: The pointer `get_context` was passed as the value for the boolean argument `index_key_is_full`. Luckily the pointer was always non-null so evaluated to true which is the correct value for the boolean argument. But we were missing out on batch updates to stats since we were not passing anything for the `GetContext*` argument and it defaults to `nullptr`. Pull Request resolved: https://github.com/facebook/rocksdb/pull/4913 Differential Revision: D13791449 Pulled By: ajkr fbshipit-source-id: dbe40bf406c64d34cb5298604145d18b9e0ca9be --- table/block_based_table_reader.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/table/block_based_table_reader.cc b/table/block_based_table_reader.cc index 8debd509a..c8dc01bfe 100644 --- a/table/block_based_table_reader.cc +++ b/table/block_based_table_reader.cc @@ -2518,7 +2518,8 @@ Status BlockBasedTable::Get(const ReadOptions& read_options, const Slice& key, DataBlockIter biter; NewDataBlockIterator( rep_, read_options, iiter->value(), &biter, false, - true /* key_includes_seq */, get_context); + true /* key_includes_seq */, true /* index_key_is_full */, + get_context); if (read_options.read_tier == kBlockCacheTier && biter.status().IsIncomplete()) {