mirror of
https://github.com/facebook/rocksdb.git
synced 2024-11-26 07:30:54 +00:00
Assert get_context not null in BlockBasedTable::Get() (#5542)
Summary: clang analyze fails after https://github.com/facebook/rocksdb/pull/5514 for this failure: table/block_based/block_based_table_reader.cc:3450:16: warning: Called C++ object pointer is null if (!get_context->SaveValue( ^~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. The reaon is that a branching is added earlier in the function on get_context is null or not, CLANG analyze thinks that it can be null and we make the function call withou the null checking. Fix the issue by removing the branch and add an assert. Pull Request resolved: https://github.com/facebook/rocksdb/pull/5542 Test Plan: "make all check" passes and CLANG analyze failure goes away. Differential Revision: D16133988 fbshipit-source-id: d4627d03c4746254cc11926c523931086ccebcda
This commit is contained in:
parent
4f66ec977d
commit
2de61d9129
|
@ -3335,13 +3335,13 @@ Status BlockBasedTable::Get(const ReadOptions& read_options, const Slice& key,
|
|||
const SliceTransform* prefix_extractor,
|
||||
bool skip_filters) {
|
||||
assert(key.size() >= 8); // key must be internal key
|
||||
assert(get_context != nullptr);
|
||||
Status s;
|
||||
const bool no_io = read_options.read_tier == kBlockCacheTier;
|
||||
CachableEntry<FilterBlockReader> filter_entry;
|
||||
bool may_match;
|
||||
FilterBlockReader* filter = nullptr;
|
||||
uint64_t tracing_get_id = get_context ? get_context->tracing_get_id()
|
||||
: BlockCacheTraceHelper::kReservedGetId;
|
||||
uint64_t tracing_get_id = get_context->tracing_get_id();
|
||||
BlockCacheLookupContext lookup_context{TableReaderCaller::kUserGet,
|
||||
tracing_get_id};
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue