bottleneck icon indicating copy to clipboard operation
bottleneck copied to clipboard

ReplyError: ERR SETTINGS_KEY_NOT_FOUND when use in Clustering mode with Redis 7.x

Open Pierre-Gilles opened this issue 2 years ago • 8 comments

Hi!

First, thank you for this great library 🙂

I tried running this library in Cluster mode with Redis 7.x, and I got the following error:

ReplyError: ERR SETTINGS_KEY_NOT_FOUND
 command: 'EVALSHA',
  args: [
    'f00a66a4159e8488fd6e3b8ccba92a8c602f2062',
    8,
    'b_gladys-gateway_settings',
    'b_gladys-gateway_job_weights',
    'b_gladys-gateway_job_expirations',
    'b_gladys-gateway_job_clients',
    'b_gladys-gateway_client_running',
    'b_gladys-gateway_client_num_queued',
    'b_gladys-gateway_client_last_registered',
    'b_gladys-gateway_client_last_seen',
    1662654440828,
    '4gydkiwu33',
    '0',
    '1'
  ],
  code: 'ERR'
}

If I use an older version of Redis, it works fine.

Any idea of what changed with this version of Redis ?

Pierre-Gilles avatar Sep 09 '22 08:09 Pierre-Gilles

Just ran into this as well

mfrye avatar Sep 11 '22 21:09 mfrye

same issue here as well

menbatisiunissart avatar Sep 16 '22 11:09 menbatisiunissart

Getting this same error as well:

ReplyError: ERR SETTINGS_KEY_NOT_FOUND
    at parseError (/usr/api/node_modules/redis-parser/lib/parser.js:179:12)
    at parseType (/usr/api/node_modules/redis-parser/lib/parser.js:302:14) {
  command: 'EVALSHA',
  args: [
    '8bd3e064b718321194a8df49c69e48fd0ffb4dcd',
    8,
    'b_builtwith_throttler_settings',
    'b_builtwith_throttler_job_weights',
    'b_builtwith_throttler_job_expirations',
    'b_builtwith_throttler_job_clients',
    'b_builtwith_throttler_client_running',
    'b_builtwith_throttler_client_num_queued',
    'b_builtwith_throttler_client_last_registered',
    'b_builtwith_throttler_client_last_seen',
    1665586647495,
    'b9zz33fpice'
  ],
  code: 'ERR'
}

avermeil avatar Oct 12 '22 14:10 avermeil

We're also experiencing it with bitnami/redis:7.0.4-debian-11-r4, any workaround? @SGrondin

yarinvak avatar Oct 13 '22 12:10 yarinvak

Same here:

ReplyError: ERR SETTINGS_KEY_NOT_FOUND
  command: 'EVALSHA',
  args: [
    '8bd3e064b718321194a8df49c69e48fd0ffb4dcd',
    8,
    'b_awql_throttler_settings',
    'b_awql_throttler_job_weights',
    'b_awql_throttler_job_expirations',
    'b_awql_throttler_job_clients',
    'b_awql_throttler_client_running',
    'b_awql_throttler_client_num_queued',
    'b_awql_throttler_client_last_registered',
    'b_awql_throttler_client_last_seen',
    1665734323793,
    '0efrswlefrmj'
  ],
  code: 'ERR'
}

ricardofrancoli avatar Oct 14 '22 07:10 ricardofrancoli

We're experiencing this on an elasticache redis instance running 6.2.6, any updates on this? @SGrondin

nlopez99 avatar Nov 10 '22 19:11 nlopez99

It's probably happening because of the heartbeat check which validates that keys exist on redis. But since Groups timeout kills the limiter after timeout those keys don't exist anymore. https://github.com/SGrondin/bottleneck/blob/b83528333ba4d27cf70b81cc2be12e09d7ff692f/src/Scripts.coffee#L84

The error usually goes away once the group_check.lua runs so a quick hack would be ignore the error for a while until it goes away

HelloKashif avatar Feb 05 '23 06:02 HelloKashif

Also ran into this. Between this issue and ETIMEDOUT errors, it's been very difficult to get ioredis cleanly working w/ ElastiCache 😢

dobrynin avatar Mar 10 '23 01:03 dobrynin