• Moti Cohen's avatar
    Refactor and (internally) rebrand from pause-clients to pause-actions (#11098) · c0d72262
    Moti Cohen authored
    Renamed from "Pause Clients" to "Pause Actions" since the mechanism can pause
    several actions in redis, not just clients (e.g. eviction, expiration).
    
    Previously each pause purpose (which has a timeout that's tracked separately from others purposes),
    also implicitly dictated what it pauses (reads, writes, eviction, etc). Now it is explicit, and
    the actions that are paused (bit flags) are defined separately from the purpose.
    
    - Previously, when using feature pause-client it also implicitly means to make the server static:
      - Pause replica traffic
      - Pauses eviction processing
      - Pauses expire processing
    
    Making the server static is used also for failover and shutdown. This PR internally rebrand
    pause-client API to become pause-action API. It also Simplifies pauseClients structure
    by replacing pointers array with static array.
    
    The context of this PR is to add another trigger to pause-client which will activated in case
    of OOM as throttling mechanism ([see here](https://github.com/redis/redis/issues/10907)).
    In this case we want only to pause client, and eviction actions.
    c0d72262
db.c 87 KB