• Nils Goroll's avatar
    Rush waiters specifically · f2fdfead
    Nils Goroll authored
    Waiters hang off the objhead, so the simple fact that we manipulate
    some objcore on the same objhead does not imply that there are
    relevant news to the waiters.
    
    We now are more specific about when we wake up waiters and how many.
    
    Never for
    - expiry / ban / purge / nuke
    - stale objects we just happen to reference
    
    We do want to rush when
    - fetching a busy object failed or got aborted: We should wake up one
      waiter to re-attempt the fetch
    - we succeeded fetching a busy object or delivering: Rush more waiters
      by policy
    
    This fixes the general issue described in #1928 that we should not
    rush when expiring.
    
    Closes #1945
    f2fdfead
cache_busyobj.c 4.38 KB