Fix SentinelGetMasterAddressByName
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
Showing
Please register or sign in to comment