Automation Business Process errors
Exhausted available authentication methods, responseStatus=500
Symptoms
java.lang.RuntimeException: Error!!! VDS eval service unavailable.
Response = {responseBody=net.schmizz.sshj.userauth.UserAuthException:
Exhausted available authentication methods, responseStatus=500}
Solution
Open <INSTALL_DIR>/supervisord/log/vds-mesos-adapter.out.log and
check if this log contains the same error.
If vds-mesos-adapter.out.log contains the same error, check the SSH settings in vds-mesos-adapter.properties. Try to connect to the VDS host using the SSH settings from the file.
Remote host 127.0.0.1:22. Error: Auth fail
Symptoms
java.lang.RuntimeException: Error!!! UIMA service unavailable. Response
= {responseBody=DuccAdapterError: \[startEval/\<CORRELATION_ID>\] Failed
to execute SFTP operation after 5 retries. Remote host 127.0.0.1:22.
Error: Auth fail, responseStatus=500}
Solution
Open <INSTALL_DIR>/supervisord/log/vds-mesos-adapter.out.log and
check if this log contains the same error.
If vds-mesos-adapter.out.log contains the same error, check the SSH settings in vds-mesos-adapter.properties. Try to connect to the VDS host using the SSH settings from the file.
com.workfusion.marathon.client.exception.MarathonException: Not Found
Symptoms
java.lang.RuntimeException: Error!!! UIMA service unavailable. Response
=
{responseBody=com.workfusion.marathon.client.exception.MarathonException:
Not Found (http status: 404), responseStatus=500}
Solution
All changes must be executed under the wfuser.
Сheck the Marathon status. You can open the Marathon UI (default link <ML_DNS>:8480).
If Marathon does not respond, restart Marathon. Execute the following command:
wfmanager restart marathon
UIMA service unavailable. Response = 504 Gateway Time-out
Symptoms
java.lang.RuntimeException: Error!!! UIMA service unavailable. Response
= {responseBody=\<html>\<head>\<title>504 Gateway
Time-out\</title>\</head>\<body bgcolor="white">\<center>\<h1>504
Gateway
Time-out\</h1>\</center>\<hr>\<center>nginx\</center>\</body>\</html>,
responseStatus=504}
Solution
All changes should be executed under the wfuser.
Сheck the Gateway service status.
If the Gateway service is not responding, restart the Gateway service.
Execute the following command:
wfmanager restart vds-gateway-service
Also, check the browser Gateway Service response using the following command: instance-url/vds-gateway-service/listHyperModels.
If the response is visible from the browser, check Nginx settings from the Control Tower side. If not visible, open gateway-service-logs and make sure the service is started without errors.
Remote host nyprpamlpr.sis.nyp.org:22. Error: Unable to create dir
Symptoms
java.lang.RuntimeException: Error!!! UIMA service unavailable. Response
=
{responseBody=com.workfusion.vds.services.mesos.sftp.jsch.SshException:
Failed to execute SFTP operation after 5 retries. Remote host
[nyprpamlpr.sis.nyp.org](http://nyprpamlpr.sis.nyp.org):22. Error:
Unable to create dir: {baseDir=/data/vds/eval/vds/, dir=},
responseStatus=500}
Solution
Check if the /data/vds/eval/vds/ directory exists. Check if the /data/vds/eval/vds/ path exists.
If the /data/vds/eval/vds/ path exist, check the folder permissions.
Error occurred during extract fields. 502 Bad Gateway
Symptoms
An error occurred during field extraction:
<html>\<head>\<title>502 Bad Gateway\</title>\</head>\<body bgcolor=""white"">\<center>\<h1>502 Bad Gateway\</h1>\</center>\<hr>\<center>nginx\</center>\</body>\</html>
Solution
Check Nginx error logs on the APP and ML servers. Try to find error messages by the error time. See the error message example below:
2018/07/09 10:24:51 [error] 22846#0: *36442 connect() failed (110: Connection timed out) while connecting to upstream,
client: 11.111.11.111, server: wfapp.server.com, request: "POST /vds-gateway-service/extract HTTP/1.1",
upstream: "https://55.55.55.55:8000/vds-gateway-service/extract", host: "wfapp.server.com:8443"
Check the connection to upstream (https://55.55.55.55:8000/vds-gateway-service/extract).
Error occurred during extract fields. 504 Gateway Timeout
Symptoms
An error occurred during field extraction:
\<html>\<head>\<title>504 Gateway Time-out\</title>\</head>\<body
bgcolor="white">\<center>\<h1>504 Gateway Time-out\</h1>\</center>\<hr>\<center>nginx\</center>\</body>\</html>
Solution
All changes should be executed under the wfuser user. A possible root cause: for some documents, the extraction takes more time than set in the timeout properties on Nginx.
Increase the timeout settings on Nginx. Add these properties to /opt/workfusion/nginx/sites.d/vds_master.conf:
proxy_send_timeout 1800s;
proxy_read_timeout 1800s;
proxy_connect_timeout 1800s;
VDS eval service unavailable. 500 Internal Server Error
Symptoms
java.lang.RuntimeException: Error!!! VDS eval service unavailable.
Response = {responseBody=\<html>\<head>\<title>500 Internal Server
Error\</title>\</head>\<body bgcolor="white">\<center>\<h1>500 Internal
Server
Error\</h1>\</center>\<hr>\<center>nginx\</center>\</body>\</html>,
responseStatus=500
Solution
All changes should be executed under the wfuser user. Сheck the Marathon status. You can open the Marathon UI. The default link is <ML_DNS>:8480.
If Marathon does not respond, restart it. Execute the following command:
wfmanager restart marathon
isUrlToDocument() function returns wrong value
In some cases, when you send documents to extract using an URL to a document, the isUrlToDocument() function can return false instead of true. This can happen when the URL contains an unknown Internet domain level 1. For example, the function will not recognize the following URL links:
- https://abc.cdf.somebank:8443/temp.bucket/doc_html/NEXO1_01.html
- https://s3.storage.somebank:8443/temp.bucket/doc_html/NEXO1_02.html
As you can see, the main domain is somebank, it's an internal customer domain, and the function will return false.
To fix this, you can update the function in the AutoML Use Case on the Execute Machine Learning Model bot step. See the following example:
boolean isUrlToDocument(String document) {
if (!document.startsWith("http") && !document.startsWith("https")
&& !document.startsWith("HTTP") && !document.startsWith("HTTPS")) {
return false;
}
// 8190 is the max uri size. That number covers most default configuration cases.
if (document.length() > 8190) {
return false;
}
String[] schemes = ["http", "https" ];
UrlValidator urlValidator = new UrlValidator(schemes, UrlValidator.ALLOW_LOCAL_URLS);
// String encodedDocument = UrlEscapers.urlFragmentEscaper().escape(document);
// return urlValidator.isValid(encodedDocument);
String urlToCheck = document;
urlToCheck = urlToCheck.replace("abc.cdf.somebank:8443", "abc.cdf.somebank.com:8443");
urlToCheck = urlToCheck.replace("s3.storage.somebank:8443", "s3.storage.somebank.com:8443");
String encodedDocument = UrlEscapers.urlFragmentEscaper().escape(urlToCheck);
return urlValidator.isValid(urlToCheck);
}