Serhii Nesterov created NIFI-14823:
--------------------------------------
Summary: NiFi Processor becomes invalid due to a dynamic property
sensitivity issue after NAR reupload
Key: NIFI-14823
URL: https://issues.apache.org/jira/browse/NIFI-14823
Project: Apache NiFi
Issue Type: Bug
Affects Versions: 1.28.1
Environment: Windows 11,
Reporter: Serhii Nesterov
Attachments: image-2025-08-06-03-55-23-773.png,
image-2025-08-06-03-57-40-487.png
I am working on a commercial project that uses Apache NiFi as an orchestration
tool. There are plenty custom NARs with our custom processors and controller
services that we build and uppload to the extensions folder as part of a CD
process during NiFi deployments. Sometimes we may make a mistake and
accidentally upload a wrong version of NARs, and we observed that all
processors that consist of at least a single non-sensitive property descriptor
becomes invalid after uploading the correct version of the NAR. We believe this
is a defect and NiFi should be able to restore dynamic properties as needed (in
the same way as it restores static properties).
Here are the steps to reproduce the issue:
# Create a custom NiFi processor with one static and one non-sensitive dynamic
property descriptors
# Build a NAR and upload it to the extensions ** folder
# Start NiFi
# Put a new instance of the processor onto the canvas, fill in the static
property with any value, and add a dynamic property with any name and value
# Save the configuration
# Stop NiFi
# Delete the NAR from the extensions folder
# Start NiFi. You will be able to see that NiFi cannot detect the processor
which is expected since our NAR is absent
# Stop NiFi
# Get the NAR back to the extensions folder
# Start NiFi. You will see that the processor is still highlighted as an
Invalid component. If open its configuration, you will see that the static
property values is restored, however the non-sensitive one isn't - it keeps
being sensitive
Here's what it looks like based on our custom PublishServiceBus that sends
messages to Azure Service Bus:
!image-2025-08-06-03-57-40-487.png!
!image-2025-08-06-03-55-23-773.png!
Current workaround that helps us restore invalid compontents:
# Open the configuration of an invalid processor
# Add a new dynamic property with any name and value
# Press Save or Cancel to close the configuration
# Inspect the processor state - it got restored. The sensitivy of the broken
property becomes false again as required and the value is now correct
One disadvantage of the workaround is we need to apply it to each invalid
component. So, if we have hundreds or thousands of such invalid components,
then we would have to open a configuration of each of them and repeat the steps
one after another which is a headache and is also problematic in production
where the flow stays restricted for any modifications.
Our expectation is to have NiFi restore the state of all non-sensitive
properties once a necessary NAR gets uploaded and is compatible with the flow
definition.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)