• Binbin's avatar
    Fix the bug that CLIENT REPLY OFF|SKIP cannot receive push notifications (#11875) · 416842e6
    Binbin authored
    This bug seems to be there forever, CLIENT REPLY OFF|SKIP will
    mark the client with CLIENT_REPLY_OFF or CLIENT_REPLY_SKIP flags.
    With these flags, prepareClientToWrite called by addReply* will
    return C_ERR directly. So the client can't receive the Pub/Sub
    messages and any other push notifications, e.g client side tracking.
    
    In this PR, we adding a CLIENT_PUSHING flag, disables the reply
    silencing flags. When adding push replies, set the flag, after the reply,
    clear the flag. Then add the flag check in prepareClientToWrite.
    
    Fixes #11874
    
    Note, the SUBSCRIBE command response is a bit awkward,
    see https://github.com/redis/redis-doc/pull/2327
    
    Co-authored-by: default avatarOran Agra <oran@redislabs.com>
    416842e6
networking.c 170 KB