Commit Graph

204 Commits

Author SHA1 Message Date
exceptionfactory ca6c7f7041 NIFI-11532 Removed JUnit 4 and Groovy Test from default dependencies
- Removed hamcrest-all from default dependencies
- Added groovy-test to selected modules with Groovy test classes
- Added junit-vintage-engine to selected modules with JUnit 4 test classes
- Corrected references to JUnit 4 assertions in JUnit 5 test classes
- Removed several unnecessary test classes from nifi-socket-utils
- Removed duplicative Registry toolkit test classes
- Removed Kudu integration tests

NIFI-11532 Corrected scope for junit-vintage-engine for Elasticsearch

Signed-off-by: Matt Burgess <mattyb149@apache.org>

This closes #7233
2023-06-13 15:36:23 -04:00
Mark Payne 702c635034
NIFI-11670 Refactored Content Repo OutputStream to create new Claim per FlowFile
Rather than creating many FlowFiles with the same Content Claim, refactored content repos' OutputStreams and ClaimWriteCache so that a new ContentClaim is created for each FlowFile. This ensures that we have a content claim offset of 0. The poor performance was due to having to use StreamUtils.skip() in conjunction with the CipherInputStream, which would only skip a max of 511 bytes at a time. By using a separate Content Claim per FlowFile, we no longer need to seek after creating the CipherInputStream

