TRYAGAIN Multiple keys request during rehashing of slot: Multiple keys request during rehashing of slot (cluster)
RedisWas bedeutet das?
In Redis Cluster wurde, während ein Hash-Slot zwischen Knoten verschoben wurde (Rehashing/Resharding), eine Anfrage mit mehreren Keys desselben Slots gestellt, von denen einige bereits verschoben waren und andere nicht. Der Server fordert dich auf, die Operation in Kürze zu wiederholen.
Ursache
Ausführung eines Multi-Key-Befehls (MGET, MSET, Multi-Key-Lua, Transaktion) während einer laufenden Slot-Migration. Im migrierenden Slot liegen einige Keys auf dem Quell- und einige auf dem Zielknoten, daher kann der Befehl nicht atomar ausgeführt werden.
Lösung
Fange diesen Fehler im Client ab und wiederhole nach kurzer Wartezeit (TRYAGAIN ist vorübergehend; es verschwindet, wenn das Resharding abgeschlossen ist). Stelle bei Multi-Key-Operationen mit einem Hash-Tag sicher, dass alle Keys im selben Slot liegen, etwa {app_user123}.profile, {app_user123}.settings. Führe das Rebalancing des Clusters (Resharding) in verkehrsarmen Zeiten durch.
Weitere Einträge zu dieser Datenbank
- ERR MULTI calls can not be nestedMULTI calls can not be nested
- ERR Lua script attempted to access nonexistent global variableLua script attempted to access a nonexistent global variable
- ERR unknown commandUnknown command
- ERR DISCARD without MULTIDISCARD without MULTI
- BUSYGROUP Consumer Group name already existsConsumer group already exists
- NOGROUP No such key or consumer groupNo such key or consumer group in stream
- NOTBUSY No scripts in execution right nowNo scripts in execution right now