• 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
Name
Last commit
Last update
.vscode Loading commit data...
BasicTest Loading commit data...
BasicTestBaseline Loading commit data...
ConnectionWatcher Loading commit data...
NRediSearch Loading commit data...
NRediSearch.Test Loading commit data...
RedisConfigs Loading commit data...
StackExchange.Redis Loading commit data...
StackExchange.Redis.Modules Loading commit data...
StackExchange.Redis.StrongName Loading commit data...
StackExchange.Redis.Tests Loading commit data...
TestConsole Loading commit data...
docs Loading commit data...
.editorconfig Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
Directory.build.props Loading commit data...
LICENSE Loading commit data...
NuGet.Config Loading commit data...
README.md Loading commit data...
StackExchange.Redis.sln Loading commit data...
StackExchange.Redis.sln.DotSettings Loading commit data...
StackExchange.Redis.snk Loading commit data...
appveyor.yml Loading commit data...
build.cmd Loading commit data...
build.ps1 Loading commit data...
global.json Loading commit data...
version.json Loading commit data...