This is an automated email from the ASF dual-hosted git repository.
exceptionfactory pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/main by this push:
new e8fd070f953 NIFI-16294 Guard against null controller status in
SiteToSiteStatusReportingTask (#11627)
e8fd070f953 is described below
commit e8fd070f953e976cfb7841dddd81f199a597970a
Author: Sönke Liebau <[email protected]>
AuthorDate: Fri Sep 4 17:56:39 2026 +0200
NIFI-16294 Guard against null controller status in
SiteToSiteStatusReportingTask (#11627)
Signed-off-by: David Handermann <[email protected]>
---
.../nifi/reporting/SiteToSiteStatusReportingTask.java | 6 +++++-
.../nifi/reporting/TestSiteToSiteStatusReportingTask.java | 14 ++++++++++++++
2 files changed, 19 insertions(+), 1 deletion(-)
diff --git
a/nifi-extension-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/SiteToSiteStatusReportingTask.java
b/nifi-extension-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/SiteToSiteStatusReportingTask.java
index 1ce083b573c..e15415ed111 100644
---
a/nifi-extension-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/SiteToSiteStatusReportingTask.java
+++
b/nifi-extension-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/SiteToSiteStatusReportingTask.java
@@ -124,7 +124,11 @@ public class SiteToSiteStatusReportingTask extends
AbstractSiteToSiteReportingTa
processGroupIDToPath = new HashMap<>();
final ProcessGroupStatus procGroupStatus =
context.getEventAccess().getControllerStatus();
- final String rootGroupName = procGroupStatus == null ? null :
procGroupStatus.getName();
+ if (procGroupStatus == null) {
+ getLogger().debug("Controller status is not yet available; will
report status on a subsequent trigger.");
+ return;
+ }
+ final String rootGroupName = procGroupStatus.getName();
final String nifiUrl =
context.getProperty(SiteToSiteUtils.INSTANCE_URL).evaluateAttributeExpressions().getValue();
URL url;
diff --git
a/nifi-extension-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/test/java/org/apache/nifi/reporting/TestSiteToSiteStatusReportingTask.java
b/nifi-extension-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/test/java/org/apache/nifi/reporting/TestSiteToSiteStatusReportingTask.java
index 89438c1d819..9596c77eb6e 100644
---
a/nifi-extension-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/test/java/org/apache/nifi/reporting/TestSiteToSiteStatusReportingTask.java
+++
b/nifi-extension-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/test/java/org/apache/nifi/reporting/TestSiteToSiteStatusReportingTask.java
@@ -125,6 +125,20 @@ public class TestSiteToSiteStatusReportingTask {
assertEquals("UP_TO_DATE", versionedFlowState.getString());
}
+ @Test
+ public void testNullControllerStatus() throws IOException,
InitializationException {
+ final Map<PropertyDescriptor, String> properties = new HashMap<>();
+ properties.put(SiteToSiteUtils.BATCH_SIZE, "4");
+
properties.put(SiteToSiteStatusReportingTask.COMPONENT_NAME_FILTER_REGEX,
"Awesome.*");
+
properties.put(SiteToSiteStatusReportingTask.COMPONENT_TYPE_FILTER_REGEX, ".*");
+
+ // The controller status is not yet available (e.g. during startup
before the flow is initialized)
+ MockSiteToSiteStatusReportingTask task = initTask(properties, null);
+ assertDoesNotThrow(() -> task.onTrigger(context));
+
+ assertTrue(task.dataSent.isEmpty());
+ }
+
@Test
public void testComponentTypeFilter() throws IOException,
InitializationException {
final ProcessGroupStatus pgStatus = generateProcessGroupStatus("root",
"Awesome", 1, 0);