256 Commits

Author SHA1 Message Date
Mark Payne
3a03caa149
NIFI-12969: Fixed a typo in the #isTempDestinationNecessary method, where we were comparing existingConnection.getProcessGroup() to newDestination.getProcessGroup(), instead of comparing existingConnection.getDestination().getProcessGroup() to newDestination.getProcessGroup(). I.e., we were comparing the Destination's PG to the Connection's PG instead of comparing Destination's PG to Destination's PG. This resulted in using a temporary funnel when we shouldn't. And as a result it attempted to change a Connection's Destination while the destination was running.
This closes #8600.

Signed-off-by: Joseph Witt <joewitt@apache.org>
2024-04-03 16:37:08 -07:00
Bence Simon
88d434f9ec NIFI-12735 Adding the option to execute flow analysis before committing snapshot to registry
This closes #8377.

Signed-off-by: Tamas Palfy <tpalfy@apache.org>
2024-04-03 17:24:21 +02:00
tpalfy
c3eff68f92
NIFI-12924 Flow Analysis no longer done regularly or on-demand, but automatically when a change occurs that could result in the change of violations.
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #8537.
2024-03-29 13:34:03 +01:00
Mark Payne
ae423fc6ba
NIFI-12832 Removed unnecessary dependencies from nifi-mock
- Moved StandardValidators to nifi-api
- Moved URL creation method from UriUtils to URLValidator
- Separated FormatUtils into FormatUtils and DurationFormat classes
- Added DurationFormat to nifi-api

This closes #8442

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-02-23 15:13:21 -06:00
Mark Payne
a821966a87
NIFI-12232 Corrected Group Component ID Handling for Clustered Flows
Ensured that if a Process Group doesn't have a Versioned Component ID we use the ComponentIdLookup to create one based on its Instance ID in the same way that is done when serializing the flow; this ensures matching ID's when we synchronize flows across the cluster. Also included some code cleanup around failure handling on startup

This closes #8406

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-02-20 11:25:56 -06:00
lehelb
d1af7ef0c5
NIFI-12781 Removed File Location from Provenance UPLOAD event
This closes #8397

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-02-12 16:31:41 -06:00
lehelb
bf86103abf
NIFI-12775: Renamed provenance/FileResource to ProvenanceFileResource
This closes #8392.

Signed-off-by: Peter Turcsanyi <turcsanyi@apache.org>
2024-02-12 08:52:24 +01:00
lehelb
6a007f9159
NIFI-12270 Added UPLOAD Provenance Event Type to nifi-api
This closes #8094

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-02-08 08:16:46 -06:00
Mark Payne
7edf0d4e2a
NIFI-12693: Moved notification of python process that a Processor was removed to a background (virtual) thread. Also noted in testing that in one instance a Python Processor never became
valid because it had cached property descriptors before the processor was fully initialized, so updated code to ensure that we do not cache values before initialization is completed.

This closes #8315

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-02-01 08:15:28 -06:00
Nissim Shiman
2e3f83eb54
NIFI-12387 Initialize Controller Service Comments with Empty String
The empty string allows controller service configuration to be saved without flow
configuration history recording a configuration change for comments.

This closes #8275

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-01-24 20:00:00 -06:00
EndzeitBegins
53bb995e4e
NIFI-12613 Renamed asDescribedValue() to asAllowableValue()
This closes #8260

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-01-17 22:16:29 -06:00
Mike Moser
050f81f686
NIFI-12394 Fixed Service references for Migrated Configurations
When syncing to a VersionedFlow, make sure processor references to new controller services are valid after the processor migrates the configuration of its properties

