Support Questions

Find answers, ask questions, and share your expertise

NiFi PutSQL won't read bytes

avatar
Expert Contributor

A message will sit indefinetly on the inbound queue prior to a PutSQL processor. I can see a single thread processor start and the bytes indicator, however, nothing hits Read/Write or Out counter in processor panel nor does the successful, failure, or retry queues ever get populated. I see scheduler agent related messages that seem to indicate a thread stopping or related. I have other flows using this same combination of processors working successfully reading from the same MySQL datasource. Is there another way to determine what might be the problem?

2016-12-14 16:01:49,915 INFO [StandardProcessScheduler Thread-8] o.a.n.c.s.TimerDrivenSchedulingAgent Stopped scheduling PutSQL[id=dd773e31-6c2d-1e1c-31b6-4e5051563488] to run
2016-12-14 16:01:51,169 INFO [Flow Service Tasks Thread-1] o.a.nifi.controller.StandardFlowService Saved flow controller org.apache.nifi.controller.FlowController@375b74aa // Another save pending = false
2016-12-14 16:02:01,114 INFO [StandardProcessScheduler Thread-5] o.a.n.c.s.TimerDrivenSchedulingAgent Scheduled PutSQL[id=dd773e31-6c2d-1e1c-31b6-4e5051563488] to run with 1 threads
2016-12-14 16:02:02,101 INFO [Flow Service Tasks Thread-1] o.a.nifi.controller.StandardFlowService Saved flow controller org.apache.nifi.controller.FlowController@375b74aa // Another save pending = false
1 ACCEPTED SOLUTION

avatar
Expert Contributor

Thank you for your reply. The problem was related to the "Support Fragmented Transactions" setting in the PutSQL. This needed to be changed to 'false' in my setting due to filtering logic upstream (i.e. ${fragment.index:plus(1):equals(${executesql.row.count})} which only allowed the last transaction to pass a the routeattribute.

View solution in original post

2 REPLIES 2

avatar
Master Guru

1. Check logs

2. Check Summary

3. Make sure processor is started

4. List the queue and see information.

Post as many details, logs here as you can.

What is the prior processor, what is the flowfile you are sending the the PutSQL. Do you have a valid connection waiting to run?

https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi.processors.standard.PutSQL/

Change settings on Fragmented Transactions.

Support Fragmented Transactions from False to True

avatar
Expert Contributor

Thank you for your reply. The problem was related to the "Support Fragmented Transactions" setting in the PutSQL. This needed to be changed to 'false' in my setting due to filtering logic upstream (i.e. ${fragment.index:plus(1):equals(${executesql.row.count})} which only allowed the last transaction to pass a the routeattribute.