silkjs/tedis

EPIPE error

Opened this issue · 7 comments

getting following error: This socket has been ended by the other party

I'm also facing this issue, fixed it by using TedisPool instead and getTedis every time I need to interact with redis, and putTedis back when done.

My assumption is that the single tedis client is used by multiple clients(your app), and causes the socket to be closed immaturely.

We are also facing the similar issue on Tedis. We still think it is due to high load on Redis server. We are also not using connection pool.

error: { Error: This socket has been ended by the other party
    at Socket.writeAfterFIN [as write] (net.js:393:12)
    at /partner/node_modules/tedis/build/core/base.js:83:26
    at new Promise (<anonymous>)
    at Tedis.Base.command (/partner/node_modules/tedis/build/core/base.js:78:16)
    at Tedis.<anonymous> (/partner/node_modules/tedis/build/api/string.js:122:55)
    at step (/partner/node_modules/tedis/build/api/string.js:46:23)
    at Object.next (/partner/node_modules/tedis/build/api/string.js:27:53)
    at /partner/node_modules/tedis/build/api/string.js:21:71
    at new Promise (<anonymous>)
    at __awaiter (/partner/node_modules/tedis/build/api/string.js:17:12) code: 'EPIPE' }

I have this problem, too

Has anyone found a solution to this problem?

This issue seems to be associated with connection pool. In our case, we had lot of services connected to Redis and some of the services went offline due to application failure (exceptions were thrown).

See Tedis Conenction Pooling

Definitely, this error is not associated with the pool. On the contrary, I replaced my connection for use pools and now it works perfectly.

Has someone solved this issue?