Symptom
- Intermittent failures occur on different dataflows or tasks; failures happen on both scheduled runs and manual retries.
- Error message: "Graph failure: Exception thrown while reading message type code.: End of input stream reached."
- Error message: "java.io.IOException: End of input stream reached."
Environment
SAP Datasphere
Reproducing the Issue
- Run any dataflow on a schedule or start a manual retry.
- Observe that some runs fail intermittently with the error: "Graph failure: Exception thrown while reading message type code.: End of input stream reached." and "java.io.IOException: End of input stream reached."
Cause
The issue was caused by a software defect that could trigger an intermittent race condition during the Data Flow shutdown sequence. Under specific timing conditions, the process did not terminate gracefully, eventually causing the execution to time out and be reported as failed.
For further technical details, refer to the attached PDF document.
Resolution
=== Investigation Progress ===
- July 25th 06:30 UTC The hotfix has been deployed to all data centers. Data flows started after the deployment are no longer affected by this issue. However, data flows that were started before the hotfix may still encounter the issue intermittently. If this happens, restarting the data flow should resolve the issue, as the restart creates a new graph using the fixed Flowagent version.
- July 24th 00:30 UTC Root Cause has been identified and the fix is currently in validation
- July 24th 00:00 UTC SAP Development team was able to identify the cause and the fix will be delivered as soon as possible. Further updates on the schedule are still to be provided.
- July 23rd 06:00 UTC Engineering team is aware of this issue and currently investigate it.
- July 22nd 17:30 UTC The solution of this issue is currently under investigation.
=== Workaround ===
The recommended action depends on how you use the data flow in your scenario:
Scenario 1: Data flow runs standalone or as the last task in a task chain
You can treat this failure as a non-critical false positive — the data transfer completes successfully despite the error. To confirm, check the data flow logs: you should see the "Data Flow Run has finished" message appearing before the "Data Flow Run Error" message and the "Graph failure: Exception thrown while reading message type code.: End of input stream reached. java.io.IOException: End of input stream reached." warning.
Scenario 2: Data flow runs in a task chain with subsequent tasks that depend on its success status. Choose one of the following options based on your data flow's write mode:
- Any write mode — In the task chain, change the outgoing port from Success to Any, or enable Ignore Error for the data flow task. This allows subsequent tasks to run regardless of the data flow's outcome. Use this only if you are confident that no other errors are occurring, as it will suppress all error statuses.
- Write modes: Append with Upsert, Truncate, or Delete — Enable the Retry option for the data flow task in the task chain. The system will automatically retry the data flow until it succeeds before continuing to subsequent tasks.
- Write mode: Append (without Upsert) — Retrying without first cleaning up the target table may cause duplicate records. Automatic retries are therefore not recommended. Instead, enable Ignore Error to allow subsequent tasks to proceed — but note that this also suppresses other potential errors.
Keywords
dataflow failure, intermittent, graph failure, message type code, end of input stream reached, ioexception, scheduled run failure, manual retry failure, data flow runtime, pipeline error, transient error, java io error, read message type code, ingestion failure, job failure , KBA , DS-DI-DF , Data Flow Runtime , Known Error
Product
Attachments
| RCA_12944766_2026_Data_Flow_Intermittent_Failure.pdf |
SAP Knowledge Base Article - Public