• Oran Agra's avatar
    fix redis 6.0 not freeing closed connections during loading. · 9da134cd
    Oran Agra authored
    This bug was introduced by a recent change in which readQueryFromClient
    is using freeClientAsync, and despite the fact that now
    freeClientsInAsyncFreeQueue is in beforeSleep, that's not enough since
    it's not called during loading in processEventsWhileBlocked.
    furthermore, afterSleep was called in that case but beforeSleep wasn't.
    
    This bug also caused slowness sine the level-triggered mode of epoll
    kept signaling these connections as readable causing us to keep doing
    connRead again and again for ll of these, which keep accumulating.
    
    now both before and after sleep are called, but not all of their actions
    are performed during loading, some are only reserved for the main loop.
    
    fixes issue #7215
    9da134cd
rdb.tcl 6.08 KB