Support Questions

Find answers, ask questions, and share your expertise

Nifi update variable registry api is unable to finish update

avatar
Master Collaborator

Hello experts - 

I am using nifi 1.25 in Kubernetes.
I have flow where it updates variable registry of a processor group .
Invoking below url for the same - 
<baseNiFiUrl>/process-groups/${ProcessGroupId}/variable-registry/update-requests

It works for some time and once in a while it starts hanging, where it is unable to update the variable registry at and status stuck at processor stopping.
Even I tried running update variable registry after manually stopping the specific processor of processor group where updating variable is being referenced.

Here is the below response I get for var registry update status, it does not change:
{
"request" : {
"requestId" : "77422664-ad85-40d7-9464-4df7df1fe149",
"uri" : "https://nifi-0:9091/nifi-api/process-groups/fec6c2c9-ee27-31ea-6354-851d74803023/variable-registry/7...",
"submissionTime" : "12/20/2024 09:43:32.941 UTC",
"lastUpdated" : "12/20/2024 09:43:32.941 UTC",
"complete" : false,
"percentCompleted" : 0,
"updateSteps" : [ {
"description" : "Identifying components affected",
"complete" : true
}, {
"description" : "Stopping affected Processors",
"complete" : false
}, {
"description" : "Disabling affected Controller Services",
"complete" : false
}, {
"description" : "Applying Updates",
"complete" : false
}, {
"description" : "Re-Enabling affected Controller Services",
"complete" : false
}, {
"description" : "Restarting affected Processors",
"complete" : false
} ],
"processGroupId" : "fec6c2c9-ee27-31ea-6354-851d74803023",
"affectedComponents" : [ {
"revision" : {
"clientId" : "e3716811-0193-1000-9573-b7e6afd1da8d",
"version" : 27
},
"id" : "f22a307d-36ea-37ac-515e-677404e7790b",
"permissions" : {
"canRead" : true,
"canWrite" : true
},
"bulletins" : [ ],
"component" : {
"processGroupId" : "fec6c2c9-ee27-31ea-6354-851d74803023",
"id" : "f22a307d-36ea-37ac-515e-677404e7790b",
"referenceType" : "PROCESSOR",
"name" : "O9QueueRouting",
"state" : "STOPPED",
"activeThreadCount" : 0
},
"processGroup" : {
"id" : "fec6c2c9-ee27-31ea-6354-851d74803023",
"name" : "priceinputgspeandivandmarketidtest"
},
"referenceType" : "PROCESSOR"
} ]
}
}


This will work for some time if I restart the nifi and after some time it will be back to square.

Any suggestion would be much appreciated

Thanks

Mahendra

2 REPLIES 2

avatar
Master Mentor

@hegdemahendra 

While I don't have an environment right now matching yours to test with, I did want to point out the NiFi Variables are deprecated and removed in NiFi 2.0.  The NiFi 1.x branch will cease to be developed further. You need to move away from using NiFi Variables and start using NiFi Parameters instead.  Parameters are more useful then Variables since they can be used in any property versus variables only being useable in properties supporting NiFi Expression Language (NEL). 

Please help our community thrive. If you found any of the suggestions/solutions provided helped you with solving your issue or answering your question, please take a moment to login and click "Accept as Solution" on one or more of them that helped.

Thank you,
Matt

avatar
Master Mentor

@hegdemahendra 

As far as your issue goes, it would probably be useful to collect a series of thread dumps (at least spaced 5 minutes apart).  Then you would be looking for any threads related to the stopping of components to see if they are progressing or hung.  Is it stuck on stopping a specific processor or processor class?  Do any of the processors that are being stopped have active threads showing for them?

Thank you,
Matt