ERR bit offset is not an integer or out of range: Bit offset is not an integer or out of range
RedisQue signifie cette erreur ?
L'offset de bit fourni à une opération sur les bits comme SETBIT/GETBIT/BITCOUNT est invalide : ce n'est pas un entier ou il est hors de la plage autorisée. Redis ne peut pas effectuer d'opération sur les bits à cet offset.
Cause
Passage d'une valeur non numérique comme offset ; utilisation d'un offset négatif ; ou offset très grand dépassant la borne supérieure autorisée (une chaîne de bits peut atteindre 512 MB, soit environ 2^32 bits). Provient d'erreurs de calcul dans des structures de compteurs/indicateurs basées sur des bitmaps.
Comment la corriger
Assurez-vous que l'offset est un entier non négatif dans la plage autorisée (0 à ~2^32-1 ; les chaînes font au plus 512 MB). Contrôlez les calculs d'offset (par ex. ceux dérivés d'identifiants utilisateur) contre les dépassements/valeurs négatives. Si de très grands offsets sont nécessaires, concevez les données pour qu'elles soient réparties sur plusieurs clés (sharding).
Autres entrées pour ce moteur
- ERR SELECT is not allowed in cluster modeSELECT is not allowed in cluster mode
- ERR wrong number of arguments for commandWrong number of arguments for command
- ERR Background save already in progressBackground save already in progress
- ERR Protocol error: invalid multibulk lengthProtocol error: invalid multibulk length (erreur de protocole : longueur multibulk invalide)
- ERR Number of keys can't be greater than number of argsEVAL/EVALSHA: numkeys exceeds argument count (numkeys dépasse le nombre d'arguments)
- ERR WATCH inside MULTI is not allowedWATCH inside MULTI is not allowed
- ERR WAIT cannot be used with replica instancesWAIT cannot be used with replica instances