Node-redis: TypeError: Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² свойства undefined

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 4 Π°ΠΏΡ€. 2019  Β·  4ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: NodeRedis/node-redis

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ сообщСния ΠΎΠ± ошибкС:
C:\Users\xxxxx\node_modules\redis\index.js:722 if (typeof command_obj.callback === 'function') { ^ TypeError: Cannot read property 'callback' of undefined at normal_reply (C:\Users\xxxxx\node_modules\redis\index.js:722:28) at RedisClient.return_reply (C:\Users\xxxxx\node_modules\redis\index.js:824:9) at JavascriptRedisParser.returnReply (C:\Users\xxxxx\node_modules\redis\index.js:192:18) at JavascriptRedisParser.execute (C:\Users\xxxxx\node_modules\redis-parser\lib\parser.js:574:12) at Socket.<anonymous> (C:\Users\xxxxx\node_modules\redis\index.js:274:27) at Socket.emit (events.js:189:13) at addChunk (_stream_readable.js:284:12) at readableAddChunk (_stream_readable.js:265:11) at Socket.Readable.push (_stream_readable.js:220:10) at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Redis:
function normal_reply (self, reply) { var command_obj = self.command_queue.shift(); if (typeof command_obj.callback === 'function') { if (command_obj.command !== 'exec') { reply = self.handle_reply(reply, command_obj.command, command_obj.buffer_args); } command_obj.callback(null, reply); } else { debug('No callback for reply'); } }
Π­Ρ‚Π° ошибка Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ всСгда, Π° врСмя ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ошибка, ΠΈ ΠΌΠ½Π΅ слСдуСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ command_obj ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ ΠΈΠ· ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄.

pending-author-input

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π― Ρ‚Π°ΠΊΠΆΠ΅ пСриодичСски ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ эту ΠΎΡˆΠΈΠ±ΠΊΡƒ. Π’ ΠΌΠΎΠ΅ΠΌ случаС каТСтся, Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° послС Π²Ρ‹Π·ΠΎΠ²Π° Β«client.punsubcribe ()Β» мСня Π·Π°ΡΡ‹ΠΏΠ°ΡŽΡ‚ этими ошибками, ΠΏΠΎΠΊΠ° я Π½Π΅ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡ‰Ρƒ процСсс.

ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ: я Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ экзСмпляр ΡƒΠ·Π»Π° приходится 4 ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Redis, ΠΎΡ‚ Π΄Π²ΡƒΡ… Π΄ΠΎ Π΄Π²ΡƒΡ… Ρ€Π°Π·Π½Ρ‹Ρ… хостов

  • "redis": "2.8.0"
  • ΡƒΠ·Π΅Π» 10
  • "redis-parser": "2.6.0"

Traceback Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π΅Π½ OP, Π½ΠΎ для ΠΏΠΎΠ»Π½ΠΎΡ‚Ρ‹:

TypeError: Cannot read property 'callback' of undefined
    at normal_reply (/snapshot/stream-node/node_modules/redis/index.js:722:28)
    at RedisClient.return_reply (/snapshot/stream-node/node_modules/redis/index.js:824:9)
    at JavascriptRedisParser.returnReply (/snapshot/stream-node/node_modules/redis/index.js:192:18)
    at JavascriptRedisParser.execute (/snapshot/stream-node/node_modules/redis-parser/lib/parser.js:574:12)
    at Socket.<anonymous> (/snapshot/stream-node/node_modules/redis/index.js:274:27)
    at Socket.emit (events.js:198:13)
    at addChunk (_stream_readable.js:287:12)
    at readableAddChunk (_stream_readable.js:268:11)
    at Socket.Readable.push (_stream_readable.js:223:10)
    at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)

ВсС 4 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π£ вас Π΅ΡΡ‚ΡŒ этот ΠΊΠΎΠ΄?

const redis = require('redis');
require('bluebird').promisifyAll(redis);

Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ слоТно ΠΎΡ‚Π»Π°Π΄ΠΈΡ‚ΡŒ. На самом Π΄Π΅Π»Π΅ этого Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ. Π­Ρ‚ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ состояниС большС Π½Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅. Π•ΡΡ‚ΡŒ Π»ΠΈ способ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ эту ΠΎΡˆΠΈΠ±ΠΊΡƒ, ΠΈ Ρƒ вас Π΅ΡΡ‚ΡŒ для мСня Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация? Как ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π°, вСрсия node_redis ΠΈ вСрсия парсСра, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΈ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ этого.

