You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The issue is that, we type is empty (which it is for MOVED replies), then we save an entry per str, which could be 16k in a regular situation, or more if we do slot migrations.
Then, all INFO replies fetch this information (from all threads), even if the ERRORSTATS section is not requested.
This is a general problem in the way we do error handling, but hopefully most errors contain constant strings instead of slot id + host.
To fix this only for MOVED (like I propose) we could simply add some special handling in the above code (if starts with MOVED then...)
The text was updated successfully, but these errors were encountered:
**The problem:**
When in cluster mode, `MOVED` replies (which are arguably not even errors) are aggregated per slot-id + remote host, and displayed in `# Errorstats` as such. For example, in a server that does _not_ own 8k slots, we will aggregate 8k different errors, and their counts (in memory).
This slows down all `INFO` replies, takes a lot of memory, and also makes `INFO` replies very long.
**The fix:**
Use `type` `MOVED` for moved replies, making them all the same under `# Errorstats`
Fixes#4118
Dragonfly saves count per error here:
dragonfly/src/facade/reply_builder.cc
Lines 321 to 336 in 7815c8d
The issue is that, we
type
is empty (which it is forMOVED
replies), then we save an entry perstr
, which could be 16k in a regular situation, or more if we do slot migrations.Then, all
INFO
replies fetch this information (from all threads), even if theERRORSTATS
section is not requested.This is a general problem in the way we do error handling, but hopefully most errors contain constant strings instead of slot id + host.
To fix this only for
MOVED
(like I propose) we could simply add some special handling in the above code (if starts withMOVED
then...)The text was updated successfully, but these errors were encountered: