How can I effectively track the original FlowFile UUID across different processors in Apache NiFi, especially after using the SplitJson processor, which creates new FlowFiles with different UUIDs? I would like to trace the original FlowFile’s path through the flow to ensure it reaches the intended processor.
Additionally, when a FlowFile is routed to a failure state, I am not receiving any explicit error message to identify the cause of the failure. How can I obtain more detailed information about the failure, such as the error message or reason for failure, without having to manually inspect the NiFi logs?
POST http://localhost:8080/nifi-api/provenance
Content-Type: application/json
{
"provenance": {
"request": {
"incrementalResults": false,
"maxResults": 1000,
"summarize": true,
"searchTerms": {
"FlowFileUUID": {
"value": "121529e7-3d0e-45e7-b86c-d44d5d505d26",
"inverse": false
}
}
}
}
}
response
"provenance": {
"id": "0307fb2b-0195-1000-3c42-6aa1b16084a1",
"submissionTime": "02/14/2025 05:56:49.580 UTC",
"expiration": "02/14/2025 06:26:49.591 UTC",
"percentCompleted": 100,
"finished": true,
"request": {
"searchTerms": {
"FlowFile UUID": {
"value": "121529e7-3d0e-45e7-b86c-d44d5d505d26",
"inverse": false
}
},
"maxResults": 1000
},
"results": {
"provenanceEvents": [
{
"id": "8828",
"eventId": 8828,
"eventTime": "02/14/2025 05:35:35.041 UTC",
"eventType": "DROP",
"flowFileUuid": "121529e7-3d0e-45e7-b86c-d44d5d505d26",
"fileSize": "0 bytes",
"fileSizeBytes": 0,
"groupId": "de74cc1a-717c-3f95-d0de-62c57c3a1df3",
"componentId": "0e2d4832-e4ef-3625-3f9e-aba82dacf84a",
"componentType": "Connection",
"componentName": "original, failure"
},
{
"id": "8819",
"eventId": 8819,
"eventTime": "02/14/2025 05:29:36.753 UTC",
"eventType": "FORK",
"flowFileUuid": "121529e7-3d0e-45e7-b86c-d44d5d505d26",
"fileSize": "36.81 KB",
"fileSizeBytes": 37698,
"groupId": "de74cc1a-717c-3f95-d0de-62c57c3a1df3",
"componentId": "8b06df54-6c9f-35b6-74ac-ca18ece23cf2",
"componentType": "SplitJson",
"componentName": "SplitJson"
},
{
"id": "8816",
"eventId": 8816,
"eventTime": "02/14/2025 05:28:52.654 UTC",
"eventType": "CONTENT_MODIFIED",
"flowFileUuid": "121529e7-3d0e-45e7-b86c-d44d5d505d26",
"fileSize": "36.81 KB",
"fileSizeBytes": 37698,
"groupId": "de74cc1a-717c-3f95-d0de-62c57c3a1df3",
"componentId": "aa67ba85-7134-3cb1-6ec6-4d7287924308",
"componentType": "JSLTTransformJSON",
"componentName": "JSLTTransformJSON"
},
{
"id": "8814",
"eventId": 8814,
"eventTime": "02/14/2025 05:26:44.146 UTC",
"eventType": "CONTENT_MODIFIED",
"flowFileUuid": "121529e7-3d0e-45e7-b86c-d44d5d505d26",
"fileSize": "1.13 KB",
"fileSizeBytes": 1160,
"groupId": "de74cc1a-717c-3f95-d0de-62c57c3a1df3",
"componentId": "458aa9fb-10d8-378b-361d-8fb428594332",
"componentType": "ExecuteScript",
"componentName": "ExecuteScript"
},
{
"id": "8813",
"eventId": 8813,
"eventTime": "02/14/2025 05:25:40.422 UTC",
"eventType": "CREATE",
"flowFileUuid": "121529e7-3d0e-45e7-b86c-d44d5d505d26",
"fileSize": "0 bytes",
"fileSizeBytes": 0,
"groupId": "de74cc1a-717c-3f95-d0de-62c57c3a1df3",
"componentId": "0d760af0-df27-3cd9-d2ec-1651c471ad1a",
"componentType": "GenerateFlowFile",
"componentName": "GenerateFlowFile"
}
],
"total": "5",
"totalCount": 5,
"generated": "05:56:49 UTC",
"oldestEvent": "01/22/2025 07:09:21 UTC",
"timeOffset": 0
}
}
}```