Details
-
Bug
-
Resolution: Fixed
-
Critical
-
6.0.5, 6.6.6, 7.0.4, 7.1.3
-
Triaged
-
0
-
Yes
Description
Very similar to MB-54975.
replicaHTMemory and replicaCheckpointOverhead are not tracked correctly when rolling back a replica vBucket as no call is made to EphemeralVBucket::updateStatsForStateChange(); the function is only called when changing the vBucket state. Rolling back the vBucket resets the vBucket removing any items and "resetting" the hash table stats, but does not update this per-Bucket stat.
The issue results in incorrect memory tracking of replica vBuckets in Ephemeral Buckets which can cause the item pager to skip paging out anything as it things memory usage is already low enough. Whilst the issue was introduced with the fix for MB-41804, it appears to manifest in the same way (sustained tmp_ooms during workload).