Bug #24045
Eviction still raced with scrub due to preemption
0%
Description
We put code in cache tier eviction to check the scrub range, but that isn't sufficient. During scrub preemption restart we are selecting a smaller chunk. This allows eviction to evict something that had already been sent to the replica. The cleaned_meta_map can buffer the ScrubMap for a new evicted snapshot. The eviction will be received by the replica and the head object will be modified before _scan_snaps() is called with the removed snapshot still present.
snaps missing in mapper, should be: 188,18f,191,195,197,198,199,19d,19e,1a1,1a3 was r -2...repaired
$ git br --contains 83861a5b75ddb98366f1ec106487b88703f25cf7 | grep wip-kefu-testing-2018-05-05-1912- wip-kefu-testing-2018-05-05-1912
Piecing together the sequence of events:
Chunk including smithi16216580-301...:2e but NOT its head object sent to replica
Replica stores smithi16216580-301...:2e in cleaned_meta_map
Preemption causes new chunk which does NOT include smithi16216580-301...:2e
Eviction is able to delete smithi16216580-301...:2e from cache tier
Replica sees delete and removes snapshot from head object
Scrub gets back to handling a chunk which includes smithi16216580-301...:head
Replica _scan_snaps() outputs error because snapshot 2e is present but head doesn't include it.
Related issues
History
#1 Updated by David Zafman almost 6 years ago
- Priority changed from Normal to Urgent
#2 Updated by David Zafman almost 6 years ago
- Related to Bug #23909: snaps missing in mapper, should be: 188,18f,191,195,197,198,199,19d,19e,1a1,1a3 was r -2...repaired added
#3 Updated by David Zafman almost 6 years ago
- Related to Bug #22881: scrub interaction with HEAD boundaries and snapmapper repair is broken added
#4 Updated by Sage Weil almost 6 years ago
- Status changed from 12 to Pending Backport
- Backport changed from luminous to luminous,mimic
#5 Updated by David Zafman almost 6 years ago
- Copied to Backport #24149: mimic: Eviction still raced with scrub due to preemption added
#6 Updated by David Zafman almost 6 years ago
- Copied to Backport #24153: luminous: Eviction still raced with scrub due to preemption added
#7 Updated by David Zafman almost 6 years ago
- Status changed from Pending Backport to Resolved
#8 Updated by David Zafman about 5 years ago
- Pull request ID set to 21892
#9 Updated by David Zafman about 5 years ago
- Related to Bug #38840: snaps missing in mapper, should be: ca was r -2...repaired added