• sundb's avatar
    Fix the missing server.dirty increment and redundant signalModifiedKey in... · f106beeb
    sundb authored
    Fix the missing server.dirty increment and redundant signalModifiedKey in serveClientBlockedOnList (#11326)
    
    Mainly fix two minor bug
    1. When handle BL*POP/BLMOVE commands with blocked clients, we should increment server.dirty.
    2.  `listPopRangeAndReplyWithKey()` in `serveClientBlockedOnList()` should not repeat calling
       `signalModifiedKey()` which has been called when an element was pushed on the list.
       (was skipped in all bpop commands, other than blmpop) 
    
    Other optimization
    add `signal` param for `listElementsRemoved` to skip `signalModifiedKey()` to unify all pop operation.
    
    Unifying all pop operations also prepares us for #11303, so that we can avoid having to deal with the
    conversion from quicklist to listpack() in various places when the list shrinks.
    f106beeb
t_list.c 40.8 KB