Skip to main content
donaldo71
Silver ⭐️⭐️
April 8, 2026
Question

Loss of formatDateFrom attribute during PutSQL failure retry in Apache NiFi

Hi,

I'm having a problem with a NiFi flow. I use UpdateAttrubute processor when I create an attribute like this: 

formatDateFrom      ${dateFrom:format("yyyy-MM-dd")}
After this I have a PutSql processor that changes a status in DB. When everything is fine, it is ok. However, when something is wrong with the change, this status and my flow go to retry this attribute formatDateFrom disappears and is no longer present in the flow.

Why does this happen and how can I secure this attribute? Attributes created with EvalueateJsonPath didn't disappear, only those created with UpdateAttribute.

5 replies

MattWho
Titanium ⭐️⭐️⭐️
Titanium ⭐️⭐️⭐️
April 8, 2026

@donaldo71 I am trying to follow your flow description here and am not very clear.  Can you share your flow definition and indicate where you are seeing the failure. 
What version of Apache NiFi are you using?

You have an UpdateAttribute processor that has its success relationship routed via a connection to the PutSQL processor.  How is putSQL configured?

When "something is wrong", what exception is being thrown in the nifi-app.log?

The more detail you can provide the better chance. community member may be able to provide guidance and suggestions.

Thank you,
Matt

Translate
donaldo71
donaldo71Author
Silver ⭐️⭐️
April 8, 2026

I mean that if the PutSql processor is unable to change the status, e.g. due to the database being unavailable, and the flow goes to the retry path to retry the process, then the attributes I created earlier in UpadetAttribute disappear from the process.This is my values in PutSql processor:

Support Fragmented Transactions
false
 
Database Session AutoCommit
false
 
Transaction Timeout
30 sec
 
Batch Size
50
 
Obtain Generated Keys
false
 
Rollback On Failure
false
 
 

 

Translate
donaldo71
donaldo71Author
Silver ⭐️⭐️
April 9, 2026

This happens in version 1.23.2. In the PutSql processor, I have the following command: UPDATE tbl SET status = 'proceed', startDate = GETDATE() WHERE messageId = ${messageId} The first retry attempt no longer had this attribute. When I look at DataProvanance, I see the following next to this record in PutSql: SEND CLONE CLONE CLONE DONE - as if, each time I retry, PutSql cloned the flow file, which no longer has the formatDateTo and formatDataFrom attributes.

Translate