diff --git a/Exareme-Docker/files/root/exareme/exareme-admin.sh b/Exareme-Docker/files/root/exareme/exareme-admin.sh index 22c6b1693..b0566d2b0 100755 --- a/Exareme-Docker/files/root/exareme/exareme-admin.sh +++ b/Exareme-Docker/files/root/exareme/exareme-admin.sh @@ -95,6 +95,12 @@ function start_exareme(){ #Starts exareme daemon -Djava.rmi.server.codebase=file:$EXAREME_HOME/lib/exareme/ \ -Djava.security.policy=$EXAREME_HOME/etc/exareme/art.policy \ -Djava.rmi.server.hostname=$EXAREME_MASTER \ + -Dsun.rmi.activation.execTimeout=$NODE_COMMUNICATION_TIMEOUT \ + -Dsun.rmi.activation.groupTimeout=$NODE_COMMUNICATION_TIMEOUT \ + -Dsun.rmi.transport.connectionTimeout=$NODE_COMMUNICATION_TIMEOUT \ + -Dsun.rmi.transport.proxy.connectTimeout=$NODE_COMMUNICATION_TIMEOUT \ + -Dsun.rmi.transport.tcp.handshakeTimeout=$NODE_COMMUNICATION_TIMEOUT \ + -Dsun.rmi.transport.tcp.responseTimeout=$NODE_COMMUNICATION_TIMEOUT \ -Dcom.sun.management.jmxremote.port=$EXAREME_ADMIN_JMX_PORT \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false \ diff --git a/Exareme-Docker/files/root/exareme/start-worker.sh b/Exareme-Docker/files/root/exareme/start-worker.sh index f5df68f63..f8f005c84 100755 --- a/Exareme-Docker/files/root/exareme/start-worker.sh +++ b/Exareme-Docker/files/root/exareme/start-worker.sh @@ -11,6 +11,10 @@ EXAREME_ADMIN_OPTS="${EXAREME_JAVA_OPTS} \ -Djava.rmi.server.codebase=file:$EXAREME_HOME/lib/exareme/ \ -Djava.security.policy=$EXAREME_HOME/etc/exareme/art.policy\ -Djava.rmi.server.hostname=$MY_IP \ + -Dsun.rmi.activation.execTimeout=$NODE_COMMUNICATION_TIMEOUT \ + -Dsun.rmi.activation.groupTimeout=$NODE_COMMUNICATION_TIMEOUT \ + -Dsun.rmi.dgc.ackTimeout=$NODE_COMMUNICATION_TIMEOUT \ + -Dsun.rmi.transport.tcp.readTimeout=$NODE_COMMUNICATION_TIMEOUT \ -Dcom.sun.management.jmxremote.port=$EXAREME_ADMIN_JMX_PORT\ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false \ diff --git a/Exareme-Docker/src/exareme/exareme-master/src/main/java/madgik/exareme/master/gateway/async/handler/entity/NQueryResultEntity.java b/Exareme-Docker/src/exareme/exareme-master/src/main/java/madgik/exareme/master/gateway/async/handler/entity/NQueryResultEntity.java index e499c62f5..d455b0fbd 100644 --- a/Exareme-Docker/src/exareme/exareme-master/src/main/java/madgik/exareme/master/gateway/async/handler/entity/NQueryResultEntity.java +++ b/Exareme-Docker/src/exareme/exareme-master/src/main/java/madgik/exareme/master/gateway/async/handler/entity/NQueryResultEntity.java @@ -73,7 +73,7 @@ public void produceContent(ContentEncoder encoder, IOControl ioctrl) log.trace("|" + queryStatus.getError() + "|"); if (queryStatus.getError().contains("ExaremeError:")) { String data = queryStatus.getError().substring(queryStatus.getError().lastIndexOf("ExaremeError:") + "ExaremeError:".length()).replaceAll("\\s", " "); - //type could be error, user_error, warning regarding the error occured along the process + //type could be error, user_error, warning regarding the error occurred along the process String type = user_error; String result = defaultOutputFormat(data, type); logErrorMessage(result); @@ -82,7 +82,7 @@ public void produceContent(ContentEncoder encoder, IOControl ioctrl) close(); } else if (queryStatus.getError().contains("PrivacyError")) { String data = "The Experiment could not run with the input provided because there are insufficient data."; - //type could be error, user_error, warning regarding the error occured along the process + //type could be error, user_error, warning regarding the error occurred along the process String type = warning; String result = defaultOutputFormat(data, type); logErrorMessage(result); @@ -91,7 +91,7 @@ public void produceContent(ContentEncoder encoder, IOControl ioctrl) close(); } else if (queryStatus.getError().contains("java.rmi.RemoteException")) { String data = "One or more containers are not responding. Please inform the system administrator."; - //type could be error, user_error, warning regarding the error occured along the process + //type could be error, user_error, warning regarding the error occurred along the process String type = error; String result = defaultOutputFormat(data, type); logErrorMessage(result); @@ -99,8 +99,8 @@ public void produceContent(ContentEncoder encoder, IOControl ioctrl) encoder.complete(); close(); } else if (queryStatus.getError().contains("java.lang.IndexOutOfBoundsException:")) { - String data = "Something went wrong. Clean-ups were made, you may re-run your experiment. Please inform the system administrator though for fixing any remaining issue."; - //type could be error, user_error, warning regarding the error occured along the process + String data = "Something went wrong. Please inform the system administrator."; + //type could be error, user_error, warning regarding the error occurred along the process String type = error; String result = defaultOutputFormat(data, type); logErrorMessage(result); @@ -108,8 +108,8 @@ public void produceContent(ContentEncoder encoder, IOControl ioctrl) encoder.complete(); close(); } else { - String data = "Something went wrong. Please inform your system administrator to consult the logs."; - //type could be error, user_error, warning regarding the error occured along the process + String data = "Something went wrong. Please inform the system administrator."; + //type could be error, user_error, warning regarding the error occurred along the process String type = error; String result = defaultOutputFormat(data, type); logErrorMessage(result); diff --git a/Federated-Deployment/Compose-Files/docker-compose-master.yml b/Federated-Deployment/Compose-Files/docker-compose-master.yml index 3bffad51a..bf914bd29 100644 --- a/Federated-Deployment/Compose-Files/docker-compose-master.yml +++ b/Federated-Deployment/Compose-Files/docker-compose-master.yml @@ -49,8 +49,9 @@ services: - CONSULURL=${EXAREME_KEYSTORE} - FEDERATION_ROLE=${FEDERATION_ROLE} - NODE_NAME=${FEDERATION_NODE} - - ENVIRONMENT_TYPE=PROD #TEST / DEV / PROD - TEMP_FILES_CLEANUP_TIME=30 + - NODE_COMMUNICATION_TIMEOUT=30000 # (MILIS) NODE COMMUNICATION WILL DROP IF TIMEOUT IS PASSED + - ENVIRONMENT_TYPE=PROD # TEST / DEV / PROD depends_on: - exareme-keystore deploy: diff --git a/Federated-Deployment/Compose-Files/docker-compose-worker.yml b/Federated-Deployment/Compose-Files/docker-compose-worker.yml index b586e9491..553a03d4d 100644 --- a/Federated-Deployment/Compose-Files/docker-compose-worker.yml +++ b/Federated-Deployment/Compose-Files/docker-compose-worker.yml @@ -30,8 +30,9 @@ services: - CONSULURL=${EXAREME_KEYSTORE} - NODE_NAME=${FEDERATION_NODE} - FEDERATION_ROLE=${FEDERATION_ROLE} - - ENVIRONMENT_TYPE=PROD #TEST / DEV / PROD - TEMP_FILES_CLEANUP_TIME=30 + - NODE_COMMUNICATION_TIMEOUT=30000 # (MILIS) NODE COMMUNICATION WILL DROP IF TIMEOUT IS PASSED + - ENVIRONMENT_TYPE=PROD # TEST / DEV / PROD deploy: restart_policy: condition: on-failure diff --git a/Local-Deployment/docker-compose-master.yml b/Local-Deployment/docker-compose-master.yml index e41468b7f..8a1ba2554 100644 --- a/Local-Deployment/docker-compose-master.yml +++ b/Local-Deployment/docker-compose-master.yml @@ -48,8 +48,9 @@ services: - CONSULURL=${EXAREME_KEYSTORE} - FEDERATION_ROLE=${FEDERATION_ROLE} - NODE_NAME=${FEDERATION_NODE} - - ENVIRONMENT_TYPE=PROD # TEST / DEV / PROD - TEMP_FILES_CLEANUP_TIME=30 + - NODE_COMMUNICATION_TIMEOUT=30000 # (MILIS) NODE COMMUNICATION WILL DROP IF TIMEOUT IS PASSED + - ENVIRONMENT_TYPE=PROD # TEST / DEV / PROD depends_on: - exareme-keystore deploy: