/src/rocksdb/cache/cache_reservation_manager.cc
Line | Count | Source (jump to first uncovered line) |
1 | | // Copyright (c) 2011-present, Facebook, Inc. All rights reserved. |
2 | | // This source code is licensed under both the GPLv2 (found in the |
3 | | // COPYING file in the root directory) and Apache 2.0 License |
4 | | // (found in the LICENSE.Apache file in the root directory). |
5 | | // |
6 | | // Copyright (c) 2011 The LevelDB Authors. All rights reserved. |
7 | | // Use of this source code is governed by a BSD-style license that can be |
8 | | // found in the LICENSE file. See the AUTHORS file for names of contributors. |
9 | | #include "cache/cache_reservation_manager.h" |
10 | | |
11 | | #include <cassert> |
12 | | #include <cstddef> |
13 | | #include <cstring> |
14 | | #include <memory> |
15 | | |
16 | | #include "rocksdb/cache.h" |
17 | | #include "rocksdb/slice.h" |
18 | | #include "rocksdb/status.h" |
19 | | #include "table/block_based/reader_common.h" |
20 | | #include "util/coding.h" |
21 | | |
22 | | namespace ROCKSDB_NAMESPACE { |
23 | | |
24 | | template <CacheEntryRole R> |
25 | | CacheReservationManagerImpl<R>::CacheReservationHandle::CacheReservationHandle( |
26 | | std::size_t incremental_memory_used, |
27 | | std::shared_ptr<CacheReservationManagerImpl> cache_res_mgr) |
28 | 0 | : incremental_memory_used_(incremental_memory_used) { |
29 | 0 | assert(cache_res_mgr); |
30 | 0 | cache_res_mgr_ = cache_res_mgr; |
31 | 0 | } Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)9>::CacheReservationHandle::CacheReservationHandle(unsigned long, std::__1::shared_ptr<rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)9> >) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)7>::CacheReservationHandle::CacheReservationHandle(unsigned long, std::__1::shared_ptr<rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)7> >) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)8>::CacheReservationHandle::CacheReservationHandle(unsigned long, std::__1::shared_ptr<rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)8> >) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)13>::CacheReservationHandle::CacheReservationHandle(unsigned long, std::__1::shared_ptr<rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)13> >) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)6>::CacheReservationHandle::CacheReservationHandle(unsigned long, std::__1::shared_ptr<rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)6> >) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)10>::CacheReservationHandle::CacheReservationHandle(unsigned long, std::__1::shared_ptr<rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)10> >) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)12>::CacheReservationHandle::CacheReservationHandle(unsigned long, std::__1::shared_ptr<rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)12> >) |
32 | | |
33 | | template <CacheEntryRole R> |
34 | | CacheReservationManagerImpl< |
35 | 0 | R>::CacheReservationHandle::~CacheReservationHandle() { |
36 | 0 | Status s = cache_res_mgr_->ReleaseCacheReservation(incremental_memory_used_); |
37 | 0 | s.PermitUncheckedError(); |
38 | 0 | } Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)9>::CacheReservationHandle::~CacheReservationHandle() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)7>::CacheReservationHandle::~CacheReservationHandle() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)8>::CacheReservationHandle::~CacheReservationHandle() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)13>::CacheReservationHandle::~CacheReservationHandle() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)6>::CacheReservationHandle::~CacheReservationHandle() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)10>::CacheReservationHandle::~CacheReservationHandle() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)12>::CacheReservationHandle::~CacheReservationHandle() |
39 | | |
40 | | template <CacheEntryRole R> |
41 | | CacheReservationManagerImpl<R>::CacheReservationManagerImpl( |
42 | | std::shared_ptr<Cache> cache, bool delayed_decrease) |
43 | | : cache_(cache), |
44 | | delayed_decrease_(delayed_decrease), |
45 | | cache_allocated_size_(0), |
46 | 5.44k | memory_used_(0) { |
47 | 5.44k | assert(cache != nullptr); |
48 | 5.44k | } Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)9>::CacheReservationManagerImpl(std::__1::shared_ptr<rocksdb::Cache>, bool) rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)7>::CacheReservationManagerImpl(std::__1::shared_ptr<rocksdb::Cache>, bool) Line | Count | Source | 46 | 5.44k | memory_used_(0) { | 47 | 5.44k | assert(cache != nullptr); | 48 | 5.44k | } |
Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)8>::CacheReservationManagerImpl(std::__1::shared_ptr<rocksdb::Cache>, bool) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)13>::CacheReservationManagerImpl(std::__1::shared_ptr<rocksdb::Cache>, bool) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)6>::CacheReservationManagerImpl(std::__1::shared_ptr<rocksdb::Cache>, bool) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)10>::CacheReservationManagerImpl(std::__1::shared_ptr<rocksdb::Cache>, bool) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)12>::CacheReservationManagerImpl(std::__1::shared_ptr<rocksdb::Cache>, bool) |
49 | | |
50 | | template <CacheEntryRole R> |
51 | 5.44k | CacheReservationManagerImpl<R>::~CacheReservationManagerImpl() { |
52 | 5.44k | for (auto* handle : dummy_handles_) { |
53 | 0 | cache_.ReleaseAndEraseIfLastRef(handle); |
54 | 0 | } |
55 | 5.44k | } Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)9>::~CacheReservationManagerImpl() rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)7>::~CacheReservationManagerImpl() Line | Count | Source | 51 | 5.44k | CacheReservationManagerImpl<R>::~CacheReservationManagerImpl() { | 52 | 5.44k | for (auto* handle : dummy_handles_) { | 53 | 0 | cache_.ReleaseAndEraseIfLastRef(handle); | 54 | 0 | } | 55 | 5.44k | } |
Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)8>::~CacheReservationManagerImpl() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)13>::~CacheReservationManagerImpl() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)6>::~CacheReservationManagerImpl() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)10>::~CacheReservationManagerImpl() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)12>::~CacheReservationManagerImpl() |
56 | | |
57 | | template <CacheEntryRole R> |
58 | | Status CacheReservationManagerImpl<R>::UpdateCacheReservation( |
59 | 0 | std::size_t new_mem_used) { |
60 | 0 | memory_used_ = new_mem_used; |
61 | 0 | std::size_t cur_cache_allocated_size = |
62 | 0 | cache_allocated_size_.load(std::memory_order_relaxed); |
63 | 0 | if (new_mem_used == cur_cache_allocated_size) { |
64 | 0 | return Status::OK(); |
65 | 0 | } else if (new_mem_used > cur_cache_allocated_size) { |
66 | 0 | Status s = IncreaseCacheReservation(new_mem_used); |
67 | 0 | return s; |
68 | 0 | } else { |
69 | | // In delayed decrease mode, we don't decrease cache reservation |
70 | | // untill the memory usage is less than 3/4 of what we reserve |
71 | | // in the cache. |
72 | | // We do this because |
73 | | // (1) Dummy entry insertion is expensive in block cache |
74 | | // (2) Delayed releasing previously inserted dummy entries can save such |
75 | | // expensive dummy entry insertion on memory increase in the near future, |
76 | | // which is likely to happen when the memory usage is greater than or equal |
77 | | // to 3/4 of what we reserve |
78 | 0 | if (delayed_decrease_ && new_mem_used >= cur_cache_allocated_size / 4 * 3) { |
79 | 0 | return Status::OK(); |
80 | 0 | } else { |
81 | 0 | Status s = DecreaseCacheReservation(new_mem_used); |
82 | 0 | return s; |
83 | 0 | } |
84 | 0 | } |
85 | 0 | } Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)9>::UpdateCacheReservation(unsigned long) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)7>::UpdateCacheReservation(unsigned long) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)8>::UpdateCacheReservation(unsigned long) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)13>::UpdateCacheReservation(unsigned long) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)6>::UpdateCacheReservation(unsigned long) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)10>::UpdateCacheReservation(unsigned long) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)12>::UpdateCacheReservation(unsigned long) |
86 | | |
87 | | template <CacheEntryRole R> |
88 | | Status CacheReservationManagerImpl<R>::MakeCacheReservation( |
89 | | std::size_t incremental_memory_used, |
90 | 0 | std::unique_ptr<CacheReservationManager::CacheReservationHandle>* handle) { |
91 | 0 | assert(handle); |
92 | 0 | Status s = |
93 | 0 | UpdateCacheReservation(GetTotalMemoryUsed() + incremental_memory_used); |
94 | 0 | (*handle).reset(new CacheReservationManagerImpl::CacheReservationHandle( |
95 | 0 | incremental_memory_used, |
96 | 0 | std::enable_shared_from_this< |
97 | 0 | CacheReservationManagerImpl<R>>::shared_from_this())); |
98 | 0 | return s; |
99 | 0 | } Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)9>::MakeCacheReservation(unsigned long, std::__1::unique_ptr<rocksdb::CacheReservationManager::CacheReservationHandle, std::__1::default_delete<rocksdb::CacheReservationManager::CacheReservationHandle> >*) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)7>::MakeCacheReservation(unsigned long, std::__1::unique_ptr<rocksdb::CacheReservationManager::CacheReservationHandle, std::__1::default_delete<rocksdb::CacheReservationManager::CacheReservationHandle> >*) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)8>::MakeCacheReservation(unsigned long, std::__1::unique_ptr<rocksdb::CacheReservationManager::CacheReservationHandle, std::__1::default_delete<rocksdb::CacheReservationManager::CacheReservationHandle> >*) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)13>::MakeCacheReservation(unsigned long, std::__1::unique_ptr<rocksdb::CacheReservationManager::CacheReservationHandle, std::__1::default_delete<rocksdb::CacheReservationManager::CacheReservationHandle> >*) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)6>::MakeCacheReservation(unsigned long, std::__1::unique_ptr<rocksdb::CacheReservationManager::CacheReservationHandle, std::__1::default_delete<rocksdb::CacheReservationManager::CacheReservationHandle> >*) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)10>::MakeCacheReservation(unsigned long, std::__1::unique_ptr<rocksdb::CacheReservationManager::CacheReservationHandle, std::__1::default_delete<rocksdb::CacheReservationManager::CacheReservationHandle> >*) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)12>::MakeCacheReservation(unsigned long, std::__1::unique_ptr<rocksdb::CacheReservationManager::CacheReservationHandle, std::__1::default_delete<rocksdb::CacheReservationManager::CacheReservationHandle> >*) |
100 | | |
101 | | template <CacheEntryRole R> |
102 | | Status CacheReservationManagerImpl<R>::ReleaseCacheReservation( |
103 | 0 | std::size_t incremental_memory_used) { |
104 | 0 | assert(GetTotalMemoryUsed() >= incremental_memory_used); |
105 | 0 | std::size_t updated_total_mem_used = |
106 | 0 | GetTotalMemoryUsed() - incremental_memory_used; |
107 | 0 | Status s = UpdateCacheReservation(updated_total_mem_used); |
108 | 0 | return s; |
109 | 0 | } Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)9>::ReleaseCacheReservation(unsigned long) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)7>::ReleaseCacheReservation(unsigned long) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)8>::ReleaseCacheReservation(unsigned long) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)13>::ReleaseCacheReservation(unsigned long) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)6>::ReleaseCacheReservation(unsigned long) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)10>::ReleaseCacheReservation(unsigned long) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)12>::ReleaseCacheReservation(unsigned long) |
110 | | |
111 | | template <CacheEntryRole R> |
112 | | Status CacheReservationManagerImpl<R>::IncreaseCacheReservation( |
113 | 0 | std::size_t new_mem_used) { |
114 | 0 | Status return_status = Status::OK(); |
115 | 0 | while (new_mem_used > cache_allocated_size_.load(std::memory_order_relaxed)) { |
116 | 0 | Cache::Handle* handle = nullptr; |
117 | 0 | return_status = cache_.Insert(GetNextCacheKey(), kSizeDummyEntry, &handle); |
118 | |
|
119 | 0 | if (return_status != Status::OK()) { |
120 | 0 | return return_status; |
121 | 0 | } |
122 | | |
123 | 0 | dummy_handles_.push_back(handle); |
124 | 0 | cache_allocated_size_ += kSizeDummyEntry; |
125 | 0 | } |
126 | 0 | return return_status; |
127 | 0 | } Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)9>::IncreaseCacheReservation(unsigned long) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)7>::IncreaseCacheReservation(unsigned long) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)8>::IncreaseCacheReservation(unsigned long) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)13>::IncreaseCacheReservation(unsigned long) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)6>::IncreaseCacheReservation(unsigned long) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)10>::IncreaseCacheReservation(unsigned long) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)12>::IncreaseCacheReservation(unsigned long) |
128 | | |
129 | | template <CacheEntryRole R> |
130 | | Status CacheReservationManagerImpl<R>::DecreaseCacheReservation( |
131 | 0 | std::size_t new_mem_used) { |
132 | 0 | Status return_status = Status::OK(); |
133 | | |
134 | | // Decrease to the smallest multiple of kSizeDummyEntry that is greater than |
135 | | // or equal to new_mem_used We do addition instead of new_mem_used <= |
136 | | // cache_allocated_size_.load(std::memory_order_relaxed) - kSizeDummyEntry to |
137 | | // avoid underflow of size_t when cache_allocated_size_ = 0 |
138 | 0 | while (new_mem_used + kSizeDummyEntry <= |
139 | 0 | cache_allocated_size_.load(std::memory_order_relaxed)) { |
140 | 0 | assert(!dummy_handles_.empty()); |
141 | 0 | auto* handle = dummy_handles_.back(); |
142 | 0 | cache_.ReleaseAndEraseIfLastRef(handle); |
143 | 0 | dummy_handles_.pop_back(); |
144 | 0 | cache_allocated_size_ -= kSizeDummyEntry; |
145 | 0 | } |
146 | 0 | return return_status; |
147 | 0 | } Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)9>::DecreaseCacheReservation(unsigned long) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)7>::DecreaseCacheReservation(unsigned long) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)8>::DecreaseCacheReservation(unsigned long) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)13>::DecreaseCacheReservation(unsigned long) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)6>::DecreaseCacheReservation(unsigned long) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)10>::DecreaseCacheReservation(unsigned long) Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)12>::DecreaseCacheReservation(unsigned long) |
148 | | |
149 | | template <CacheEntryRole R> |
150 | 0 | std::size_t CacheReservationManagerImpl<R>::GetTotalReservedCacheSize() { |
151 | 0 | return cache_allocated_size_.load(std::memory_order_relaxed); |
152 | 0 | } Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)9>::GetTotalReservedCacheSize() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)7>::GetTotalReservedCacheSize() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)8>::GetTotalReservedCacheSize() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)13>::GetTotalReservedCacheSize() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)6>::GetTotalReservedCacheSize() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)10>::GetTotalReservedCacheSize() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)12>::GetTotalReservedCacheSize() |
153 | | |
154 | | template <CacheEntryRole R> |
155 | 0 | std::size_t CacheReservationManagerImpl<R>::GetTotalMemoryUsed() { |
156 | 0 | return memory_used_; |
157 | 0 | } Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)9>::GetTotalMemoryUsed() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)7>::GetTotalMemoryUsed() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)8>::GetTotalMemoryUsed() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)13>::GetTotalMemoryUsed() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)6>::GetTotalMemoryUsed() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)10>::GetTotalMemoryUsed() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)12>::GetTotalMemoryUsed() |
158 | | |
159 | | template <CacheEntryRole R> |
160 | 0 | Slice CacheReservationManagerImpl<R>::GetNextCacheKey() { |
161 | | // Calling this function will have the side-effect of changing the |
162 | | // underlying cache_key_ that is shared among other keys generated from this |
163 | | // fucntion. Therefore please make sure the previous keys are saved/copied |
164 | | // before calling this function. |
165 | 0 | cache_key_ = CacheKey::CreateUniqueForCacheLifetime(cache_.get()); |
166 | 0 | return cache_key_.AsSlice(); |
167 | 0 | } Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)9>::GetNextCacheKey() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)7>::GetNextCacheKey() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)8>::GetNextCacheKey() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)13>::GetNextCacheKey() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)6>::GetNextCacheKey() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)10>::GetNextCacheKey() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)12>::GetNextCacheKey() |
168 | | |
169 | | template <CacheEntryRole R> |
170 | | const Cache::CacheItemHelper* |
171 | 0 | CacheReservationManagerImpl<R>::TEST_GetCacheItemHelperForRole() { |
172 | 0 | return CacheInterface::GetHelper(); |
173 | 0 | } Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)9>::TEST_GetCacheItemHelperForRole() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)7>::TEST_GetCacheItemHelperForRole() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)8>::TEST_GetCacheItemHelperForRole() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)13>::TEST_GetCacheItemHelperForRole() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)6>::TEST_GetCacheItemHelperForRole() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)10>::TEST_GetCacheItemHelperForRole() Unexecuted instantiation: rocksdb::CacheReservationManagerImpl<(rocksdb::CacheEntryRole)12>::TEST_GetCacheItemHelperForRole() |
174 | | |
175 | | template class CacheReservationManagerImpl< |
176 | | CacheEntryRole::kBlockBasedTableReader>; |
177 | | template class CacheReservationManagerImpl< |
178 | | CacheEntryRole::kCompressionDictionaryBuildingBuffer>; |
179 | | template class CacheReservationManagerImpl<CacheEntryRole::kFilterConstruction>; |
180 | | template class CacheReservationManagerImpl<CacheEntryRole::kMisc>; |
181 | | template class CacheReservationManagerImpl<CacheEntryRole::kWriteBuffer>; |
182 | | template class CacheReservationManagerImpl<CacheEntryRole::kFileMetadata>; |
183 | | template class CacheReservationManagerImpl<CacheEntryRole::kBlobCache>; |
184 | | } // namespace ROCKSDB_NAMESPACE |