SAP Data Hub Graphs can be quite complex with many Operators so there is a probability for some sort of failure,. In this blog I would therefore like to give you an idea how to troubleshoot a failed SAP Data Hub Graph.
My example Graph reads from a Kafka Internet of Thing stream and stores the messages in a Google Cloud Storage file, outputs them into a terminal and stores them in an SAP Vora table as well:
However, there is an issue and the Graph is dead. Looking at the SAP Data Hub Modeler already gives me some clues:
- The Write File Operator got a red indicator, so that is where the issue occurred.
- The error message indicates that there is a problem with the connection into my Google Cloud Storage.
To dig deeper, I consult my Kubernetes Dashboard:
There I find my failed Graph as a Pod in state Terminated: Error. Looking at the respective log shows me similar but a bit more detailed information about the issue:
With this information, i.e. the Pod name and timestamp of the issue, I can deep dive into Kibana, that comes out of the box with SAP Data Hub Diagnostics:
Next, I check my Google Cloud Storage:
Not surprisingly, my file there was last modified just before the connection issue occurred. Since there are no reports about an Google Cloud Platform issue at that point in time, my next line of inquiry is whether there had been an issue with my internet connection or even an internal network issue then. As it turns out, there had in fact been an internet connection issue that has by now been resolved by my Internet Service Provider.
Therefore, in this case, it is safe to just start my SAP Data Hub Graph again. Since it is based on Kafka it starts to immediately process the queued messages from the point of failure on until the most current message which I check in my SAP Data Hub Terminal:
Since the log information remains available in Kibana, it is now even safe to delete the failed SAP Data Hub Graph either from the SAP Data Hub Modeler or the Kubernetes Dashboard, to get a clean sheet again that makes it easier to detect new issues:
Of course this is only one simple example of an SAP Data Hub issue, but the tools I used to resolve it should apply to many other situations as well.