Support Questions

Find answers, ask questions, and share your expertise

NiFi tasks are queued up but never being processed?

avatar
New Contributor

pritster5_0-1626988042824.png

I have the above flow and I am successfully listing the files in a given blob storage container. When I feed that to the FetchAzureBlobStorage processor however, the queue starts to fill up but not a single task in the queue ever gets processed. 

Any ideas regarding why this happens?

1 ACCEPTED SOLUTION

avatar
Master Mentor

@pritster5 

The screenshot shared does tell us some the following:

We can see on the AzureBlobStorage "0(2)" displayed in the upper right corner.  This tells us that this processor still has two active threads that have been "terminated" manually by a user (Meaning user tried to stop processor but it failed to stop so the user selected terminate).   Terminating threads simply tells NiFi to release the FlowFile associated to that thread back to the inbound connection queue it belongs to and set processor to send anything returned by those still running threads that are marked as terminated to null. 

So since we can tell you still have running threads, the question becomes... 
"What are these threads doing?"
"Are these thread hung?"
"Are thee threads just very long running?"

I would suggest using executing following several times (1 - 3 minutes apart) to get a series o thread dumps:

./nifi.sh dump <filename fo dump>

Then you should inspect those threads to see perhaps what they are waiting on or if they are making any progress (stack changes) between each thread dump.   This will answer your questions above.

Maybe connection to AzureBlob Storage is very slow?
Maybe Host resources are high and your threads are waiting on CPU?
etc...

If you found this assisted with your query, please take a moment to login and click "Accept" on solutions that helped you.

Thank you,

Matt

View solution in original post

2 REPLIES 2

avatar
Contributor

Could you enable DEBUG logging for the processor? Maybe we can see something there. 

avatar
Master Mentor

@pritster5 

The screenshot shared does tell us some the following:

We can see on the AzureBlobStorage "0(2)" displayed in the upper right corner.  This tells us that this processor still has two active threads that have been "terminated" manually by a user (Meaning user tried to stop processor but it failed to stop so the user selected terminate).   Terminating threads simply tells NiFi to release the FlowFile associated to that thread back to the inbound connection queue it belongs to and set processor to send anything returned by those still running threads that are marked as terminated to null. 

So since we can tell you still have running threads, the question becomes... 
"What are these threads doing?"
"Are these thread hung?"
"Are thee threads just very long running?"

I would suggest using executing following several times (1 - 3 minutes apart) to get a series o thread dumps:

./nifi.sh dump <filename fo dump>

Then you should inspect those threads to see perhaps what they are waiting on or if they are making any progress (stack changes) between each thread dump.   This will answer your questions above.

Maybe connection to AzureBlob Storage is very slow?
Maybe Host resources are high and your threads are waiting on CPU?
etc...

If you found this assisted with your query, please take a moment to login and click "Accept" on solutions that helped you.

Thank you,

Matt