faktory_worker_node: Worker crash on socket close
node.js version: 12.14.1
faktory-server version: pro-1.4.0
faktory-worker package version: 3.3.6
Expected Behavior:
Worker disconnects should be handled and retried.
Actual Behavior:
Unhandled exception leading to the worker not receiving any jobs.
The stack trace:
at TCP.<anonymous> (net.js:664:12)
at Socket.EventEmitter.emit (domain.js:475:20)
at Socket.emit (events.js:223:5)
at Connection.onClose (/app/node_modules/faktory-worker/lib/connection.js:120:41)
Error: Connection closed
This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason:
at async Worker.tick (/app/node_modules/faktory-worker/lib/worker.js:76:19)
at async Client.fetch (/app/node_modules/faktory-worker/lib/client.js:176:22)
at /app/node_modules/generic-pool/lib/Pool.js:475:16
at Pool.destroy (/app/node_modules/generic-pool/lib/Pool.js:546:10)
at Pool._destroy (/app/node_modules/generic-pool/lib/Pool.js:137:42)
at ConnectionFactory.destroy (/app/node_modules/faktory-worker/lib/connection-factory.js:54:23)
at Connection.close (/app/node_modules/faktory-worker/lib/connection.js:205:12)
at new Promise (<anonymous>)
at /app/node_modules/faktory-worker/lib/connection.js:206:50
at Socket.end (net.js:580:31)
at Socket.Writable.end (_stream_writable.js:617:10)
at Socket.writeAfterFIN [as write] (net.js:447:14)
Error: This socket has been ended by the other party
2020.08.03 17:54:59 LOG5[11]: Connection closed: 8736 byte(s) sent to TLS, 23781 byte(s) sent to socket
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 21 (10 by maintainers)
Commits related to this issue
- remove conn error handler after close while inducing some failure scenarios, it appeared that there is a race between destroying a connection due to a connect failure and removing the error event lis... — committed to jbielick/faktory_worker_node by jbielick 4 years ago
- add default error event handler if none If no error handlers are added, the error event is an unhandled exception. An unhandled error may terminate the process in later eversion of node, so it would ... — committed to jbielick/faktory_worker_node by jbielick 4 years ago
- add default error event handler if none If no error handlers are added, the error event is an unhandled exception. An unhandled error may terminate the process in later eversion of node, so it would ... — committed to jbielick/faktory_worker_node by jbielick 4 years ago
- remove conn error handler after close while inducing some failure scenarios, it appeared that there is a race between destroying a connection due to a connect failure and removing the error event lis... — committed to jbielick/faktory_worker_node by jbielick 4 years ago
- add default error event handler if none If no error handlers are added, the error event is an unhandled exception. An unhandled error may terminate the process in later eversion of node, so it would ... — committed to jbielick/faktory_worker_node by jbielick 4 years ago
- remove conn error handler after close while inducing some failure scenarios, it appeared that there is a race between destroying a connection due to a connect failure and removing the error event lis... — committed to jbielick/faktory_worker_node by jbielick 4 years ago
Hey @jbielick, I’ve installed 4.0.0 but I’m seeing the same behaviour as before i.e on second restart the worker does not re-connect 😕