Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error: 23984 trailing bytes #522

Open
shivashahu07 opened this issue Dec 9, 2023 · 5 comments
Open

Error: 23984 trailing bytes #522

shivashahu07 opened this issue Dec 9, 2023 · 5 comments
Labels
question Further information is requested

Comments

@shivashahu07
Copy link

shivashahu07 commented Dec 9, 2023

"socket.io": "^4.5.4"
"@socket.io/redis-adapter": "^8.0.0",
AWS elastic cache - redis engine version - 6.2.6

Above are the version in my application running on mutliple container and i'm getting this error when again and again and below are the exception are coming from nowhere and I don't know the exact root cause:

Error: 23984 trailing bytes at Object.decode (/app/node_modules/notepack.io/lib/decode.js:289:11) at RedisAdapter.onmessage (/app/node_modules/@socket.io/redis-adapter/dist/index.js:131:34) at /app/node_modules/@socket.io/redis-adapter/dist/index.js:84:22 at PubSub._PubSub_emitPubSubMessage (/app/node_modules/@redis/client/dist/lib/client/pub-sub.js:294:9) at PubSub.handleMessageReply (/app/node_modules/@redis/client/dist/lib/client/pub-sub.js:237:93) at Object.onReply (/app/node_modules/@redis/client/dist/lib/client/commands-queue.js:40:87) at RESP2Decoder.write (/app/node_modules/@redis/client/dist/lib/client/RESP2/decoder.js:119:26) at RedisCommandsQueue.onReplyChunk (/app/node_modules/@redis/client/dist/lib/client/commands-queue.js:154:72) at RedisSocket.<anonymous> (/app/node_modules/@redis/client/dist/lib/client/index.js:410:84) at RedisSocket.emit (node:events:513:28) at Socket.<anonymous> (/app/node_modules/@redis/client/dist/lib/client/socket.js:201:42)

After this error my application got socket connection timeout reached issue and This issue is coming when i'm hitting 500+ connection all together:

Error: timeout reached while waiting for fetchSockets response at Timeout._onTimeout (/app/node_modules/@socket.io/redis-adapter/dist/index.js:568:28) at listOnTimeout (node:internal/timers:564:17) at process.processTimers (node:internal/timers:507:7)

Can anyone help why this is happening again and again.

@darrachequesne
Copy link
Member

Hi!

Error: xxx trailing bytes means the adapter has received an ill-defined packet from Redis PUB/SUB. Not sure how that could happen though.

timeout reached while waiting for fetchSockets() means the fetchSockets() operation has timed out because the other servers did not respond in the given delay. You might want to increase the requestsTimeout option:

const io = new Server({
  adapter: createAdapter(pubClient, subClient, {
    requestsTimeout: 10000
  })
});

Or simply retry upon timeout.

@darrachequesne darrachequesne added the question Further information is requested label Dec 11, 2023
@shivashahu07
Copy link
Author

@darrachequesne : I already did the requestTimeout to 10000 ms. but fetchSocket() is timedout since yesterdayand still giving the same error and my server cpu and memory utilization is 2-3%. Anything that redis are storing while pub/sub that are not cleared out within timeframe?

Whats your thought whether this is socket server issue or redis-adaptor issue?

@cody-evaluate
Copy link

@shivashahu07 its prbly caused by this

#367 (comment)

@shivashahu07
Copy link
Author

@cody-evaluate : So how did you resolve this issue?

@cody-evaluate
Copy link

@shivashahu07 nope, happens intermittently but we will be moving to the sharded adapter soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants