Error starting temporal-sys-tq-scanner-workflow workflow

I’ve set-up a temporal cluster where I’m running 2 instances of each role (frontend, history, matching & worker) and able to successfully execute a workflow but I’ve come across lot of error messages from worker instances

I’ve debugged a bit and figured out that it is trying to connect to front-end port on the same instance (which is running only worker service). Any idea why this is happening ?

172.16.29.254 is the ip of the same worker instance.

PS: I don’t see any errors from other role instances.

1 Like

Hey Ganta,

Thanks for posting! Can you share your PublicClient.HostPort setting? The worker role expects to use that to connect to Frontend currently, so this would make sense if that is set to localhost, with no Frontend running on the same machine.

You can workaround this by running Frontend on the same instance as Worker roles or by configuring a DNS endpoint that your Workers can use.

2 Likes

Hi @shawn,

I’ve not configured PublicClient.HostPort explicitly, by default it is picking BIND_ON_IP env value and the BIND_ON_IP defaults to HOST_IP as I’ve not specified it either (please refer to below links). I do have a DNS end-point for front-end, but not sure how to configure it for Worker role so that it will connect to it.

  1. https://github.com/temporalio/temporal/blob/master/docker/config_template.yaml#L216
  2. https://github.com/temporalio/temporal/blob/master/docker/entrypoint.sh#L10

Hey @ganta,

The docker_compose referenced from our repo is indeed assuming that Frontend will also be running on that node. This is something we could definitely improve on our end though and I will make sure we file an issue here.

1 Like

Thanks @shawn. Could you please share the issue so that I can track? It’s a blocker for us as we are not able to spin-up worker instances independently.

@ganta - This Pull Request should solve your issue and will be included in the next release

You will now be able to define an environment variable - PUBLIC_FRONTEND_ADDRESS in the format of $dnsName:$port to provide your own value for PublicClient

1 Like

Thanks @shawn

1 Like