Commit Graph

52 Commits

Author SHA1 Message Date
Bryan Bende 14614e3de3
NIFI-13942 Improve failure message for uploaded NARs that fail to install (#9463)
Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-10-28 14:58:23 -05:00
Mark Payne 6d6adfeaeb
NIFI-13929 Fixed Provenance Event Handling for Stateless Engine (#9446)
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>
2024-10-26 09:23:50 -05:00
jrsteinebrey 1aabc615ce
NIFI-13755 Improved Controller Service Enabling Process (#9273)
- 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>
2024-10-18 13:05:50 -05:00
exceptionfactory 1b37d78403
NIFI-13874 Refactored KeyStore and SSLContext Creation for Tests
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>
2024-10-16 09:18:59 -07:00
Peter Turcsanyi 4c243bd877
NIFI-13851 Migrated SiteToSiteReportingTask Proxy properties to ProxyConfigurationService (#9359)
- 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>
2024-10-11 16:09:39 -05:00
Bryan Bende d1fbf19ec7
NIFI-13817 Protect against null asset ids when synchronizing parameter context
This closes #9324

Signed-off-by: Joseph Witt <joewitt@apache.org>
2024-09-29 08:01:33 -07:00
Bryan Bende dffa88aaae
NIFI-13803 Improved Clustered Flow Loading and Synchronization Process
- Only synchronize flow with the coordinator after getting cluster response

This closes #9317

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-09-28 22:25:23 -05:00
Matt Gilman fb2a82c035
NIFI-13721: Migrating documentation into the NiFi UI (#9288)
* NIFI-13721: Migrating additional details to markdown.

* NIFI-13721: Rebuilding documentation to generate mark up on the client.

* NIFI-13721: Removing old documentation approach.

* NIFI-13721: Rebase main and final fixing button colors.

* NIFI-13721: Fixing rat issues.

* NIFI-13721: Removing generated comonent documentation.
- Removing links and images from additional details markdown.

* NIFI-13721: Recreating package lock following rebase.

* NIFI-13721: Updating documentation for M3.

* NIFI-13721: Fixing broken test.

* NIFI-13721: Addressing review feedback.

* NIFI-13721: Addressing review feedback.

* NIFI-13721: Ensuring the selected item is visible after routing.

* NIFI-13721: Fixing reportingTaskTypes in finding extensions for a given type.

* NIFI-13721: Updating the see also component to handle when the referenced extension is not installed.

* NIFI-13721: Fixing expansion panel header styles.
2024-09-27 11:11:55 -04:00
Bryan Bende ee29562517
NIFI-13795 Improve NAR Manager handling of dependent NARs (#9310)
- Ensure NARs are loaded in parent-first order during restart
- Allow replacing a NAR when other NARs are dependent on it
- Improvements to catch Throwable in several places to handle NoClassDefFoundError

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-09-26 12:28:17 -05:00
Mark Payne 69b99390e6
NIFI-13800 Fixed Missing Registry Client Handling when Inheriting Cluster Flow (#9309)
When inheriting Registry Clients from a cluster's flow, any missing registry clients are removed at the end instead of the beginning of the synchronization logic. This allows those registry clients to still be referenced while performing synchronization. Also found that if a Processor is missing from cluster's flow but is running in local flow, on startup we get an error indicating that the processor does not belong to the associated process group so fixed that in tandem. Finally, noticed while verifying the fix that we check if the proposed flow is empty with a null check instead of using the isFlowEmpty() method - this could result in inheriting an empty flow from cluster even when a flow is loaded locally.

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-09-24 16:35:49 -05:00
Mark Payne 457d83ef84
NIFI-13796: When writing to a content claim and its size + offset exceeds the max appendable size, do not write to that content claim again
This closes #9306.

Signed-off-by: Joseph Witt <joewitt@apache.org>
2024-09-23 21:06:08 -07:00
Mark Payne e9577ded29
NIFI-13777 Fixed Stateless Group Startup around Controller Services (#9291)
Fixed stateless group startup around Controller Services by changing the startup logic in two ways. First, we enable Controller Services before we create the Stateless Flow. Secondly, we do not bother enabling the ephemeral Controller Services that are created during the Stateless Flow creation/synchronization. This ensures that if Processors make use of a Controller Service during its @OnScheduled method (which is part of the Stateless Flow initialization process) that the Controller Service is Enabled. It also avoids calling @OnEnabled methods of Controller Services that will never actually be used, as Processors make use of the existing Controller Services when running within standard NiFi .

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-09-20 13:47:47 -05:00
David Handermann 563d7ea614
NIFI-13770 Removed Placeholder Prefix from Python Component Types (#9283)
This closes #9283
2024-09-20 11:26:41 -04:00
Bryan Bende 44abe39983
NIFI-13757 Improve handling when a NAR contains an extension that produces an Error (#9274)
Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-09-17 21:41:45 -05:00
David Handermann 6e5a276cb2
NIFI-13718 Switched Request Replication to Web Client Service (#9234)
- Added Request Replication Header enumeration with lowercased header names for HTTP/2
2024-09-12 13:50:03 -04:00
Matt Gilman 39ab3129f0
NIFI-13632: Updating content access. (#9221)
* NIFI-13632: Updating content access.
- Removing existing content viewer application.
- Introduced new front end based content viewer applicaiton.
- Introduced new bundled content viewers for hex and images.
- Deleted previous image content viewer.
- Migrated existing standard content viewer (which handles json, xml, yaml, csv, and text) to utilize new content access interface.
- Moved standard content viewer into its own NAR.
- Moved and renamed custom ui utils and content viewer utils into nifi-common.
- Added mime type to FlowFileSummary response payload to help drive the initially opened content viewer.

* NIFI-13632: Fixing rat issue.

* NIFI-13632: Fixing CI issue.

* NIFI-13632: Removing standard content viewer war from code coverage.

* NIFI-13632: Addressing review feedback.

* NIFI-13632: Fixing import.

* NIFI-13632: Further simplification of content viewer state.

* NIFI-13632: Removing unneeded code.

* NIFI-13632: Adding a min height around codemirror.

* NIFI-13632: Addressing review feedback.
- Rendering mime type in the content viewer.
- Preventing additions to the browser history as the user changes how the content is viewed.
- Appending forward slash to content viewer UIs to prevent unnecessary redirect.
- Removing Standard Content Viewer title based on review feedback.
- Fixing double scroll bar in the Standard Content Viewer on small browser heights.
- Removed unnecessary application.yml.
- Bumping spring boot version.

This closes #9221
2024-09-06 09:12:38 -04:00
David Handermann 0510e716b4
NIFI-13706 Handled Exceptions Fetching Parameters on Startup (#9227) 2024-09-03 16:29:32 -05:00
Bryan Bende 5845d631cf
NIFI-13694 Remove MissingComponentsCheck from VersionFlowSynchronizer (#9217)
Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-08-30 07:59:08 -05:00
exceptionfactory e540f72989
NIFI-13688 Run Validation on Parameter Providers before fetching
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #9220.
2024-08-30 13:42:47 +02:00
exceptionfactory bdaf514018
NIFI-13688 Checked Validation Status before Fetching Parameters
- Added perform validation for Controller-level Services
- Added wait on Parameter Provider validation status to allow for Controller Service enabling

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

This closes #9210.
2024-08-29 15:28:54 +02:00
Mark Payne da9c296820
NIFI-12991 Fixed Recursive Validation of Group Execution Engine (#9186)
Fixed issue in which we recursively validate that we can change Execution Engine of a group, but without changing the top level, inherited groups can't actually be changed; instead, replaced logic to ensure that we can change the top level, that we don't validate the constraint that a STATELESS group cannot have a STATEFUL child, and then validate that all descendant groups can be updated, but without checking the descendants' parent groups.

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-08-20 15:26:44 -05:00
Mark Payne 60e99184f8
NIFI-12898 Added Asset Management REST API and CLI Capabilities
- Added REST resource methods for managing assets associated with Parameter Contexts
- Added CLI commands for managing assets
- Added and updated system test for assets and Parameter Contexts
- Updated flow synchronization to consider referenced asset changes
- Adjusted authorization for cluster nodes to read Parameter Contexts

This closes #9138

Co-authored-by: Bryan Bende <bbende@apache.org>
Co-authored-by: Mark Payne <markap14@hotmail.com>
Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-08-13 11:42:02 -05:00
Matt Gilman 38292762bd
NIFI-13638: Limiting the maximum number of provenance events to return when fetching the latest events. (#9156) 2024-08-06 17:26:34 -04:00
dan-s1 f64e68b23c
NIFI-13625 Removed or Replaced System.out.println in Tests (#9150)
Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-08-05 20:35:40 -05:00
David Handermann b0f419be2c
NIFI-13560 Changed Parameter Provider handling to avoid storing values (#9102)
- Added ParameterValueMapper for handling serialization of Parameter Values for Flow Configuration
- Added Parameter Group retrieval method for Flow Synchronizer
2024-07-23 11:31:16 -04:00
Bryan Bende 79ac0c2d89
NIFI-13570 Use NiFiProperties isHTTPSConfigured to determine if NAR Manager should use https
This closes #9100

Signed-off-by: Joseph Witt <joewitt@apache.org>
2024-07-22 10:58:08 -07:00
Mark Payne 6dd83b7034 NIFI-13563: Updated Provenance Repository so that instead of returning the single latest event for a component, we return the events from the latest invocation / session. Added system tests to verify the behavior. Also, when replaying latest event, attempt all of those events until one succeeds or all fail
Signed-off-by: Matt Burgess <mattyb149@apache.org>

This closes #9095
2024-07-22 12:44:35 -04:00
Ferenc Erdei ee7a905c40
NIFI-13551 Fixed framework SSLContext loading for Headless Server
- Changed conditional from evaluating HTTPS port to evaluating store path and password properties

This closes #9083

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-07-18 12:44:00 -05:00
Bryan Bende 8e5cf99cd7
NIFI-13556 Fixed logic for identifying components from uploaded NAR
- Return copied set of Extensions from ExtensionManager to avoid concurrent modification

This closes #9089

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-07-17 13:51:22 -05:00
Mark Payne 0e7e511aec
NIFI-13546 Fixed Content Repository recovery when archive directories are missing
Ensure on startup that Content Repo archive directories are created, if configured to do so, rather than creating them on demand. If IOException thrown when archiving file, delete it instead. Cleaned up some code duplication between remove(ResourceClaim) and archive(ResourceClaim) methods

This closes #9079

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-07-17 12:39:19 -05:00
Bryan Bende b5b61d960c
NIFI-13344 Implemented backend for uploading and managing custom NARs
- Add NarPersistenceProvider to framework API with standard implementation
- Add NarManager to orchestrate interactions with the persistence provider and framework
- Add REST API for upload, download, list, and delete of custom NARs
- Add CLI commands for call these REST APIs
- Implement an upload request replicator for replicating a file upload across the cluster
- Update ExtensionManager, NarLoader, and JettyServer to support unloading a NAR
- Add ability to replace a NAR in place by unloading components, loading new NAR, and reloading components
- Add system tests for uploading a NAR and verifying other APIs
- Add NAR digest to NarNode and summary DTO, fix bug in digest utils
- Sync NARs from cluster coordinator when joining the cluster

This closes #9017

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-07-12 09:02:25 -05:00
Joseph Witt f92d8f72a8
NIFI-13526 Removed unused variables and localized nifi-socket-utils
- Remove nifi-socket-utils and moved remaining classes to referencing framework components

This closes #9059

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-07-08 13:44:42 -05:00
exceptionfactory 7cb6684801
NIFI-13494 Removed support for Repository Encryption
This closes #9039

Signed-off-by: Joseph Witt <joewitt@apache.org>
2024-07-05 13:48:40 -07:00
David Handermann 3bb79f1ba6
NIFI-13476 Optimized Authorization Checking in Process Group Status (#9021)
- Avoided invoking Authorizer when nested component is not included in Process Group Status based on depth of recursion
2024-07-01 14:58:22 -04:00
dan-s1 b3fac8c80b
NIFI-13403 Removed unnecessary toString in logging statements
This closes #8984

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-06-25 20:13:08 -05:00
Ferenc Kis a5501baa7f
NIFI-13396 Added Python constant Allowable Values to Manifests
This closes #8963

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-06-25 16:49:05 -05:00
David Handermann 42c0aa6aa7
NIFI-12125 Refactored Framework SSLContext Loading (#8967)
- Added Framework SSLContext Provider for centralized loading
- Refactored Spring Framework XML to Java Configuration
- Removed Jetty StoreScanner
2024-06-25 16:08:04 -04:00
dan-s1 957510e65a NIFI-13421 Replaced String.format in logging statements where only formatting strings (%s) with the use of logging parameters ({})
This closes #8994

Signed-off-by: Mike Thomsen <mthomsen@apache.org>
2024-06-23 18:13:39 -04:00
exceptionfactory 49a0401058
NIFI-13414 Removed Property Protection Modules and Encrypt Config
This closes #8978

- Removed nifi-property-protection-api and implementation modules
- Removed nifi-toolkit-encrypt-config and minifi-toolkit-encrypt-config modules
- Removed extra bootstrap.conf configuration files for property protection implementations

Signed-off-by: Joseph Witt <joewitt@apache.org>
2024-06-20 13:04:00 -07:00
dan-s1 7deac6afac
NIFI-13266 Removed String concatenation in logging messages (#8940)
Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-06-11 23:26:58 -04:00
Matt Gilman 5c335cbbec
NIFI-13364 Removed autorefresh and banner UI properties
This closes #8932

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-06-06 08:34:17 -05:00
Ferenc Erdei c12842fc83
NIFI-13309 Lookup compatible bundles even if previous flow was empty
Signed-off-by: Ferenc Kis <briansolo1985@gmail.com>

This closes #8888.
2024-05-31 10:37:05 +02:00
dan-s1 86d36d2327
NIFI-13265 Removed instantiation of Object arrays for log arguments
This closes #8896

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-05-30 17:17:33 -05:00
Pierre Villard ee179f4acf
NIFI-13238 Added Checkstyle rules for whitespace
This closes #8832

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-05-15 06:41:19 -05:00
Joseph Witt 03005aa132
NIFI-13185 Removed manual and non-working Integration Tests
Removed the entire integration-tests-ci profile and reference in GitHub workflow.

Removed all tests which require specific local env configs/cloud credentials/ or simply do not work and thus have been blocked from the build for a long time.

Set Disabled annotation on a couple key tests which are by design manual and must be retained.

The move to testcontainers has been a dramatic improvement in test reliability/behaviors and should be a model for all such tests going forward.

This closes #8818

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-05-11 20:51:41 -05:00
exceptionfactory 1c2469bf33
NIFI-13213 Added Validation for Swap File Names
This closes 8812

Signed-off-by: Joseph Witt <joewitt@apache.org>
2024-05-10 12:31:15 -07:00
EndzeitBegins 53207a20a0
NIFI-12857 Simplified implementation of QueuePrioritizer and added tests
This closes #8466

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-05-09 15:08:49 -05:00
Bryan Bende e7567b04e2
NIFI-13120 Introduce branch as a concept in Registry Client and VCI
- Methods for getBranches, getDefaultBranch, and createBranch in flow registry client
- Add branch as a field to all relevant objects
- Add optional branch argument to REST API for retrieving buckets
- Add new REST API for retrieving branches for a given registry client
- Enforce NiFi Registry can only receive default branch

This closes #8726

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-05-07 08:44:33 -05:00
Joseph Witt 7540991a59
Revert "NIFI-12973 Add Process Group scope to Flow Analysis rules"
After commentary in the JIRA regarding UX and nifi-api considerations needing further discussion and resolution.

This reverts commit bc75ef108c.
2024-05-06 12:39:27 -07:00
tpalfy bc75ef108c
NIFI-12973 Add Process Group scope to Flow Analysis rules
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #8682.
2024-05-06 20:26:34 +03:00