TRYAGAIN Multiple keys request during rehashing of slot: Multiple keys request during rehashing of slot (cluster) (requête multi-clés pendant la migration d'un slot)
RedisQue signifie cette erreur ?
Dans Redis Cluster, pendant le déplacement d'un hash slot entre nœuds (rehashing/resharding), une requête contenant plusieurs clés du même slot a été émise, alors que certaines clés avaient déjà été déplacées et d'autres non. Le serveur vous demande de relancer l'opération peu après.
Cause
Exécution d'une commande multi-clés (MGET, MSET, Lua multi-clés, transaction) pendant une migration de slot. Dans le slot en migration, certaines clés sont sur le nœud source et d'autres sur le nœud cible, la commande ne peut donc pas s'exécuter de façon atomique.
Comment la corriger
Interceptez cette erreur dans le client et relancez après une courte attente (TRYAGAIN est transitoire ; il disparaît à la fin du resharding). Pour les opérations multi-clés, garantissez que toutes les clés sont dans le même slot grâce à un hash tag, par exemple {app_user123}.profile, {app_user123}.settings. Effectuez le rééquilibrage du cluster (resharding) pendant les périodes de faible trafic.
Autres entrées pour ce moteur
- 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 (le script Lua a tenté d'accéder à une variable globale inexistante)
- 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