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).
Attachments
Issue Links
For Gerrit Dashboard: MB-55694 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
187306,1 | MB-55694: Update eph replica mem stats at rollback | mad-hatter | kv_engine | Status: ABANDONED | -1 | +1 |
187360,2 | MB-55694: Pull out common code from EphemeralBucketStatTest | neo | kv_engine | Status: MERGED | +2 | +1 |
187361,4 | MB-55694: Update replicaHTMemory stat when clearing HashTable | neo | kv_engine | Status: MERGED | +2 | +1 |
188307,86 | MB-55694 : Validating Ephemeral replica memory stats not tracked correctly when rolling back vBucket | neo | TAF | Status: MERGED | +2 | +1 |
191784,24 | MB-55694 : Validating Ephemeral replica memory stats not tracked correctly when rolling back vBucket | master | TAF | Status: MERGED | +2 | +1 |
191802,4 | Merge commit neo/967a7a340 into master | master | kv_engine | Status: ABANDONED | 0 | 0 |
192073,2 | Merge commit neo/4268ca2e5 into master | master | kv_engine | Status: MERGED | +2 | +1 |
192083,1 | Merge commit neo/76ad48836 into master | master | kv_engine | Status: MERGED | +2 | +1 |