Π― Ρ‚Π°ΠΊΠΆΠ΅ пСриодичСски ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ эту ΠΎΡˆΠΈΠ±ΠΊΡƒ. Π’ ΠΌΠΎΠ΅ΠΌ случаС каТСтся, Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° послС Π²Ρ‹Π·ΠΎΠ²Π° Β«client.punsubcribe ()Β» мСня Π·Π°ΡΡ‹ΠΏΠ°ΡŽΡ‚ этими ошибками, ΠΏΠΎΠΊΠ° я Π½Π΅ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡ‰Ρƒ процСсс.

ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ: я Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ экзСмпляр ΡƒΠ·Π»Π° приходится 4 ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Redis, ΠΎΡ‚ Π΄Π²ΡƒΡ… Π΄ΠΎ Π΄Π²ΡƒΡ… Ρ€Π°Π·Π½Ρ‹Ρ… хостов

  • "redis": "2.8.0"
  • ΡƒΠ·Π΅Π» 10
  • "redis-parser": "2.6.0"

Traceback Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π΅Π½ OP, Π½ΠΎ для ΠΏΠΎΠ»Π½ΠΎΡ‚Ρ‹:

TypeError: Cannot read property 'callback' of undefined
    at normal_reply (/snapshot/stream-node/node_modules/redis/index.js:722:28)
    at RedisClient.return_reply (/snapshot/stream-node/node_modules/redis/index.js:824:9)
    at JavascriptRedisParser.returnReply (/snapshot/stream-node/node_modules/redis/index.js:192:18)
    at JavascriptRedisParser.execute (/snapshot/stream-node/node_modules/redis-parser/lib/parser.js:574:12)
    at Socket.<anonymous> (/snapshot/stream-node/node_modules/redis/index.js:274:27)
    at Socket.emit (events.js:198:13)
    at addChunk (_stream_readable.js:287:12)
    at readableAddChunk (_stream_readable.js:268:11)
    at Socket.Readable.push (_stream_readable.js:223:10)
    at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)

ПослС запуска Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ я Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ», Ρ‡Ρ‚ΠΎ эти ошибки ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сообщСний connection gone from close event (Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠ³ΠΎ connection gone from end event я Π²ΠΈΠΆΡƒ Π²ΠΎ врСмя ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса простоя с сСрвСра redis)

Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ происходит с ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²Π°ΠΌΠΈ ΠΈ ΠΊΠΎΠ³Π΄Π° сСрвСр ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ испытываСт ΠΎΡ‡Π΅Π½ΡŒ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΈΠ·-Π·Π° задания cron.

redis 3.0.2 ΡƒΠ·Π΅Π» 14.15.1, redis-parser 3

TypeError: Cannot read property 'callback' of undefined
    at normal_reply (/app/node_modules/redis/index.js:650:28)
    at RedisClient.return_reply (/app/node_modules/redis/index.js:752:9)
    at JavascriptRedisParser.returnReply (/app/node_modules/redis/index.js:137:18)
    at JavascriptRedisParser.execute (/app/node_modules/redis-parser/lib/parser.js:544:14)
    at Socket.<anonymous> (/app/node_modules/redis/index.js:218:27)
    at /app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js:54:19
    at Scope._activate (/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js:53:14)
    at Scope.activate (/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js:12:19)
    at Socket.bound (/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js:53:20)
    at Socket.emit (events.js:315:20)
    at addChunk (_stream_readable.js:309:12)
    at readableAddChunk (_stream_readable.js:284:9)
    at Socket.Readable.push (_stream_readable.js:223:10)
    at TCP.onStreamRead (internal/stream_base_commons.js:188:23)
    at TCP.callbackTrampoline (internal/async_hooks.js:129:14)

Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ связанныС ошибки AbortErrors, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ приводят ΠΊ сбою сСрвСра, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ

AbortError: Redis connection lost and command aborted. It might have been processed.
    at RedisClient.flush_and_error (/app/node_modules/redis/index.js:297:23)
    at RedisClient.connection_gone (/app/node_modules/redis/index.js:602:14)
    at Socket.<anonymous> (/app/node_modules/redis/index.js:226:14)
    at /app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js:54:19
    at Scope._activate (/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js:53:14)
    at Scope.activate (/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js:12:19)
    at Socket.bound (/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js:53:20)
    at Object.onceWrapper (events.js:422:26)
    at Socket.emit (events.js:315:20)
    at TCP.<anonymous> (net.js:673:12)
    at TCP.callbackTrampoline (internal/async_hooks.js:129:14)
    at new Command (/app/node_modules/redis/lib/command.js:12:22)
    at RedisClient.info (/app/node_modules/redis/lib/individualCommands.js:169:39)
    at RedisClient.ready_check (/app/node_modules/redis/index.js:469:10)
    at RedisClient.on_connect (/app/node_modules/redis/index.js:363:14)
    at Socket.<anonymous> (/app/node_modules/redis/index.js:212:14)
    at /app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js:54:19
    at Scope._activate (/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js:53:14)
    at Scope.activate (/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js:12:19)
    at Socket.bound (/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js:53:20)
    at Object.onceWrapper (events.js:421:28)
    at Socket.emit (events.js:327:22)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1132:10)
    at TCPConnectWrap.callbackTrampoline (internal/async_hooks.js:129:14)
{
    code: 'UNCERTAIN_STATE',
    command: 'INFO'
}
Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