* [NIFI-13318] processor stop and configure UX
* handle invalid run status
* display validation errors
* invalid icon and tooltip alternative placement
* remove validation errors tooltip, move invalid icon into status button, update edit processor entity and readonly updates
* restore MAT_DIALOG_DATA and only enable/disable form controls via api
* clean up
* only allow updates by current client and poll until stopped and no active threads
* update menu options to display when available
* display processor bulletins
* align dialog header text and run status button
* update filter for incoming updated entities and submit appropriate revision on run status changes
* disable button when stopping
* code clean up
* update method name
* update error message
* update types
* add types and cleanup
* move run status action button
* review feedback
* update run status action button to consider when user cannot operate processor
* update to also handle disabled run status when user does not have operate
* clean up pollingProcessor
* disable button when stopping
* prettier
* prettier
* readd thread count
* poll when necessary
This closes#9548
- Set Tags in Extension definitions from Python Processor Details to avoid errors
- Added and updated tests for manifests
This closes#9565
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Added ProxiedEntityEncoder interface and implementation
- Removed nifi-web-security dependency from nifi-toolkit-client
- Removed Google Guava dependency from nifi-toolkit-cli
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#9567.
This closes#9556
- AWS SDK v1 from 1.2.778 to 1.12.779
- AWS SDK v2 from 2.29.15 to 2.29.22
- ZSTD from 1.5.6-7 to 1.5.6-8
- commons-io from 2.17.0 to 2.18.0
- Test containers from 1.20.3 to 1.20.4
- log4j from 2.24.1 to 2.24.2
- Spring Security from 6.4.0 to 6.4.1
- jsoup from 1.18.1 to 1.18.2
- metrics-jvm and metrics-core from 4.2.28 to 4.2.29
- elasticsearch client from 8.15.3 to 8.16.1
- Spring integration from 6.3.5 to 6.4.0
- greenmail from 2.0.1 to 2.1.1
- gremlin from 3.7.2 to 3.7.3
- janusgraph from 1.0.0 to 1.2.0-20241120
- amqp client from 5.22.0 to 5.23.0
- neo4j driver from 5.26.0 to 5.26.3
- mongodb driver from 4.11.4 to 4.11.5
- jackson-datatype-protobuf from 0.9.16 to 0.9.17
- Redis from 3.3.5 to 3.4.0
- Slack bolt from 1.44.1 to 1.44.2
- Spring boot from 3.3.5 to 3.4.0
- datafaker from 2.4.1 to 2.4.2
- Spring retry from 2.0.9 to 2.0.10
- Kotlin from 2.0.21 to 2.1.0
Signed-off-by: Joseph Witt <joewitt@apache.org>
- Including the revision for the current Process Group in the flow response.
- Introduce a method propose built for adding new versioned components to an existing Process Group.
- Updating the paste response payload to only include the entities for the components that were just added.
- Always generating new IDs when copying components.
- Creating an ID for the copy action.
- Code clean up.
- Mapping IDs on paste to ensure connections are created correctly.
- Authorizing any components whose instance IDs are specified.
- Copying any sensitive properties from copied instances when pasting.
- Fixing mapping of copy response to ensure that nested Controller Services can be referenced.
- Including external Controller Services in copy response to they can be resolved on paste.
- Excluding unreferenced services from copy response.
- Including property descriptors to allow external services to resolve when pasting.
- Including Parameters and Parameter Providers in copy response.
- Fixing issue returning unreferenced services in the current process group.
- Reverting changes building up external service references.
- Only including external services that are references by the copy selection.
- Adding some additional test coverage.
- Adding consideration for the current ids in the paste id mapping.
- Adding an endpoint response merger for the paste endpoint.
- Including version control information in copy response.
- Being more lenient when pasting unknown registry clients.
- Ensuring groups IDs are mapped correctly when and when not versioned.
- Including registry client id in vci of versioned process groups.
- Updating copy/paste logic in existing system tests to leverage new endpoints.
- Restoring originally proposed port name if possible.
- Allow ports to be pasted into the root group.
- Fixing authorization issue when pasting a flow containing Parameter Providers.
- Fixing issue when authorizing exporting a Flow that contains a Process Group bound to a Parameter Context.
- Introducing some Copy/Paste system tests.
- Adding system tests for verify various copy paste functionality.
- Ensuring appropriate access around Parameter Providers following resolution based on locally available Parameter Providers.
- Ensuring user has access to controller services directly referenced.
- Fixing NPE in log message of Parameter Context.
- Adding more copy/paste system tests.
- Moving copy/paste version tests into the CopyPasteIT.
- Fixing unit test mocking.
- Include service authorization based on versioned component id since it may resolve during synchronization.
- Skipping properties with no values when resolving service identifiers.
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Fixed LDAP Provider support for configuring a Trust Store without a Key Store
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#9544.
- Upgraded OpenSAML from 4.3.2 to 5.1.3
- Upgraded Nimbus JOSE JWT from 9.42 to 9.47
- Upgraded Santuario from 2.3.4 to 4.0.3
- Updated OpenSAML 4 references to OpenSAML 5
- Added OIDC RestClient Bean and updated references based on deprecation warnings
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#9545.
- Azure BOM from 1.2.28 to 1.2.29
- MSAL4J from 1.17.1 to 1.17.2
- GCP BOM from 26.49.0 to 26.50.0
- AWS SDK v1 from 1.12.777 to 1.12.778
- AWS SDK v2 from 2.29.1 to 2.29.15
- Groovy from 4.0.23 to 4.0.24
- Spring Framework from 6.1.14 to 6.2.0
- Swagger annotation from 2.2.25 to 2.2.26
- Set HTTPS port values for OAuth2 Request Resolver Test
- Removed invalid Autowired annotations from Web Config
- Set required to false for Autowired cluster components
This closes#9531
Signed-off-by: David Handermann <exceptionfactory@apache.org>
Co-authored-by: David Handermann <exceptionfactory@apache.org>
Co-authored-by: Pierre Villard <pierre.villard.fr@gmail.com>
- Added Object Identifiers for UID and DC which are not included in the standard set for X500Principal.RFC1779
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#9532.
- Corrects behavior when running in a cluster required after changes to read from response streams instead of buffering the entire response body in memory
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Upgraded Dropbox from 5.4.6 to 7.0.0
- Upgraded Camel Salesforce from 3.14.10 to 3.22.2
- Upgraded SNMP4J from 2.8.18 to 3.8.2
- Upgraded QuestDB from 7.4.2 to 8.1.4
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Upgraded icu4j from 75.1 to 76.1
- Upgraded okhttp-digest from 3.1.0 to 3.1.1
- Upgraded ZooKeeper from 3.9.2 to 3.9.3
- Upgraded JUnit from 5.11.2 to 5.11.3
- Upgraded JUnit Platform from 1.11.2 to 1.11.3
- Upgraded Logback from 1.5.11 to 1.5.12
- Upgraded AWS SDK from 1.12.775 to 1.12.777
- Upgraded AWS SDK from 2.28.25 to 2.29.1
- Upgraded zstd-jni from 1.5.6-6 to 1.5.6-7
- Upgraded json-flattener from 0.17.0 to 0.17.1
- Upgraded Nimbus JOSE JWT from 9.41.2 to 9.42
- Upgraded Testcontainers from 1.20.2 to 1.20.3
- Upgraded HubSpot Jackson from 0.9.15 to 0.9.16
- Upgraded Slack API from 1.44.0 to 1.44.1
- Upgraded MySQL binlog from 0.29.2 to 0.30.1
- Upgraded DataFaker from 2.4.0 to 2.4.1
- Upgraded FlywayDB from 10.20.0 to 10.20.1
- Upgraded MariaDB Driver from 3.4.1 to 3.5.0
- Upgraded Spring Boot from 3.3.4 to 3.3.5
- Upgraded Spring Integration from 6.3.4 to 6.3.5
- Upgraded Spring Security Kerberos from 1.0.1 to 2.1.1
This closes#9461
Signed-off-by: David Handermann <exceptionfactory@apache.org>
Removed Provenance Repository from the stateless RepositoryContextFactory and added it to the DataflowTriggerContext. This was necessary because the previous design overlooked the possibility of many threads concurrently running the same dataflow. They all shared the same StatelessProvenanceRepository, but the code was designed as if only a single thread would be using the repository. As a result, the events that were registered with the stateless prov repo were being copied many times into NiFi's underlying provenance repository. This refactoring also led to the discovery of some old Java 8 syntax that could be cleaned up, and it led to the discovery of some methods that were no longer being used and could be cleaned up. Finally, in testing, I found that when a Stateless Group was scheduled, it scheduled the triggering of the stateless group before marking the state as RUNNING; as a result, the second thread could run, determine that the state is STARTING instead of RUNNING, and return without triggering the stateless group. This was addressed by ensuring that we set the state to RUNNING before triggering the stateless group to be triggered.
Signed-off-by: David Handermann <exceptionfactory@apache.org>
If a Python processor defines dependencies both inline and in a
requirements.txt file, then we need to install the two groups of
dependencies in a single `pip install` command, otherwise pip is
not able to resolve the web of dependencies correctly.
- Added setup-python step with Python 3.12 to ci-workflow for consistent version behavior
This closes#9429
Signed-off-by: David Handermann <exceptionfactory@apache.org>
This closes#9427
- Removed unused dependency from nifi-framework-bundle
- Aligned custom-mimetypes.xml location with Tika 3 default location
Signed-off-by: Joseph Witt <joewitt@apache.org>
This closes#9422
- Switched from DefaultServlet to ResourceServlet for documentation resources
- Added Server instance to RewriteHandler
Signed-off-by: Joseph Witt <joewitt@apache.org>
- Updated Standard Controller Service Provider to enable requested Controller Services that do not depend on a disabled Controller Service, instead of failing to enable the entire set of requested Controller Services
- Updated enabling process improves behavior when restarting NiFi and attempting to enable large numbers of Controller Services, some of which depend on disabled Services
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Upgraded AWS SDK from 1.12.774 to 1.12.775
- Upgraded AWS SDK from 2.28.24 to 2.28.25
- Upgraded Box API from 4.11.1 to 4.12.0
- Upgraded nimbus-jose-jwt from 9.40 to 9.41.2
- Upgraded oauth2-oidc-sdk from 11.14 to 11.20.1
- Upgraded reactor-netty-heep from 1.1.22 to 1.1.23
- Upgraded Elasticsearch Client from 8.15.1 to 8.15.3
- Upgraded Google API from v3-rev20240903-2.0.0 to v3-rev20240914-2.0.0
- Upgraded MySQL Driver from 9.0.0 to 9.1.0
- Upgraded Slack bolt-socket-mode from 1.42.1 to 1.44.0
- Upgraded Project Reactor from 3.6.10 to 3.6.11
- Upgraded Flyway DB from 10.18.2 to 10.20.0
- Upgraded gitlab4j-api from 6.0.0-rc.5 to 6.0.0-rc.6
- Upgraded JLine from 3.27.0 to 3.27.1
- Upgraded Neo4j Driver from 5.25.0 to 5.26.0
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Removed unused nifi.listener.bootstrap.port property from nifi.properties
- Added documentation for management.server.address property in bootstrap.conf
- Corrected location of nifi.diagnostics.on.shutdown property documentation
- Added localized handling to bootstrap port property in StandardMiNiFiServer
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#9413.
- Increasing the timeout from 5 seconds to 15 seconds should provide greater build stability when running multi-thread builds
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#9409.
- Upgraded Apache MINA SSHD from 2.13.2 to 2.14.0
- Upgraded Dropwizard Metrics from 4.2.27 to 4.2.28
- Upgraded Guava from 33.2.1 to 33.3.1
- Upgraded ASM from 9.7 to 9.7.1
- Upgraded Apache JSP from 10.1.16 to 10.1.31
- Upgraded Apache EL from 10.1.16 to 10.1.31
- Upgraded Data Faker from 2.3.1 to 2.4.0
- Upgraded JSON Flattener from 0.16.6 to 0.17.0
- Upgraded Check Qual from 3.47.0 to 3.48.1
- Upgraded error-prone-annotations from 2.28.0 to 2.33.0
- Upgraded frontend-maven-plugin from 1.15.0 to 1.15.1
- Upgraded AWS SDK from 1.12.772 to 1.2.774
- Upgraded AWS SDK from 2.28.13 to 2.28.24
- Upgraded JSON Smart from 2.5.0 to 2.5.1
- Upgraded Jersey from 3.1.8 to 3.1.9
- Upgraded Logback from 1.5.8 to 1.5.11
- Upgraded Servlet API from 6.0.0 to 6.1.0
- Upgraded Swagger Annotations from 2.2.24 to 2.2.25
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#9407.
- Refactoring to create base class for other git-based flow registry clients
- Implement GitLabRepositoryClient
- Implement GitLabFlowRegistryClient
Signed-off-by: David Handermann <exceptionfactory@apache.org>
This closes#9392
- Added EphemeralKeyStoreBuilder to nifi-security-ssl
- Removed nifi-security-utils
- Moved StandardTlsConfiguration to nifi-ssl-context-service
- Refactored tests to use EphemeralKeyStoreBuilder and nifi-security-cert-builder for TLS
Signed-off-by: Joseph Witt <joewitt@apache.org>
- Upgraded Curator from 5.7.0 to 5.7.1
- Updated TestQueryRecord expected value to align with Calcite 1.38.0 decimal handling
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#9394.
- Fixed Reporting Task property migration: in case of sensitive properties the encrypted form was migrated to the new property value
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Refactored NiFi Runtime class to read application properties for NAR loading and then load application properties using Framework NAR
- Removed bootstrap Class Loader from runtime initialization
- Removed nifi-properties-loader from nifi-bootstrap
- Jackson from 2.17.2 to 2.18.0
- zstd-jni from 1.5.6-5 to 1.5.6-6
- gson from 2.10.1 to 2.11.0
- okio from 3.9.0 to 3.9.1
- Fabric8 Kubernetes from 6.13.1 to 6.13.4
- Netty from 4.1.113.Final to 4.1.114.Final
- swagger-annotations from 2.2.23 to 2.2.24
- avro from 1.11.3 to 1.11.4
- commons-lang3 from 3.16.0 to 3.17.0
- log4j from 2.24.0 to 2.24.1
- Jetty from 12.0.13 to 12.0.14
- junit-bom from 5.10.3 to 5.10.4
- junit-platform-commons from 1.10.3 to 1.10.4
- mockito from 5.13.0 to 5.14.1
- testcontainers from 1.20.1 to 1.20.2
- snakeyaml from 2.2 to 2.3
- AWS SDK v2 from 2.28.4 to 2.28.13
- flyway from 10.18.0 to 10.18.2
- jline from 3.26.3 to 3.27.0
- neo4j driver from 5.24.0 to 5.25.0
- maxmind from 3.1.0 to 3.1.1
- geoip2 from 4.2.0 to 4.2.1
- amqp-client from 5.21.0 to 5.22.0
- commons-csv from 1.11.0 to 1.12.0
- splunk from 1.9.4 to 1.9.5
- lucene from 9.11.1 to 9.12.0
- Google BOM from 26.46.0 to 26.47.0
- Azure BOM from 1.2.26 to 1.2.28
- msal4j from 1.16.1 to 1.17.1
- json-schema-validator from 1.5.1 to 1.5.2
- checker-qual from 3.45.0 to 3.47.0
- checkstyle from 10.16.0 to 10.18.2
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Only synchronize flow with the coordinator after getting cluster response
This closes#9317
Signed-off-by: David Handermann <exceptionfactory@apache.org>