- 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>
- Do not reset validation status for a component if it is not in a state where validation will be performed
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Return the remote Response Stream in the Replicated Response for unknown or large content length values
- Buffered smaller responses
- Addressed code warnings in ThreadPoolRequestReplicator
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>
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>
* 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
- 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.
- Added BootstrapProcess main class to nifi-bootstrap
- Added HTTP Management Server to nifi-runtime for status
- Added HTTP client to nifi-bootstrap for status
- Removed TCP socket listeners from nifi-bootstrap and nifi-runtime
- Removed dump and env commands
- Removed java property from bootstrap.conf
- Removed nifi.bootstrap.listen.port from bootstrap.conf
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>
- Removed references to nifi-property-utils under nifi-extension-bundles
This closes#9169
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- 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>
- Moved RequestUriBuilder from web-utils to web-servlet-shared
- Refactored proxy header parsing from WebUtils to StandardRequestUriProvider
- Renamed WebUtils to WebClientUtils
This closes#9123
- Added ProcessingPerformanceStatus to nifi-api
- Added Performance Status to Process Group and Processor Sources for Query NiFi Reporting Task
This closes#9014
Signed-off-by: David Handermann <exceptionfactory@apache.org>
* NIFI-13575 Improved Jetty Server handling of Web App Exceptions
- Enabled throwUnavailableOnStartupException for configured Web Apps
* NIFI-13575 Checked Context Path to determine startup exception handling
- Configured Controller annotation wiring for Resource classes
- Configured Service annotation wiring for Auditor classes
- Configured Repository annotation wiring for DAO classes
- Added ParameterValueMapper for handling serialization of Parameter Values for Flow Configuration
- Added Parameter Group retrieval method for Flow Synchronizer