Commit Graph

162 Commits

Author SHA1 Message Date
exceptionfactory 2f91793272
NIFI-14097 Updated version to 2.1.0 2024-12-19 12:29:52 -06:00
Matt Gilman 794db3e1d1
NIFI-13710: Rebuilding Update Attribute Custom UI. (#9561)
* NIFI-13710: Rebuilding Update Attribute Custom UI.

* NIFI-13710: Removing unnecessary codemirror import.

* NIFI-13710: Addressing review feedback.
- Adding editor hint so users know how to use EL.
- Fixing issue with rule payload when managing conditions and actions.
- Accounting for user permissions when setting the editable flag.
- Preventing editors from displaying offscreen.
- Showing snackbars following successfully saving.
- Adding validators to the condition and actions table.

* NIFI-13710: Addressing review feedback.
- Ensuring that the revision is saved after all actions.
- Ensuring that the evaluation criteria is reloaded when rules are added/removed.
- Updating additional details to reflect the new UI.

* NIFI-13710: Fixing text overflow issues.

* NIFI-13710: Applying text-base to the body.

* NIFI-13710: Addressing review feeback.
- Fixing imports.
- Disabling menu in tables when not editable.
- Fixing background color in dark mode.

* NIFI-13710: Requiring rules to be saved or discard once edited.

* NIFI-13710: Fixing import style which could result in circular imports.
- Fixing bug when evaluating open/closed rule when deciding if reordering should be allowed.

* NIFI-13710: Unpacking UI in prepare-package phase.
2024-12-16 17:53:44 -05:00
exceptionfactory 43faa73b4e
NIFI-14073 Added PMD Plugin to contrib-check Profile
- Added standard PMD rules scoped to current project conventions
- Updated multiple classes to meet UseDiamondOperator rule requirements
- Applied selected SuppressWarnings to selected classes
- Streamlined ci-workflow build to avoid unnecessary exclusions
- Refactored assembly module phases to align with standard lifecycle behavior

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

This closes #9581.
2024-12-15 15:02:24 +01:00
dan-s1 a5086a9eb2
NIFI-14067 Replaced anonymous classes with lambdas (#9571)
Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-12-09 20:59:52 -06:00
dan-s1 ba9273f8fa
NIFI-14051 Removed unnecessary generic type declarations (#9562)
Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-12-06 16:56:02 -06:00
Matt Gilman f744deebf9
NIFI-13976 Added REST Endpoints for Copying and Pasting Flows (#9535)
- 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>
2024-11-22 15:11:29 -06:00
exceptionfactory 4adc2be12b
NIFI-13915 Updated version to 2.1.0-SNAPSHOT 2024-11-01 22:56:08 -05:00
exceptionfactory 2f13b609bd
NIFI-13915 Updated version to 2.0.0 2024-10-29 20:25:32 -05: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
exceptionfactory 1548a21219
NIFI-13804 Migrated to NiFi API 2.0.0
This closes #9314.

- Upgraded NAR Maven Plugin from 2.0.0 to 2.1.0
- Removed nifi-api module in favor of released version

Signed-off-by: Joseph Witt <joewitt@apache.org>
2024-09-26 04:54:24 -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
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
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
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
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
Ferenc Kis 52e257e16c
NIFI-13123 MiNiFi async C2 operation processing
Signed-off-by: Csaba Bejan <bejan.csaba@gmail.com>

This closes #8738.
2024-05-06 18:14:59 -04:00
Joseph Witt 42a4385c82
NIFI-12998 Restructured framework and extension modules
Simplified dependency management into Bill of Material dependencies as parents that align to classloader structures.

- Moved nifi-framework-bundle to root level
- Moved nifi-nar-bundle modules to root nifi-extension-bundles
- Added nifi-extension-bom for internal and external extensions
- Added nifi-framework-nar-bom and nifi-server-nar-bom for managing framework dependencies
- Renamed nifi-jetty-bundle to nifi-jetty-nar

This closes #8677

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-04-26 12:12:48 -05:00
EndzeitBegins 63fa036818 NIFI-12853 Refactor FlowFilePrioritizer using updated Java APIs
Signed-off-by: Mike Moser <mosermw@apache.org>

This closes #8461
2024-04-15 19:49:13 +00:00
David Handermann 250fe90b34
NIFI-9458 Replaced SimpleDateFormat with DateTimeFormatter (#8248)
- Added FieldConverterRegistry and Standard implementation
- Moved DateTypeUtils methods to FieldConverter implementations
2024-01-16 16:39:40 -05:00
Mark Payne 1d06185f13
NIFI-12453 Added cluster-status command to nifi.sh
NIFI-12454 Allow decommissioning cluster node without shutdown

This closes #8100

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-12-05 22:12:55 -06:00
Mark Payne b5c3e6f9aa
NIFI-12358 Fixed NPE in HostHeaderHandler
Fixed NPE in ThreadDumpTask and TrackedLeaderElectionManager

This closes #8032

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-11-15 16:57:18 -06:00
Mark Payne 754baf0a37
NIFI-12308: Create Python Environment in background thread instead of during Processor creation
This closes #7971

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-11-02 15:45:43 -05:00
Mark Payne cbdf32ab79
NIFI-12205: Moved loading of Python dependencies into background thread when processor created instead of during startup. Some code cleanup.
This closes #7863

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-10-14 15:05:17 -05:00
timeabarna d2aec89738
NIFI-12166 Add repo usage to the monitoring endpoint (#7836)
* NIFI-12166 Add repo usage to the monitoring endpoint
2023-10-10 14:55:33 -04: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
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
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
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
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
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 Witt 43eab4c81d
NIFI-11103 prepping for 2.0.0 line 2023-02-09 15:32:53 -07:00
Joe Witt 75e7c9e47c
NIFI-10854-RC1 prepare for next development iteration 2022-11-22 19:22:47 -07:00
Joe Witt ec87bf93ad
NIFI-10854-RC1 prepare release nifi-1.19.0-RC1 2022-11-22 19:22:45 -07:00
Ferenc Erdei 86acde2fe2
NIFI-10750 Move C2NiFiClientService to minifi-framework
Signed-off-by: Csaba Bejan <bejan.csaba@gmail.com>

This closes #6612.
2022-11-04 08:53:53 +01:00
Timea Barna 7c33516aee NIFI-9437 Flowfile Expiration cannot exceed 24 days
NIFI-9437 Addressing review comments, correcting setter in StatelessFlowQueue class

Signed-off-by: Nathan Gough <thenatog@gmail.com>

This closes #6558.
2022-10-24 14:46:56 -04:00
Joe Witt c9ebdd2025
NIFI-10521-RC4 prepare for next development iteration 2022-10-03 10:59:36 -07:00
Joe Witt 109e54cd58
NIFI-10521-RC4 prepare release nifi-1.18.0-RC4 2022-10-03 10:59:34 -07:00
simonbence 94fdc794b0
NIFI-10497 Making RegistryClient an extension point (#6433)
- NIFI-10497 Mae FlowRegistryClient an extension point
2022-09-26 12:16:21 -04:00
Joe Gresock de7793e69b
NIFI-9003 Added framework support for Parameter Providers
- Added Environment Variable and File Parameter Provider implementations
- Added Parameter Provider commands to CLI
- Added component search handling for Parameter Providers
- Added documentation for integrating Parameter Providers

This closes #5369

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2022-09-09 13:04:56 -05:00
Mark Payne a0c705715b
NIFI-10429: Added the ability to Replay latest provenance event for a given Processor.
This closes #6359

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2022-09-08 15:55:26 -05:00
Joe Witt 8c66bf948c
NIFI-10272-RC2 prepare for next development iteration 2022-07-27 13:24:09 -07:00
Joe Witt 8d256784d8
NIFI-10272-RC2 prepare release nifi-1.17.0-RC2 2022-07-27 13:24:06 -07:00
timeabarna d5b626f0e4
NIFI-10108 Processor scheduling via parameter (#6115)
- NIFI-10108 Processor scheduling via parameter
- Refactoring component referencing check in AbstractComponentNode and StandardParameterReferenceManager classes.
2022-06-30 10:11:13 -04:00
Matthew Burgess d89f98f5b4
NIFI-9666 Implemented MiNiFi C2 client and refactored bootstrap
- Implemented MiNiFi C2 client using OkHttp
- Refactored MiNiFi bootstrap command handling and socket communication
- Added C2 Client Service to nifi-framework-core

This closes #6075

Co-authored-by: Matthew Burgess <mattyb149@apache.org>
Co-authored-by: Csaba Bejan <bejan.csaba@gmail.com>
Co-authored-by: Ferenc Erdei <ferdei@cloudera.com>

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2022-06-17 09:23:52 -05:00
exceptionfactory 15f7590f7a
NIFI-9901 Added nifi-xml-processing to nifi-commons
- Refactored XML parsing to use providers from nifi-xml-processing
- Configured spotbugs-maven-plugin with findsecbugs-plugin in nifi-xml-processing
- Disabled Validate DTD in default configuration for EvaluateXPath and EvaluateXQuery
- Replaced configuration of DocumentBuilder and streaming XML Readers with shared components
- Removed XML utilities from nifi-security-utils
- Moved Commons Configuration classes to nifi-lookup-services

This closes #5962
Signed-off-by: Paul Grey <greyp@apache.org>
2022-04-13 19:56:57 -04:00
Joe Witt 0419dc2939
NIFI-9780-RC3 prepare for next development iteration 2022-03-21 11:58:27 -07:00
Joe Witt b019a9191f
NIFI-9780-RC3 prepare release nifi-1.16.0-RC3 2022-03-21 11:58:09 -07:00
Mark Payne d0a23bc26b
NIFI-9704: Updated the ContentRepositoryScanTask to show details of how much content in the content repo is retained by each queue in the dataflow. Changed default for nifi.content.claim.max.appendable.size property from 1 MB to 50 KB. Updated docs to reflect the new default value and explain what the property does and how it's used.
Signed-off-by: Joe Gresock <jgresock@gmail.com>

This closes #5780.
2022-02-22 12:06:54 -05:00