API Gateway Failing to Respond to Job Engine

I'm receiving this error from the api-gateway.log file in our api server docker container. Does this just mean that the api server received the broadcast from the job engine but it couldn't send a response to the job engine server?

[2020-06-10 18:51:41.626] [762910] ERROR listenForContainerBroadcast - Error handling container broadcast: %s: Original broadcast received: %s Failed to configure Document Processor via Host Agent https://192.168.90.245:4637: Host Agent returned an error: 404 page not found
{
"id": "48c72d",
"hostname": "192.168.90.245",
"hostAgentPort": 4637,
"jobEngines": [
{
"id": "c90429",
"host": "192.168.90.245",
"hostAgentPort": 4637
}
]
}

Any help would be appreciated.

Parents Reply Children
  • We aren't setting static hostnames for containers as our kubernetes infrastructure is fairly ephemeral. We have currently configured the host agent URLS to be set to the pod IP dynamically when it is started. Would this error be produced if the port 4637 wasn't open on the job engine container?

    {name: SDL_ETS_CONTAINER_HOST_AGENT_URL, value: "http://$(POD_IP):4637" }
  • Hi Taylor,

    I see. And yes, it could be related to the port 4637 not being available on the worker host. 

    Regarding ports, the following must be configured:

    - Port 4637 must be opened on all worker hosts to receive incoming requests from the API Gateway

    - Port 5672 must be opened on the master host to receive incoming worker connections to the message broker.

    Thanks

  • Thank you. It was indeed a networking policy issue on the backend. However, I had to open 5673 on the API gateway for it to work even though we are explicitly setting the port in the main-config.json to 5672 for amqp and 5671 for secure amqp. It seems like the latest versions (8.4.4+) of the MTE API binary is hard coding that expected port and ignoring what's in the configuration file. Is this intended? The change notes mentioned you made this change because it was conflicting with other rabbitmq installations.

  • Hi Talyor.

    In MT Edge 8.4.4+, we indeed changed the default ports used by the Message broker. The default are now 5674 and 5673 (instead of 5672 and 5671 respectively).

    The etsbootstrap.py script needs to be updated accordingly, to ensure that the job and translation engines will use the appropriate ports.

    Changes to be performed:

    On line 107-108 and 120-121, change:

    • 'port': 5672,
    • 'securePort': 5671,

    to

    • 'port': 5674,
    • 'securePort': 5673,

    We are updated the MT Edge 8.4.5 installer package to include a modified version of the bootstrap script, but feel free to modify your own version of the script to match the new ports.

    Thanks for reporting this.