memcache-plus icon indicating copy to clipboard operation
memcache-plus copied to clipboard

losing memcached connection

Open rgillan opened this issue 3 years ago • 4 comments

Hello, We have a very busy production application that is attempting to update via memcache-plus (approximately 200-250 updates/second). Periodically, we see the connection drop and fail: Error [ERR_STREAM_DESTROYED]: Cannot call write after a stream was destroyed at doWrite (_stream_writable.js:406:19) at writeOrBuffer (_stream_writable.js:394:5) at Socket.Writable.write (_stream_writable.js:294:11) at Connection.write (/opt/nisient/lib/node/node_modules/memcache-plus/lib/connection.js:418:21) at Connection.<anonymous> (/opt/nisient/lib/node/node_modules/memcache-plus/lib/connection.js:504:18) at Connection.tryCatcher (/opt/nisient/lib/node/node_modules/bluebird/js/release/util.js:16:23) at Promise._settlePromiseFromHandler (/opt/nisient/lib/node/node_modules/bluebird/js/release/promise.js:547:31) at Promise._settlePromise (/opt/nisient/lib/node/node_modules/bluebird/js/release/promise.js:604:18) at Promise._settlePromiseCtx (/opt/nisient/lib/node/node_modules/bluebird/js/release/promise.js:641:10) at _drainQueueStep (/opt/nisient/lib/node/node_modules/bluebird/js/release/async.js:97:12) at _drainQueue (/opt/nisient/lib/node/node_modules/bluebird/js/release/async.js:86:9) at Async._drainQueues (/opt/nisient/lib/node/node_modules/bluebird/js/release/async.js:102:5) at Immediate.Async.drainQueues [as _onImmediate] (/opt/nisient/lib/node/node_modules/bluebird/js/release/async.js:15:14) at runCallback (timers.js:705:18) at tryOnImmediate (timers.js:676:5) at processImmediate (timers.js:658:5) Error: Memcache connection lost at /opt/nisient/lib/node/node_modules/memcache-plus/lib/connection.js:157:25 at List.__iterate (/opt/nisient/lib/node/node_modules/immutable/dist/immutable.js:2206:13) at List.forEach (/opt/nisient/lib/node/node_modules/immutable/dist/immutable.js:4381:19) at Connection.destroy (/opt/nisient/lib/node/node_modules/memcache-plus/lib/connection.js:156:24) at Timeout._onTimeout (/opt/nisient/lib/node/node_modules/memcache-plus/lib/connection.js:205:30) at ontimeout (timers.js:436:11) at tryOnTimeout (timers.js:300:5) at listOnTimeout (timers.js:263:5) at Timer.processTimers (timers.js:223:10) without recovery. Currently using 0.2.21 and about to update to 0.2.22, but need some help in diagnosing the problem as it's causing production issues. Thanks so much in advance, we've come to rely upon this module. Rob

rgillan avatar Aug 25 '21 02:08 rgillan

We have made sure all of the 5 production nodes are at the latest 0.2.22 module, but still seeing errors such as: SubError [TimeoutError]: operation timed out at afterTimeout (/opt/nisient/lib/node/node_modules/bluebird/js/release/timers.js:46:19) at Timeout.timeoutTimeout [as _onTimeout] (/opt/nisient/lib/node/node_modules/bluebird/js/release/timers.js:76:13) at listOnTimeout (internal/timers.js:554:17) at processTimers (internal/timers.js:497:7) Any help very much appreciated

rgillan avatar Aug 30 '21 05:08 rgillan

Any news on this, this problem is persisting: SubError [TimeoutError]: operation timed out at afterTimeout (/opt/nisient/lib/node/node_modules/bluebird/js/release/timers.js:46:19) at Timeout.timeoutTimeout [as _onTimeout] (/opt/nisient/lib/node/node_modules/bluebird/js/release/timers.js:76:13) at listOnTimeout (internal/timers.js:554:17) at processTimers (internal/timers.js:497:7)

rgillan avatar Sep 08 '21 06:09 rgillan

Any news?

weisinlakd avatar May 16 '22 16:05 weisinlakd

We moved to memcache-pp (and more recently, memcache-ppp) which appears to have addressed the issue.

rgillan avatar May 16 '22 22:05 rgillan