• Nick Craver's avatar
    Fix SentinelGetMasterAddressByName · e898ec45
    Nick Craver authored
    This is interesting, and may explain some other hangs. Previously, arr was null, and the .Length call in the MultiBulk case was throwing a null ref. This doesn't throw externally through, it just runs forever. While there's a timeout guard against this on the ExecuteSync path, there's not on ExecuteAsync. This is easy to reproduce for example add this at the top of the result processor:
    
    if (result.Type == ResultType.MultiBulk) throw new Exception("Woops");
    
    ...and we'll only see timeouts on sync and forever runs on async. I left this code in (commented) for an easy repro case.
    
    /cc @mgravell
    e898ec45
Sentinel.cs 3.83 KB