This closes #8184

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-01-17 11:20:34 -06:00
exceptionfactory
42547eb60c
NIFI-11703 Upgraded to Spring Framework 6 and Jetty 12
- Upgraded Spring Framework from 5.3.31 to 6.0.15
- Upgraded Spring Security from 5.8.7 to 6.2.0
- Upgraded Spring Vault from 2.3.4 to 3.1.0
- Upgraded Jetty from 10.0.18 to 12.0.5 with EE 10
- Upgraded Jersey from 2.41 to 3.1.4
- Upgraded JAXB from 2.3.9 to 4.0.4
- Upgraded AspectJ from 1.9.20.1 to 1.9.21
- Upgraded JMS API from 2.0.1 to 3.1.0
- Upgraded ActiveMQ Broker from 5.18.2 to 6.0.1 for JMS 3
- Upgraded JJWT from 0.9.1 to 0.12.3
- Replaced jackson-module-jaxb-annotations with jackson-module-jakarta-xmlbind-annotations
- Replaced maven-jaxb2-plugin with hisrc-higherjaxb40-maven-plugin 2.1.1
- Replaced kongchen swagger-maven-plugin with swagger-codegen-maven-plugin from Swagger 3
- Replaced com.nickwongdev AspectJ Plugin with Codehaus 1.14.0 for newer Java versions
- Removed unused cglib-nodep
- Removed references to javax.validation
- Removed custom Jetty ALPN Processor not required for Java 21
- Removed several tests depending on older Jetty and Jakarta libraries
- Removed unnecessary webdefault.xml configurations
- Replaced unsupported cross-context servlet forwarding with HTTP forwarding
- Replaced javax.servlet references with jakarta.servlet
- Replaced javax.xml.bind references with jakarta.xml.bind
- Replaced javax.ws references with jakarata.ws
- Updated Spring Security CSRF implementation for Spring Security 6
- Updated web.xml versions to 6.0
- Updated REST API templates using new swagger-codegen variables
- Removed VALIDATE_DATA property from ParseCEF based on library compatibility issue with javax.validation
- Added application URL logging to NiFi JettyServer

Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #8197.
2024-01-04 14:01:32 +04:00
krisztina-zsihovszki
1a34208f65
NIFI-12531 Parameter references are removed after property migration
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #8176.
2024-01-02 21:42:56 +04:00
Mark Payne
c41b273e82
NIFI-12528: This closes #8180. Fixed bug that resulted in StackOverflowError when deleting loop containing only funnels
Signed-off-by: Joseph Witt <joewitt@apache.org>
2023-12-21 10:59:30 -07:00
EndzeitBegins
c272574dcc
NIFI-12452 Improved support for DescribedValue in Descriptors
- Removed calls to Builder.defaultValue(null) in several Components