This closes #7363

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-06-12 09:47:44 -05:00
Bryan Bende ce50ffbe0e
NIFI-11464 Improvements for importing nested versioned flows (#7218)
* NIFI-11464 Improvements for importing nested versioned flows
- Introduce FlowSnapshotContainer to return root snapshot + children
- Introduce ControllerServiceResolver to extract logic from service facade
- Update resolution logic to correctly consider all services in the hierarchy
- Merge additional parameter contexts and parameter providers from child to parent
- Add unit test for controller service resolver
- Replace use of emptSet/emptyMap with new set/map instance
2023-06-05 10:11:33 -04:00
Peter Turcsanyi 803868935a
NIFI-11628 Fixed Object[] and Throwable argument substitution in SimpleProcessLogger
This closes #7362

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-06-02 14:59:07 -05:00
Joe Gresock 28f003d886
NIFI-11563: Allowing source connectables to be restarted on new connections in the StandardVersionedComponentSynchronizer (#7261) 2023-05-19 08:24:13 -04:00
exceptionfactory bfe4110b56
NIFI-11513 Remove deprecated NarProvider and implementations (#7222)
* NIFI-11513 Removed deprecated NarProvider and implementations

- Removed HDFSNarProvider
- Removed NiFiRegistryNarProvider
- Removed nifi-external-resource-utils module from nifi-commons
- Removed unnecessary deprecated annotations from EncryptedSchemaRepositoryRecordSerde
- Removed deprecated method from ContentRequestContext interface
- Restored NiFi Registry Provider example properties
2023-05-16 16:10:25 -04:00
Nissim Shiman fd2138b8cf NIFI-10756 Generate error message when processor and/or controller
service is unable to transition to start and/or enabled state

Signed-off-by: Mike Moser <mosermw@apache.org>
2023-05-12 14:40:47 +00:00
exceptionfactory e302f2aff7
NIFI-10976 Added Previous Cluster State Provider configuration (#7235)
- Added methods to enumerate Stored Component Identifiers on State Provider interface and implementations
- Added nifi.state.management.provider.cluster.previous to nifi.properties
- Updated State Manager Provider to restore Cluster State from Previous Cluster Provider
- Updated Configuring State Providers documentation for new property
2023-05-10 16:22:05 -04:00
exceptionfactory ee03db0e8f
NIFI-11488 Removed Deprecated Sensitive Properties Algorithms
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #7198.
2023-04-27 20:16:26 +03:00
Timea Barna d54940c397
NIFI-11473 Flow version change in NiFi should not stop a component when only position is changed
Signed-off-by: Matthew Burgess <mattyb149@apache.org>

This closes #7185
2023-04-27 12:59:24 -04:00
Mark Payne 7f7cccfdc2
NIFI-11241 Initial implementation of Python-based Processor API with Py4J
- Updated GitHub workflow so that system tests include Python 3.9
- Updated GitHub actions to build necessary modules for system tests

This closes #7003

Co-authored-by: David Handermann <exceptionfactory@apache.org>
Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-04-14 15:03:34 -05:00
Matthew Burgess 59eebb9906
NIFI-8710: Pass details instead of source ID for Provenance per the interface doc
This closes #5224

Signed-off-by: Nandor Soma Abonyi <nsabonyi@apache.org>
2023-03-31 18:43:22 +02:00
Mark Payne 23d6d6ede4
NIFI-11251: Fixed case in which changing Flow Version was improperly attempting to use a Temporary Funnel destination for a connection due to differences in Group ID by instead checking if the destination is reachable; fixed issue in which processors in an inner versioned group were not stopped even though they changed, when a higher-level parent (that was itself under version control) had its version changed. Wrote system tests to verify
- Fixed system tests so that they work properly in Clustered version of RegistryClientIT
- Fixed system test - ensure that we wait for processors to become valid before attempting to start them; also added an additional system test around Controller Services in versioned flows

This closes #7095

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-03-29 08:30:18 -05:00
Mark Payne 969fc50778
NIFI-11341 Fixed OutputStream.close() handling for Content Claims
Fixed issue in StandardContentClaimWriteCache in which inner OutputStream class did not have an idempotent close() method; as a result, the stream could be written to while already in use for another active FlowFile; fixed bug in ContentClaimInputStream in which skip() method ignored its own BufferedInputStream - this was discovered because it was causing failures in StandardProcessSessionIT; fixed bug in StandardProcessSessionIT in which the length of StandardContentClaim was being doubled because the OutputStream was setting the claim length but that is already handled at a lower level.

This closes #7087

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-03-27 16:05:50 -05:00
Christian Wahl 6bd893da16
NIFI-11232 Fixed buffer handling in ContentClaimInputStream
This closes #6996

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-03-27 16:02:27 -05:00
Mark Payne 016d58612c
NIFI-11290 Run Component Primary Node State changes in background thread
- Ensure that components are notified that primary node has changed in a background thread instead of the Leader Election thread and activate/deactivate the thread in the case of Processors so that they can be viewed in the UI and terminated

- Fixed system tests that would fail intermittently because they did not wait for node disconnection to complete and did not properly switch the client to look at the connected node before checking cluster status

This closes #7052

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-03-23 12:20:37 -05:00
Joe Gresock 9de93f19a4
NIFI-11330: Restarting service referenced by parameter only when service is active (#7078) 2023-03-23 13:13:22 -04:00
simonbence 7954ff355c
NIFI-11213 Showing version change in older (pre 1.18.0) contained version flows properly (#7017) 2023-03-20 11:52:07 -04:00
Mark Payne 450a46bc58
NIFI-11289: Avoid obtaining read locks on queues when fetching Group Status, except in those few specific situations where it's needed.
This closes #7046

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-03-15 14:18:22 -05:00
Matt Burgess 668d309c7e
NIFI-11279: Allow event stream processing to continue in CaptureChangeMySQL after sync issue (#7039) 2023-03-14 16:23:43 -04:00
exceptionfactory 512155ba2f
NIFI-10975 Add Kubernetes Leader Election and State Provider (#6779)
* NIFI-10975 Added Kubernetes Leader Election and State Provider
- Added Kubernetes Leader Election Manager based on Kubernetes Leases
- Added Kubernetes State Provider based on Kubernetes ConfigMaps
- Added nifi-kubernetes-client for generalized access to Fabric8 Kubernetes Client
- Added nifi.cluster.leader.election.implementation Property defaulting to CuratorLeaderElectionManager
- Refactored LeaderElectionManager to nifi-framework-api for Extension Discovering Manager
- Refactored shared ZooKeeper configuration to nifi-framework-cluster-zookeeper

* NIFI-10975 Updated Kubernetes Client and StateMap
- Upgraded Kubernetes Client from 6.2.0 to 6.3.0
- Added getStateVersion to StateMap and deprecated getVersion
- Updated Docker start.sh with additional properties

* NIFI-10975 Corrected MockStateManager.assertStateSet()
* NIFI-10975 Upgraded Kubernetes Client from 6.3.0 to 6.3.1
* NIFI-10975 Corrected unregister leader and disabled release on cancel

* NIFI-10975 Corrected findLeader handling of Lease expiration
- Changed LeaderElectionManager.getLeader() return to Optional String

* NIFI-10975 Corrected StandardNiFiServiceFacade handling of Optional Leader
* NIFI-10975 Changed getLeader() to call findLeader() to avoid stale cached values
* NIFI-10975 Updated LeaderElectionCommand to run LeaderElector in loop
* NIFI-10975 Rebased on project version 2.0.0-SNAPSHOT

* NIFI-10975 Corrected Gson and AspectJ versions
- Updated versions to match current main branch and avoid reverting
2023-03-07 14:14:24 -05:00
Joe Gresock 5e3b93b2d6
NIFI-11238: Creating missing parameter providers when importing inherited provided contexts
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #7002.
2023-03-03 22:11:45 +01:00
Mark Payne 87e61c50ee
NIFI-11192: Ensure that if ports moved between parent/child group in between flow versions that we can properly handle that. Added system tests to verify.
NIFI-11192: If a failure is encountered when changing the version of a flow from 1 version to another, attempt to rollback the changes instead of just failing with the flow in a bad state
Signed-off-by: Matthew Burgess <mattyb149@apache.org>

This closes #6981
2023-02-22 15:38:00 -05:00
exceptionfactory 284804ac42
NIFI-11188 Removed ProcessContext encrypt and decrypt methods
- Removed unnecessary references to PropertyEncryptor from multiple framework components

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

This closes #6962.
2023-02-16 12:16:15 -05:00
Mark Payne fed175d46f NIFI-11189: When synchronizing a ProcessGroup to match a VersionedProcessGroup, do not remove the temporary funnel until the very end. This is important if the temporary funnel already exists in the flow on startup
Signed-off-by: Bence Simon <bsimon@apache.org>
This closes #6963
2023-02-16 14:18:50 +01:00
Mark Payne 471cccbbda
NIFI-11176: This closes #6948. When comparing a VersionedConnection with an existing connection, we examined the source component's VersionedComponentId. But the existing component may not have a VersionedComponentId. We should only be comparing these if they are populated
Signed-off-by: Joe Witt <joewitt@apache.org>
2023-02-13 18:52:15 -05:00
Bence Simon b0ec28a452 NIFI-11159 Fixing connections with source having reassigned id 2023-02-10 11:12:51 -05:00
Joe Witt 43eab4c81d
NIFI-11103 prepping for 2.0.0 line 2023-02-09 15:32:53 -07:00
Mark Payne 28b9f6fc02
NIFI-11118: This closes #6909. When changing version of a versioned flow, ensure that we properly set the Version Control Information's StorageLocation for the NiFi Registry client in order to maintain backward compatibility
Signed-off-by: Joe Witt <joewitt@apache.org>
2023-02-03 14:02:38 -07:00
Joe Gresock 2609fd5f55
NIFI-11122 Corrected provided parameter context inheritance after creation
This closes #6913

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-02-02 13:20:35 -06:00
Joe Gresock afdf49b3cd
NIFI-11100: Limiting scope of external controller services during version sync to services outside the versioning context (#6898) 2023-02-01 12:14:38 -05:00
simonbence ae66ebdc22
NIFI-10973 Introduce differention of comparing embedded versioned flows for UI and synchronisation purposes (#6870)
* NIFI-10973 Introduce differention of comparing embedded versioned flows for UI and synchronisation purposes
2023-01-31 10:58:42 -05:00
Mark Payne d9f35b8974
NIFI-11105: This closes #6895. When mapping Parameter Context to VersionedParameterContext, don't bother mapping those that have already been mapped, as it is redundant
Signed-off-by: Joe Witt <joewitt@apache.org>
2023-01-26 15:35:18 -07:00
exceptionfactory d60f541d7e
NIFI-11098 Deprecated ProcessContext encrypt and decrypt methods
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #6891.
2023-01-26 18:18:09 +01:00
Joe Gresock 7d99521d4c
NIFI-11089: Resolving previously resolved parameter providers when possible on version sync (#6886) 2023-01-25 13:42:52 -05:00
Paul Grey 567e95aa28
NIFI-11047 - Issue when upgrading version of dataflow with external service
Signed-off-by: Matthew Burgess <mattyb149@apache.org>

This closes #6849
2023-01-25 12:52:52 -05:00
Mark Payne 228a3441b5
NIFI-11001: This closes #6836. When new components are added, track a mapping of its Versioned Compoenent ID to the component itself. Then, use this when creating connections. This is important because if a Process Group has multiple components with the same Versioned Component ID across multiple child groups, the Versioned Component ID may be changed upon adding the component. Maintaining this mapping allows us to still create the connection correctly.
Signed-off-by: Joe Witt <joewitt@apache.org>
2023-01-25 09:55:16 -07:00
exceptionfactory 84f48b5e8c
NIFI-11090 This closes #6883. Removed unused Jasypt test dependency
Signed-off-by: Joe Witt <joewitt@apache.org>
2023-01-24 08:42:33 -07:00
Joe Gresock 8640989ad7
NIFI-11039: Fixing bug when importing parameter providers from nifi-registry (#6868)
* NIFI-11039: Fixing NPE in registry retrieval
* NIFI-11039: Fixing bug when importing parameter providers from nifi registry
2023-01-23 11:59:34 -05:00
Joe Gresock 29618ae5c6
NIFI-11076: Resolving deadlock issue in StandardParameterContext (#6865)
* NIFI-11076: Resolving deadlock issue in StandardParameterContext

* NIFI-11076: Resolving deadlock issue in StandardParameterContext
2023-01-23 10:54:38 -05:00
Timea Barna a9274c12c5
NIFI-11079 Extend QueryNifiReportingTask and ProcessGroup Summary Table
Correcting EmbeddedQuestDbStatusHistoryRepositoryForComponentsTest

Correcting TestQueryNiFiReportingTask

Signed-off-by: Matthew Burgess <mattyb149@apache.org>

This closes #6869
2023-01-20 15:22:20 -05:00
krisztina-zsihovszki 9ad1d8a7ae
NIFI-11028 Handle controller service 'Scheduled State' change (#6831) 2023-01-17 18:40:47 -05:00
Mark Payne d5c79fdcd1
NIFI-10887: Addressed performance concerned. Use String.indexOf() instead of Pattern.matcher() when using Literal Replace. Use a NonFlushableOutputStream when ProcessSession.write() is called. Implemented hashCode() on AbstractConnection. Updated default Run Schedule on ReplaceText from 0 ms to 25 ms. Added a Surround Replacement strategy that allows both prepending and appending text. Updated unit tests to account for this.
Signed-off-by: Matthew Burgess <mattyb149@apache.org>

This closes #6724
2023-01-11 12:28:59 -05:00
Nissim Shiman fe25424233
NIFI-10772 Clarify logs on shutdown where controller service and/or
processor were unable to properly start

Signed-off-by: Matthew Burgess <mattyb149@apache.org>

This closes #6829
2023-01-10 13:56:00 -05:00
exceptionfactory 0d9dc6c540
NIFI-9167 Converted remaining nifi-framework tests to JUnit 5
NIFI-9167 Addressed feedback and improved tests using TempDir

Signed-off-by: Matthew Burgess <mattyb149@apache.org>

This closes #6823
2023-01-10 13:53:51 -05:00
dan-s1 b74c5b423f
NIFI-10979 Additional nifi-framework upgrades from JUnit 4 to 5
This closes #6806

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2022-12-30 15:18:38 -06:00
Mark Payne 78be613a0f
NIFI-10888: When inferring a schema using a Record Reader, buffer up to 1 MB of FlowFile content for the schema inference so that when we read the contents to obtain records we can use the buffered data. This helps in cases of small FlowFiles by not having to seek back to the beginning of the FlowFile every time.
Signed-off-by: Matthew Burgess <mattyb149@apache.org>

This closes #6725
2022-12-14 12:09:32 -05:00
Mark Payne 2473683ce5 NIFI-10918: When fetching a flow from a Flow Registry, if it references any 'internal versioned flows' instead of requiring that we have a client configured for the appropriate URL, attempt to fetch the flow from each client. We will start with the clients that do report that they can handle the URL but will try others as well. As soon as we successfully fetch the flow, we stop.
NIFI-10918: Fixed checkstyle violations

This closes #6736
Signed-off-by: Bence Simon <bsimon@apache.org>
2022-12-02 14:24:40 +01:00
dan-s1 e8d554d9b4
NIFI-10876 Converted some nifi-framework tests from JUnit 4 to JUnit 5
This closes #6720

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2022-11-28 14:47:17 -06:00
Joe Witt 75e7c9e47c
NIFI-10854-RC1 prepare for next development iteration 2022-11-22 19:22:47 -07:00