DBAtlas · Atlas d'exploitation des bases de données

ERR bit offset is not an integer or out of range: Bit offset is not an integer or out of range

Redis

Que 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).

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur