Avoid pinning when row cache is accessed
Summary: With row cache being enabled, table cache is doing a short circuit for reading data. This path needs to be updated to take advantage of pinnable slice. In the meanwhile we disabling pinning in this path. Closes https://github.com/facebook/rocksdb/pull/2237 Differential Revision: D4982389 Pulled By: maysamyabandeh fbshipit-source-id: 542630d0cf23cfb1f0c397da82e7053df7966591
This commit is contained in:
parent
aeaba07b2a
commit
47a09b0a88
@ -182,7 +182,6 @@ bool GetContext::SaveValue(const ParsedInternalKey& parsed_key,
|
|||||||
void replayGetContextLog(const Slice& replay_log, const Slice& user_key,
|
void replayGetContextLog(const Slice& replay_log, const Slice& user_key,
|
||||||
GetContext* get_context) {
|
GetContext* get_context) {
|
||||||
#ifndef ROCKSDB_LITE
|
#ifndef ROCKSDB_LITE
|
||||||
static Cleanable nonToClean;
|
|
||||||
Slice s = replay_log;
|
Slice s = replay_log;
|
||||||
while (s.size()) {
|
while (s.size()) {
|
||||||
auto type = static_cast<ValueType>(*s.data());
|
auto type = static_cast<ValueType>(*s.data());
|
||||||
@ -195,8 +194,7 @@ void replayGetContextLog(const Slice& replay_log, const Slice& user_key,
|
|||||||
// Since SequenceNumber is not stored and unknown, we will use
|
// Since SequenceNumber is not stored and unknown, we will use
|
||||||
// kMaxSequenceNumber.
|
// kMaxSequenceNumber.
|
||||||
get_context->SaveValue(
|
get_context->SaveValue(
|
||||||
ParsedInternalKey(user_key, kMaxSequenceNumber, type), value,
|
ParsedInternalKey(user_key, kMaxSequenceNumber, type), value, nullptr);
|
||||||
&nonToClean);
|
|
||||||
}
|
}
|
||||||
#else // ROCKSDB_LITE
|
#else // ROCKSDB_LITE
|
||||||
assert(false);
|
assert(false);
|
||||||
|
Loading…
Reference in New Issue
Block a user