File tree Expand file tree Collapse file tree 4 files changed +18
-1
lines changed Expand file tree Collapse file tree 4 files changed +18
-1
lines changed Original file line number Diff line number Diff line change @@ -261,6 +261,17 @@ size_t EPVBucket::getNumItems() const {
261261 }
262262}
263263
264+ size_t EPVBucket::getNumNonResidentItems () const {
265+ if (eviction == VALUE_ONLY) {
266+ return ht.getNumInMemoryNonResItems ();
267+ } else {
268+ size_t num_items = ht.getNumItems ();
269+ size_t num_res_items =
270+ ht.getNumInMemoryItems () - ht.getNumInMemoryNonResItems ();
271+ return num_items > num_res_items ? (num_items - num_res_items) : 0 ;
272+ }
273+ }
274+
264275ENGINE_ERROR_CODE EPVBucket::statsVKey (const DocKey& key,
265276 const void * cookie,
266277 EventuallyPersistentEngine& engine,
Original file line number Diff line number Diff line change @@ -71,6 +71,8 @@ class EPVBucket : public VBucket {
7171
7272 size_t getNumItems () const override ;
7373
74+ size_t getNumNonResidentItems () const override ;
75+
7476 ENGINE_ERROR_CODE statsVKey (const DocKey& key,
7577 const void * cookie,
7678 EventuallyPersistentEngine& engine,
Original file line number Diff line number Diff line change @@ -72,6 +72,10 @@ class EphemeralVBucket : public VBucket {
7272
7373 size_t getNumItems () const override ;
7474
75+ size_t getNumNonResidentItems () const override {
76+ return 0 ;
77+ }
78+
7579 ENGINE_ERROR_CODE statsVKey (const DocKey& key,
7680 const void * cookie,
7781 EventuallyPersistentEngine& engine,
Original file line number Diff line number Diff line change @@ -556,7 +556,7 @@ class VBucket : public std::enable_shared_from_this<VBucket> {
556556 */
557557 virtual size_t getNumItems () const = 0;
558558
559- size_t getNumNonResidentItems () const ;
559+ virtual size_t getNumNonResidentItems () const = 0 ;
560560
561561 size_t getNumTempItems (void ) {
562562 return ht.getNumTempItems ();
You can’t perform that action at this time.
0 commit comments