HighBit: The Generic API Error
Behind the Common API Error
The Common Error:
Unable to connect to API. Service did not respond.
HighByte Intelligence Hub Configuration
HighByte Intelligence Hub is hosted on a Java Virtual Machine (JVM) as two separate entities. The first is a web browser-based front end with a graphical user interface (GUI). The second is the project API backend. All actions performed in the GUI are passed to the project API where they are executed.
Meaning Behind The Common Error
“Unable to connect to API. Service did not respond” is technically the most generic error that Intelligence Hub returns. It is stating that the front end GUI application has lost connection to the Project API. This is usually the result of a specific action and timeout – rarely the result of a stateful configuration.
While there are many misconfigurations that are able to cause errors, the majority have detailed error messages. Only certain issues create situations that are ambiguous.
Frequent Causes of The Common Error
The common error is caused by executing a legal but bad configuration in an entity that is not active on the GUI. This is most often observed in pipeline “Debug” mode. This happens because for efficiency, the pipeline debug executions timeout after 15 seconds. But many data sources take longer to timeout.
This happens most often when parameterizing an input and querying it from a pipeline or instance, with an inaccurate parameter. The debug times out, and assumes it has lost connection to the back-end API, producing this error.
Additional Potential Causes
- This error can also occur if the Intelligence Hub does not have sufficient heap memory, system memory, or disk space. Resource constraints like these can prevent the front end from successfully making calls to the backend while it waits for memory to become available.
- Slow connections. If the connection to a system is slow, the webpage GUI can timeout while waiting for a result even if the underlying system does not timeout. In such cases, the pipeline may still be running in the background. This may be the case if data can be observed as expected, but several minutes later than expected.