BUSY: BUSY Redis is busy running a script. You can only call SCRIPT KILL or SHUTDOWN NOSAVE (Redis ist mit einem Skript beschäftigt)
RedisWas bedeutet das?
Ein lang laufendes Lua-Skript oder eine Function wird ausgeführt und hat busy-reply-threshold überschritten (vor Redis 7 lua-time-limit; Standard 5000 ms). Da Redis single-threaded ist, kann es währenddessen keine anderen Befehle verarbeiten; nur SCRIPT KILL (bei Functions FUNCTION KILL) oder SHUTDOWN NOSAVE wird akzeptiert.
Ursache
Eine Endlosschleife oder ein sehr lang laufendes Lua-Skript bzw. eine Function, aufwendige Berechnungen, ein Skript, das über große Datenmengen iteriert, oder ein schlecht geschriebener EVAL-Aufruf.
Lösung
Hat das Skript keine Daten geändert, stoppe es: SCRIPT KILL. Hat das Skript bereits geschrieben, funktioniert SCRIPT KILL nicht; als letztes Mittel zur Wahrung der Datenkonsistenz kann SHUTDOWN NOSAVE nötig sein (nicht gespeicherte Daten gehen verloren; Vorsicht). Schreibe Skripte kurz und deterministisch. Teile lange Operationen in Stücke auf. Überprüfe die Einstellung busy-reply-threshold (früher lua-time-limit).
Weitere Einträge zu dieser Datenbank
- MASTERDOWNMASTERDOWN Link with MASTER is down and replica-serve-stale-data is set to 'no' (Verbindung zum Master unterbrochen; veraltete Daten werden nicht ausgeliefert)
- CLUSTERDOWNCLUSTERDOWN The cluster is down / Hash slot not served (Cluster ausgefallen / Hash Slot nicht bedient)
- LOADINGLOADING Redis is loading the dataset in memory (Redis lädt das Dataset in den Speicher)
- MISCONFMISCONF Redis is configured to save RDB snapshots, but it's currently unable to persist to disk (RDB-Snapshots konfiguriert, Schreiben auf Disk derzeit nicht möglich)
- CROSSSLOTCROSSSLOT Keys in request don't hash to the same slot (Schlüssel der Anfrage liegen nicht im selben Slot)
- MOVEDMOVED slot ip:port (Cluster-Umleitung)
- ASKASK slot ip:port (Cluster-Umleitung)