This closes #8102

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-12-13 13:45:45 -06:00
David Handermann
dabdf94bf1
NIFI-12339 Fixed Property Decryption for Migrated Components (#8002)
- Updated StandardVersionedComponentSynchronizer to decrypt properties when creating extension references for subsequent migration
2023-11-10 11:50:03 -05:00
markap14
8b0abd45df
NIFI-12330: When synchronizing flow, pause component scheduling until after property migration has completed (#7994) 2023-11-07 16:46:27 -05:00
Mark Payne
9b33d54f53
NIFI-12301 Corrected hasProperty() check when Migrating Properties
When calling migrateProperties, provide the properties that were configured in the VersionedComponent, rather than creating a new property map based on the component's new properties

This closes #7964

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-11-01 10:41:51 -05:00
exceptionfactory
786784ef62 NIFI-12290 Migrated from Quartz to Spring for Cron Expressions
- Removed support for Year field in Cron Expressions
- Changed numeric Day of Week field from starting with 1 to starting with 0
- Removed Quartz and C3P0 from Notice files

This closes #7951

Signed-off-by: Mike Moser <mosermw@apache.org>
2023-10-30 18:47:02 +00:00
Mark Payne
19993783e1
NIFI-12203: Ensure that when inheriting cluster flow on startup, we remove any Controller Services, Reporting Tasks, Parameter Contexts, etc. that are not in the proposed flow. Also removed overly aggressive timeout from RunOnceIT and performed minor code cleanup
Resolves #7907

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-10-24 10:45:58 -05:00
Mark Payne
a44b633252
NIFI-12220 Added ability to create Controller Services from migrateProperties
- Added ability to get raw property values from PropertyConfiguration instead of just effective values
- Updated TestRunner to allow for testing these migration methods
- Auto-enable newly created controller services if they are valid
- Eliminated Proxy properties in all AWS processors and instead just make use of the Proxy Configuration controller service
- Eliminated authentication properties from AWS processors and migrated all processors to using Controller Service or authentication

This closes #7874

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-10-24 09:14:19 -05:00
Mark Payne
1d5f2f626b NIFI-12245: Removed deprecations around flow registry clients
NIFI-12245: Removed null check that is no  longer necessary

NIFI-12245: Fixed checkstyle violation

Signed-off-by: Bence Simon <bsimon@apache.org>
This closes #7899
2023-10-24 14:08:03 +02:00
Bryan Bende
fd2de5a151
NIFI-12198 Add API and CLI commands to import reporting task snapshots (#7875)
* NIFI-12198 Add API and CLI commands to import reporting task snapshots
2023-10-20 10:45:48 -04:00
exceptionfactory
61c856a54c
NIFI-12122 Corrected test for Parameter Context updating
Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-10-13 22:55:53 -05:00
Zackeus Bengtsson
0a47157640
NIFI-12122 Fixed persistence of Parameter Context descriptions
Fixed bug where parameter context descriptions were not loaded on NiFi startup and overwritten as empty

This closes: #7787

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-10-13 18:30:50 -05:00
Mark Payne
0eabbcdf19
NIFI-12228: This closes #7881. Fixed issue with FlowFile Concucrrency that can occasionally bring in more data than it should.
Code cleanup, fixing logback to avoid INFO-level stack trace from xodus

Signed-off-by: Joseph Witt <joewitt@apache.org>
2023-10-13 13:36:09 -07:00
Bryan Bende
96eb1d825a
NIFI-12222 Protect against missing parameter context when syncing a PG in component synchronizer (#7877) 2023-10-13 13:51:47 -04:00
exceptionfactory
22ad7d542d
NIFI-12206 Refactor Flow History using JetBrains Xodus (#7870)
* NIFI-12206 Refactored Flow History using JetBrains Xodus

- Replaced H2 Database Engine with JetBrains Xodus for persistent storage of FlowConfigurationHistory
- Added EntityStoreAuditService implementation using Xodus PersistentEntityStore
- Removed nifi.h2.url.append from properties
2023-10-12 14:50:25 -04:00
Mark Payne
abfc49e212
NIFI-12139: Implemented migrateProperties, migrateRelationships for processors, as well as migrateProperties for ReportingTasks and Controller Services. Added system tests to verify behavior.
- Ensure that after restoring nars in the lib/ directory we restart NiFi so that they take effect. This is important if this test is not the last one to run

This closes #7837

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-10-12 11:40:18 -05:00
exceptionfactory
a849ca044c
NIFI-12218 Removed SensitiveValueEncoder and SecureHasher
- SensitiveValueEncoder and SecureHasher are no longer required following the removal of support for flow.xml.gz

Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #7873.
2023-10-12 17:39:43 +02:00
Bence Simon
3f13604c36
NIFI-11772 Removed flow.xml.gz support
- Created NIFI-12203 to evaluate issues with flow comparison surfaced in JoinClusterWithDifferentFlow

This closes #7661

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-10-11 13:53:01 -05:00
exceptionfactory
98cebc6687
NIFI-12185 Added nifi-bom Bill of Materials (#7852)
- Imported nifi-bom to nifi-commons and nifi-nar-bundles parent modules
- Removed explicit version and scope properties for dependencies declared in nifi-bom
2023-10-10 13:55:22 -04:00
Bryan Bende
ae61ebb5ed
NIFI-12186 Add ability to export a versioned reporting task snapshot (#7853)
* NIFI-12186 Add ability to export a versioned reporting task snapshot
- Add CLI commands and optional query param to specify specific reporting task
2023-10-09 10:50:36 -04:00
Mark Payne
711f2f1188
NIFI-12137: This closes #7808. Fixed name of Expression Language Scope from LIMITED to ENVIRONMENT, ; fixed issue in which flowfiles routed to failure by FlowFileTransform were also being routed to original; defined 'identifier' and 'logger' as member variables for FlowFileTransform and RecordTransform so that IDEs know about them
Signed-off-by: Joseph Witt <joewitt@apache.org>
2023-10-04 09:16:04 -07:00
Tamas Palfy
9c425d273c
NIFI-12131 Fixed potential NPE related to FlowAnalyzer
Revamped RuleViolationsManager and FlowAnalyzer handling to make sure no issue occurs when these are not set. Fix ResourceNotFoundException: When determining the subject permissions for a rule violation the type of the subject is now known, so we try to lookup all possible types. Non-matching tpyes throw a ResourceNotFoundException exception though. Going to ignore those.

This closes #7809

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-10-02 15:35:05 -05:00
Mark Payne
db727aa419
NIFI-12142: This closes #7806. Deleted many methods, classes, and references that were deprecated.
Signed-off-by: Joseph Witt <joewitt@apache.org>
2023-09-28 14:07:48 -07:00
Pierre Villard
43cc5ad122
NIFI-12079 This closes #7750. Remove Variables / Variable Registry
Signed-off-by: Joseph Witt <joewitt@apache.org>
2023-09-25 09:39:53 -07:00
Peter Turcsanyi
520840d93b
NIFI-12076 Removed ComponentLog methods with Object[] and Throwable
This closes #7759

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-09-19 13:10:19 -05:00
Peter Turcsanyi
ebd0d60e49
NIFI-12075 Deprecated ComponentLog methods with Object[] and Throwable
- Updated component references to remove use of Object[] wrapping for log methods

This closes #7748

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-09-19 08:53:00 -05:00
Mark Payne
f27ace1ccf
NIFI-12016: This closes #7662. Allow use of compatible NAR bundles when loading flow from cluster connection; when determining what bundles are compatible, consider not just any bundle if it's the only one but also any bundle whose version matches the framework version so that when NiFi is upgraded, it is handled more gracefully.
Signed-off-by: Joseph Witt <joewitt@apache.org>
2023-09-14 10:29:23 -07:00
Joseph Witt
4d4c97d091
NIFI-12050 Upgraded Mockito from 4.11.0 to 5.5.0
This closes #7689

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-09-14 09:49:42 -05:00
Timea Barna
c30fd9b66d
NIFI-12006 Removed Templates from Framework and UI
This closes #7658

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-09-11 14:52:41 -05:00
Peter Turcsanyi
6cffc78ad2
NIFI-12025: Fixed duplicated bulletin messages (#7670) 2023-09-08 13:16:44 -04:00
Tamas Palfy
d4147ca442
NIFI-8650 Added Flow Analysis Rules
- Added new extensible Component Type: FlowAnalysisRule
- Added DisallowComponentType Rule implementation
- Flow Analysis Rules can be managed from the UI under Controller Settings -> Flow Analysis Rules
- Flow Analysis Rules can be set up with an enforcement policy of WARN or ENFORCE
- Flow Analysis Rules can evaluate an individual Component or a Process Group

This closes #7191

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-08-29 15:50:22 -05:00
Mark Payne
b3c620411a
NIFI-11556: Added ability to use a Process Group as a Stateless Flow
When shutting down FlowController, wait up to gracefulShutdownSeconds seconds for the components to stop before shutting down thread pools. This allows for asynchronous operations such as disableControllerServicesAsync to complete during shutdown. Updated StandardStatelessFlow so that on shutdown it catches more general Exception to ensure that shutdown succeeds

Ensure that Max Concurrent Tasks cannot be set less than 1 for stateless group; fixed typo in ProcessGroupDTO's docs; on shutdown, we may need to disable controller services asynchronously. At that point, the thread pool used to do so may already be shutdown. If so, catch this and create a new single-thread pool, disable the service, and immediately shutdown the pool. Also, if we fail to disable services on shutdown of a stateless flow, instead of throwing an Exception, just log it and move on - it doesn't make much sense for shutdown() to throw an Exception in that case.

Updated system tests so that when emptying a queue, we check the result and if the queue still has data (because a Processor hasn't acknowledged the data, for example) then continue issuing request until the queue fully becomes empty.

When shutting down input/output ports for stateless group, ensure that we wait for the ports' active threads to complete before returning

When stopping StatelessGroupNode, ensure that all the Processors, Controller Services (even those not executed by the Stateless Engine) are stopped/disabled before considering the Stateless Group to be fully STOPPED.

This closes #7253

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-08-09 12:08:22 -05:00
Pierre Villard
dbb2d6905f
NIFI-11842 - remove getTargetUri() and code cleanup
This closes #7511

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-07-24 13:53:17 -05:00
Pierre Villard
20b19992d2
NIFI-11816 - Removed deprecated Primary Node Scheduling Strategy
This closes #7501

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-07-20 11:49:03 -05:00
Mark Payne
323f148d27 NIFI-11783: Fixed a bug in which a FlowFile split into multiple and then removed did not properly handle retries when one of the outputs was retried.
Signed-off-by: Matt Burgess <mattyb149@apache.org>

This closes #7500
2023-07-19 15:51:21 -04:00
Pierre Villard
150bfbe990
NIFI-11813 Removed Event Driven Scheduling Strategy
This closes #7483

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-07-18 12:22:52 -05:00