senecajs / seneca-transport

Seneca micro-services message transport over TCP and HTTP.
MIT License
63 stars 45 forks source link

issue with seneca services calling outside a swarm #172

Open uover82 opened 4 years ago

uover82 commented 4 years ago

Hi,

I'm debugging an issue with a set of seneca services is running inside a docker swarm and calling another seneca (stateful) service ouside the swarm.

The calling service is reporting: TypeError: track.push is not a function at module.exports.internals.Utils.internals.Utils.prepare_request (/app/node_modules/seneca-transport/lib/transport-utils.js:178:9) at Seneca.action (/app/node_modules/seneca-transport/lib/http.js:144:34) at /app/node_modules/seneca-transport/lib/transport-utils.js:396:14 at /app/node_modules/seneca-transport/lib/transport-utils.js:452:7 at send (/app/node_modules/seneca-transport/lib/http.js:211:7) at /app/node_modules/seneca-transport/lib/transport-utils.js:447:5 at Seneca.send (/app/node_modules/seneca-transport/lib/transport-utils.js:392:7) at Seneca.transport_client (/app/node_modules/seneca/lib/api.js:708:25) at Object.execute_action (/app/node_modules/seneca/lib/act.js:361:17) at Object.act_fn [as fn] (/app/node_modules/seneca/lib/act.js:62:16) at Immediate.processor [as _onImmediate] (/app/node_modules/gate-executor/gate-executor.js:131:14) at processImmediate (internal/timers.js:456:21)

And the calling confguration looks like: let Seneca = require('seneca') Seneca({tag: 'descriptor', legacy: {meta: true}, timeout: 5000}) .use('zipkin-tracer', {host: 'zipkin', sampling: 1}) .use('statsd', {host: 'stats'}) .use('../descriptor.js') .listen(9000) .client({pin:'role:store', host:'192.168.1.5', port:9075})

The receiving service reports no activity/ events received and otherwise the services seem to communicate fine either inside or outside the swarm.

I'm trying the client configuration option above as it seems the simpliest approach to start with, before exploring other options such as rest/ wreck or redis.

Has anyone else run across this issue or have ideas?

Thanks