Skip to content

Error: value is not an integer. When used with redis driver #27

@izidorio

Description

@izidorio

When I select the redis drive the following error is returned

warning: 
  WARNING: Adonis has detected an unhandled promise rejection, which may
  cause undesired behavior in production.
  To stop this warning, use catch() on promises or wrap await
  calls inside try/catch.

ReplyError: ERR value is not an integer or out of range
    at JavascriptRedisParser.returnError (/Users/Bento/Projetos/dsci/server/node_modules/ioredis/lib/redis/parser.js:24:25)
    at JavascriptRedisParser.execute (/Users/Bento/Projetos/dsci/server/node_modules/redis-parser/lib/parser.js:572:12)
    at Socket.<anonymous> (/Users/Bento/Projetos/dsci/server/node_modules/ioredis/lib/redis/event_handler.js:107:22)
    at Socket.emit (events.js:210:5)
    at addChunk (_stream_readable.js:309:12)
    at readableAddChunk (_stream_readable.js:290:11)
    at Socket.Readable.push (_stream_readable.js:224:10)
    at TCP.onStreamRead (internal/stream_base_commons.js:182:23)
From previous event:
    at Command.initPromise (/Users/Bento/Projetos/dsci/server/node_modules/ioredis/lib/command.js:63:18)
    at new Command (/Users/Bento/Projetos/dsci/server/node_modules/ioredis/lib/command.js:51:8)
    at Redis.expire (/Users/Bento/Projetos/dsci/server/node_modules/ioredis/lib/commander.js:131:29)
    at Redis.incrementExpiration (/Users/Bento/Projetos/dsci/server/node_modules/adonis-throttle/src/Drivers/Cache/Redis/index.js:88:16)
    at Throttle.incrementExpiration (/Users/Bento/Projetos/dsci/server/node_modules/adonis-throttle/src/Throttle.js:58:20)
    at ThrottleRequests.handle (/Users/Bento/Projetos/dsci/server/node_modules/adonis-throttle/middleware/ThrottleRequests.js:40:27)
    at MiddlewareBase._resolveMiddleware (/Users/Bento/Projetos/dsci/server/node_modules/@adonisjs/middleware-base/index.js:195:28)
    at Runnable._invoke (/Users/Bento/Projetos/dsci/server/node_modules/co-compose/src/Runnable.js:76:42)
    at /Users/Bento/Projetos/dsci/server/node_modules/co-compose/src/Runnable.js:73:34
    at f (/Users/Bento/Projetos/dsci/server/node_modules/once/once.js:25:25)
    at GuardInit.handle (/Users/Bento/Projetos/dsci/server/node_modules/adonis-guard/src/Middleware/GuardInit.js:28:11)
    at MiddlewareBase._resolveMiddleware (/Users/Bento/Projetos/dsci/server/node_modules/@adonisjs/middleware-base/index.js:195:28)
    at Runnable._invoke (/Users/Bento/Projetos/dsci/server/node_modules/co-compose/src/Runnable.js:76:42)
    at /Users/Bento/Projetos/dsci/server/node_modules/co-compose/src/Runnable.js:73:34
    at f (/Users/Bento/Projetos/dsci/server/node_modules/once/once.js:25:25)
    at AuthInit.handle (/Users/Bento/Projetos/dsci/server/node_modules/@adonisjs/auth/src/Middleware/AuthInit.js:60:11)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at async Init.handle (/Users/Bento/Projetos/dsci/server/node_modules/adonis-acl/src/Middlewares/Init.js:39:5)
    at async BodyParser.handle (/Users/Bento/Projetos/dsci/server/node_modules/@adonisjs/bodyparser/src/BodyParser/index.js:242:7) {
  name: 'ReplyError',
  message: 'ERR value is not an integer or out of range',
  command: {
    name: 'expire',
    args: [ 'throttle_123215303dce59e556bd5889e9ec5fa2c18895c1', '' ]
  }
}

config/throttle.js

   ...
  driver: Env.get('THROTTLE_DRIVER', 'redis'),

  redis: {
    host: '127.0.0.1',
    port: 6379,
    password: null,
    db: 0,
    keyPrefix: 'throttle_',
  },

Looking at the value of the key directly in the redis I see the value being written

Screen Shot 2020-09-26 at 08 27 25

I'm using
adonis-version: 4.1.0
node: v12.14.0
adonis-throttle: ^2.3.6

Link my boilerplate https://github.com/izidorio/adonis-boilerplate

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions