-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: 3.6.3, 3.6.4
-
Component/s: Replication
-
Minor Change
-
ALL
-
v4.9, v4.4, v4.2, v4.0, v3.6
-
Repl 2021-03-08, Repl 2021-04-05
-
(copied to CRM)
We only advance the oldest timestamp at oplog batch boundaries. This means that all dirty content generated by the application of the operations in a single batch will be pinned in cache. If the batch is large enough and the operations are heavy enough this dirty content can exceed eviction_dirty_trigger (default 20% of cache) and the rate of applying operations will become dramatically slower because it has to wait for the dirty data to be reduced below the threshold.
This can be triggered by a momentary slowdown on a secondary causing it to lag momentarily, so the next batch it processes will be unusually large, causing it to exceed 20% dirty cache. This will cause it to lag even further, so the next batch will be even larger, and so on. In extreme cases the node can become completely stuck due to full cache preventing a batch from completing and unpinning the data that is keeping the cache full.
This can also occur if a secondary is offline for maintenance; when it comes back online and begins to catch up, it will be processing large batches that risk exceeding the dirty trigger threshold, so it may apply operations at a much slower rate than a secondary that is keeping up and processing operations in small batches.
- is depended on by
-
SERVER-35958 Big CPU load increase (×4) on secondary by upgrading 3.4.15 → 3.6.5
- Closed
- is duplicated by
-
SERVER-35339 Complete recovery failure after unclean shutdown
- Closed
- is related to
-
SERVER-36495 Cache pressure issues during recovery oplog application
- Closed
-
SERVER-36496 Cache pressure issues during oplog replay in initial sync
- Closed
-
SERVER-35405 Change default setting for replBatchLimitOperations
- Closed
- related to
-
SERVER-37849 Poor replication performance and cache-full hang on secondary due to pinned content
- Backlog
-
SERVER-33191 Cache-full hangs on 3.6
- Closed
-
SERVER-34941 Add testing to cover cases where timestamps cause cache pressure
- Closed
-
SERVER-34942 Stuck with cache full during oplog replay in initial sync
- Closed
-
SERVER-35103 Checkpoint creates unevictable clean content
- Closed
-
SERVER-35191 Stuck with cache full during rollback
- Closed
- mentioned in
-
Page Loading...