soenkeliebau opened a new pull request, #11644: URL: https://github.com/apache/nifi/pull/11644
<!-- Licensed to the Apache Software Foundation (ASF) under one or more --> <!-- contributor license agreements. See the NOTICE file distributed with --> <!-- this work for additional information regarding copyright ownership. --> <!-- The ASF licenses this file to You under the Apache License, Version 2.0 --> <!-- (the "License"); you may not use this file except in compliance with --> <!-- the License. You may obtain a copy of the License at --> <!-- http://www.apache.org/licenses/LICENSE-2.0 --> <!-- Unless required by applicable law or agreed to in writing, software --> <!-- distributed under the License is distributed on an "AS IS" BASIS, --> <!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --> <!-- See the License for the specific language governing permissions and --> <!-- limitations under the License. --> # Summary NIFI-16316 - A connection with a blank name and an empty relationship collection produces a ConnectionStatus with a null name which causes an NPE on every trigger of the SiteToSiteStatusReportingTask This is mostly guarded against in the creation code, but an be reached through flow synchronization (or simply manually uploading a flow json with the broken element): updateConnection applies selectedRelationships verbatim, so a port- or funnel-sourced connection whose flow definition carries an empty `selectedRelationships` list loses the anonymous relationship that connection creation would substitute. Changes made: - AbstractEventAccess: fall back to the connection identifier so the status name is never null, protecting all consumers of the controller status - SiteToSiteStatusReportingTask: treat a null component name as empty when matching filters, as defence in depth for any other status type - Add a regression test serializing a status tree that contains a connection with a null name [NIFI-16316](https://issues.apache.org/jira/browse/NIFI-16316) ### Build - [ ] Build completed using `./mvnw clean install -P contrib-check` - [ ] JDK 21 - [ ] JDK 25 ### Licensing - [ ] New dependencies are compatible with the [Apache License 2.0](https://apache.org/licenses/LICENSE-2.0) according to the [License Policy](https://www.apache.org/legal/resolved.html) - [ ] New dependencies are documented in applicable `LICENSE` and `NOTICE` files ### Documentation - [ ] Documentation formatting appears as expected in rendered files -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
