Skip to content
This repository has been archived by the owner on Mar 31, 2023. It is now read-only.

Add a three-way-handshake on autoregistration procedure or improve the error messages on invalid DATASERVICE_HOST #61

Open
alexbarcelo opened this issue Dec 10, 2020 · 0 comments
Labels
enhancement New feature or request

Comments

@alexbarcelo
Copy link
Member

[Note: Maybe this also affects Java, I have only realized this problem with Python Execution Environment]

The current behaviour when the Execution Environment is loading is that it performs an "autoregister" procedure with the Logic Module. This is successful as long as the LogicModule host is correct.

However, the LogicModule needs to be able to connect to the DataService, and sometimes this may be non-straightforward (e.g. in hybrid docker deployments, in the presence of certain NAT tables or firewalls or with other network shenanigans). The solution (which already is working!) is to use the DATASERVICE_HOST configuration field.

Everything works, if properly configured. The usability problem is the following: if DATASERVICE_HOST is improperly set (because you forgot or because you messed up its value) then the initialization seems to work but the system will break on the model registration with a somewhat cryptic java.lang.RuntimeException: UNAVAILABLE: io exception. We may want to know as soon as possible (i.e. during autoregistration) that the DataService is improperly configured and yield an error at that point. That can be done with a three-way-handshake strategy. If that proves challenging, we can instead improve the error, or add some validation background thing or something.

This only affects usability, so it is low priority, but it's worth keeping that in mind in case we are modifying some registration aspects in the future.

@alexbarcelo alexbarcelo added the enhancement New feature or request label Dec 10, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant