2881099 / FreeRedis

🦄 FreeRedis is .NET40+ redis client. supports cluster, sentinel, master-slave, pub-sub, lua, pipeline, transaction, streams, client-side-caching, and pooling.
MIT License
913 stars 163 forks source link

Sentinel error ? #136

Closed dangminhbk closed 1 year ago

dangminhbk commented 1 year ago
   at System.Net.Dns.GetHostEntryOrAddressesCore(String hostName, Boolean justAddresses, AddressFamily addressFamily, Int64 startingTimestamp)
   at System.Net.Dns.GetHostAddresses(String hostNameOrAddress, AddressFamily family)
   at FreeRedis.Internal.DefaultRedisSocket.Connect() in D:\Work\AllNewDifferentCafef\CafeF.NewAPI\FreeRedis\Internal\DefaultRedisSocket.cs:line 239
   at FreeRedis.Internal.DefaultRedisSocket.Write(CommandPacket cmd) in D:\Work\AllNewDifferentCafef\CafeF.NewAPI\FreeRedis\Internal\DefaultRedisSocket.cs:line 164
   at FreeRedis.RedisClient.SingleInsideAdapter.<>c__DisplayClass5_0`1.<AdapterCall>b__0() in D:\Work\AllNewDifferentCafef\CafeF.NewAPI\FreeRedis\RedisClient\Adapter\SingleInsideAdapter.cs:line 47
   at FreeRedis.RedisClient.LogCallCtrl[T](CommandPacket cmd, Func`1 func, Boolean aopBefore, Boolean aopAfter) in D:\Work\AllNewDifferentCafef\CafeF.NewAPI\FreeRedis\RedisClient.cs:line 95
   at FreeRedis.RedisClient.LogCall[T](CommandPacket cmd, Func`1 func) in D:\Work\AllNewDifferentCafef\CafeF.NewAPI\FreeRedis\RedisClient.cs:line 90
   at FreeRedis.RedisClient.SingleInsideAdapter.AdapterCall[TValue](CommandPacket cmd, Func`2 parse) in D:\Work\AllNewDifferentCafef\CafeF.NewAPI\FreeRedis\RedisClient\Adapter\SingleInsideAdapter.cs:line 45
   at FreeRedis.RedisClient.Call[TValue](CommandPacket cmd, Func`2 parse) in D:\Work\AllNewDifferentCafef\CafeF.NewAPI\FreeRedis\RedisClient.cs:line 88
   at FreeRedis.RedisClient.Ping(String message) in D:\Work\AllNewDifferentCafef\CafeF.NewAPI\FreeRedis\RedisClient\Connection.cs:line 94
   at FreeRedis.Internal.RedisClientPoolPolicy.PrevReheatConnectionPool(ObjectPool`1 pool, Int32 minPoolSize) in D:\Work\AllNewDifferentCafef\CafeF.NewAPI\FreeRedis\Internal\RedisClientPool.cs:line 236

Why somewhere in the code do dns lookup with ip ? It throw exception "No such host is known.". I do some research that if you do dns look up on ip address, most likely it will fail. Or maybe it belong to other error ?

2881099 commented 1 year ago

IPAddress.TryParse(_ip, out var tryip)

try debugger

dangminhbk commented 1 year ago

image My config is not wrong. Sentinel work fine with read operations. But when i do pipe/write operation, it end up like that. It seem the Host value took from RedisClientPool.cs:line 236

dangminhbk commented 1 year ago

My misstake, there are other redis client in my code base with miss configuration, so its contructor refer to Pooling Client.