DBAtlas · Atlas für Datenbankbetrieb

TRYAGAIN Multiple keys request during rehashing of slot: Multiple keys request during rehashing of slot (cluster)

Redis

Was 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.

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank