• Binbin's avatar
    Fix XREADGROUP BLOCK stuck in endless loop (#12301) · e7129e43
    Binbin authored
    
    
    For the XREADGROUP BLOCK > scenario, there is an endless loop.
    Due to #11012, it keep going, reprocess command -> blockForKeys -> reprocess command
    
    The right fix is to avoid an endless loop in handleClientsBlockedOnKey and handleClientsBlockedOnKeys,
    looks like there was some attempt in handleClientsBlockedOnKeys but maybe not sufficiently good,
    and it looks like using a similar trick in handleClientsBlockedOnKey is complicated.
    i.e. stashing the list on the stack and iterating on it after creating a fresh one for future use,
    is problematic since the code keeps accessing the global list.
    Co-authored-by: default avatarOran Agra <oran@redislabs.com>
    e7129e43
blocked.c 32.1 KB