Troubleshooting
Troubleshooting flow services involves identifying and resolving issues that disrupt integration flows.
The following section describes common errors that might occur, along with their causes, impacts, and solutions
Handling Export errors with invalid constructs
The errors that are preventing the successful export of the flow service.
Error
This operation cannot be performed as Integrations flow-name are in an
inconsistent state.
Use case
Consider a scenario where you have a complex flow service that includes child flows and reference data.
Some of these components might have invalid constructs. These components are marked with a red circle to highlight the issues.
If you attempt to export the flow service without first resolving the highlighted steps, the system generates an export failed error during the export process.
Resolution
To resolve the error, follow these steps:
- Identify Invalid Constructs. Look for child flow steps and reference data that contain invalid constructs. These elements are part of the flow service. Any component with an issue is marked with a red circle to highlight the problem.
- Delete Child Flow Steps with Invalid Constructs. Remove any child flow steps that have invalid constructs. These steps might be causing inconsistencies or errors in the flow.
- Review Reference Data. Examine the reference data for invalid constructs and make sure that it is correctly configured. Remove or fix any reference data with issues.
If you still find issues, consider renaming and adding the reference data on your own.
Publish project errors with invalid constructs
Publishing complex flow services in a project can present several challenges, especially when the services include parent flows, child flows, and reference data.
Error
Operation cannot be performed as Integrations flow-name are in an inconsistent state.
Use Case
Consider a scenario where you have a complex flow, which includes parent and child flows, along with reference data. Some of these components have invalid constructs. These are marked with a red circle to highlight the issues.
While attempting to publish this flow, you encounter the above-mentioned error.
Resolution
To resolve the error, follow these steps:
-
Verify that any references related to the removed steps or components are either correctly resolved or removed from the flow.
-
If your flow includes child flows, make sure that they are correctly configured and do not rely on any removed steps or components.
-
Review any referenced data to confirm its validity and check whether it is still linked to the removed steps or components.
Once all dependencies are resolved, attempt to publish the flow once more.
Handling high-volume payloads and performance optimization
The flow service encountered performance issues when processing high-volume datasets, especially when iterating datasets with over 32,000 elements. The issue occurred due to the following two problems:
Problem 1: Variable persistence in child flows
Use case
When starting a child flow within a parent flow, variables from the parent flow are carried over to the child flow, causing unexpected behavior and potential performance issues.
Example - Parent flow starts a child flow without dropping the variable document, which is used in both the flows.
In the child flow, the document variable persists, leading to unintended iterations and errors in conditional logic. When input data is improper, the repeat loop fails to run, resulting in unexpected behavior.
Error
There is no error message that is displayed, yet the child flows fail to run properly due to the persistence of the document variable.
-
Before starting the child flow, drop unnecessary variables.
-
Also, you can use ClearPipeline to specify which variables to preserve. For more information, see Clearpipeline).
-
Make sure proper cleanup of variables to avoid interference between the parent and child flows.
Problem 2: Inefficient handling of high-volume payloads
Use case
Attempt to convert a dataset (over 32,000 rows) to a string format that uses loops. The problem resulted from the use of a loop method to iterate through each element in the document list, with mapping and operations being conducted independently. Even after implementing optimizations such as addItemToVector and vectorToArray, the loop's execution time remained around two minutes.
Error
There is no error message that is displayed, yet the services took longer time than expected.
Resolution
-
Use a temporary variable to store the document array and map it efficiently.
-
Convert the parent document to a JSON string directly, avoiding unnecessary iterations and operations on individual elements.
-
Identify efficient methods for handling high-volume datasets, such as direct conversion to wanted formats.
-
Minimize unnecessary iterations and operations, especially when dealing with high-volume payloads.
-
Optimize data processing logic to improve performance and reduce run time.
Additional headers were observed when running a REST application
When a REST application flow service is run with changed header attributes, sw6 headers may be observed in the pipeline output result.