microsoftarchive / redis

Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes
http://redis.io
Other
20.78k stars 5.37k forks source link

Fixes issue with master killing client connections while redis is write #517

Open Aaron-2016 opened 7 years ago

Aaron-2016 commented 7 years ago

Fixes issue with master killing client connections while redis is under high write loads

reply_bytes was being wrapped to huge values, e.g.omem=18446744073709551601 causing redis to close the connection as it thought the client buffer limit had been exceeded.

See https://github.com/antirez/redis/blob/3.0/src/networking.c#L827

Misterhex commented 7 years ago

is this related to #546 ?

Misterhex commented 7 years ago

facing similar issue here. our master is constantly dropping slave connections which in turn is causing our slaves to reconnect to master and re-syncing its replication.

replconf scheduled to be closed ASAP for overcoming of output buffer limits

jdawgtech commented 7 years ago

Hi, I am also constantly seeing this issue in our setup whenever client starts writing a lot of data in a short time.

the omem value reported is suspect (very large number)

can we have a release with a fix to this issue please?

using version 3.0.503 a Redis master located in Chicago Data centre (VM Windows 2012 R2), has two slaves (one in London DC, and other in Hong Kong DC)