diff options
2 files changed, 8 insertions, 7 deletions
diff --git a/ms/blueprintsprocessor/functions/python-executor/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/python/executor/ComponentRemotePythonExecutor.kt b/ms/blueprintsprocessor/functions/python-executor/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/python/executor/ComponentRemotePythonExecutor.kt index 96b7cc0cc..51c01df45 100644 --- a/ms/blueprintsprocessor/functions/python-executor/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/python/executor/ComponentRemotePythonExecutor.kt +++ b/ms/blueprintsprocessor/functions/python-executor/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/python/executor/ComponentRemotePythonExecutor.kt @@ -88,8 +88,6 @@ open class ComponentRemotePythonExecutor(private val remoteScriptExecutionServic val dynamicProperties = getOptionalOperationInput(INPUT_DYNAMIC_PROPERTIES) val packages = getOptionalOperationInput(INPUT_PACKAGES)?.returnNullIfMissing() - val argsNode = getOptionalOperationInput(INPUT_ARGUMENT_PROPERTIES)?.returnNullIfMissing() - // This prevents unescaping values, as well as quoting the each parameter, in order to allow for spaces in values val args = getOptionalOperationInput(INPUT_ARGUMENT_PROPERTIES)?.returnNullIfMissing() ?.rootFieldsToMap()?.toSortedMap()?.values?.joinToString(" ") { formatNestedJsonNode(it) } @@ -147,9 +145,10 @@ open class ComponentRemotePythonExecutor(private val remoteScriptExecutionServic setAttribute(ATTRIBUTE_PREPARE_ENV_LOG,"".asJsonPrimitive()); } } catch (grpcEx: io.grpc.StatusRuntimeException) { - val grpcErrMsg = "Command failed during env. preparation... timeout($envPrepTimeout) requestId ($processId)." + val componentLevelWarningMsg = if (timeout < envPrepTimeout) "Note: component-level timeout ($timeout) is shorter than env-prepare timeout ($envPrepTimeout). " else "" + val grpcErrMsg = "Command failed during env. preparation... timeout($envPrepTimeout) requestId ($processId). $componentLevelWarningMsg" setAttribute(ATTRIBUTE_PREPARE_ENV_LOG, grpcErrMsg.asJsonPrimitive()) - setNodeOutputErrors(status = grpcErrMsg, message = "${grpcEx.status}".asJsonPrimitive()) + setNodeOutputErrors(status = grpcErrMsg, message = "{code=\"${grpcEx.status.code}\", description=\"${grpcEx.status.description}\", cause=\"${grpcEx.status.cause?.message}\"}".asJsonPrimitive()) log.error(grpcErrMsg, grpcEx) addError(grpcErrMsg) } catch (e: Exception) { @@ -194,11 +193,12 @@ open class ComponentRemotePythonExecutor(private val remoteScriptExecutionServic remoteExecutionOutput.payload) } } catch (timeoutEx: TimeoutCancellationException) { - val timeoutErrMsg = "Command executor timed out executing after $executionTimeout seconds requestId ($processId)" + val componentLevelWarningMsg = if (timeout < executionTimeout) "Note: component-level timeout ($timeout) is shorter than execution timeout ($executionTimeout). " else "" + val timeoutErrMsg = "Command executor execution timeout. DetailedMessage: (${timeoutEx.message}) requestId ($processId). $componentLevelWarningMsg" setNodeOutputErrors(status = timeoutErrMsg, message = "".asJsonPrimitive()) log.error(timeoutErrMsg, timeoutEx) } catch (grpcEx: io.grpc.StatusRuntimeException) { - val timeoutErrMsg = "Command executor timed out executing after $executionTimeout seconds requestId ($processId)" + val timeoutErrMsg = "Command executor failed to execute requestId ($processId) error (${grpcEx.status.cause?.message})" setNodeOutputErrors(status = timeoutErrMsg, message = "".asJsonPrimitive()) log.error("Command executor time out during GRPC call", grpcEx) } catch (e: Exception) { diff --git a/ms/blueprintsprocessor/modules/services/execution-service/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/execution/AbstractComponentFunction.kt b/ms/blueprintsprocessor/modules/services/execution-service/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/execution/AbstractComponentFunction.kt index 7a0f167fa..6e3d04a24 100644 --- a/ms/blueprintsprocessor/modules/services/execution-service/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/execution/AbstractComponentFunction.kt +++ b/ms/blueprintsprocessor/modules/services/execution-service/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/execution/AbstractComponentFunction.kt @@ -49,6 +49,7 @@ abstract class AbstractComponentFunction : BlueprintFunctionNode<ExecutionServic lateinit var operationName: String lateinit var nodeTemplateName: String var timeout: Int = 180 + val timeoutDeltaInMillis = 100L var operationInputs: MutableMap<String, JsonNode> = hashMapOf() override fun getName(): String { @@ -124,7 +125,7 @@ abstract class AbstractComponentFunction : BlueprintFunctionNode<ExecutionServic override suspend fun applyNB(executionServiceInput: ExecutionServiceInput): ExecutionServiceOutput { try { prepareRequestNB(executionServiceInput) - withTimeout(timeout * 1000L) { + withTimeout(timeout * 1000L + timeoutDeltaInMillis) { log.debug("DEBUG::: AbstractComponentFunction.withTimeout section $timeout seconds") processNB(executionServiceInput) } |