Commit Graph

84 Commits

Author SHA1 Message Date
Mark Payne 2acc1038c9
NIFI-12616 Added Processor Documentation Support for Python
- Added some Use Case docs for Python processors and updated Runtime Manifests to include Python based processors as well as Use Case/MultiProcessorUseCase documentation elements. Refactored/cleaned up some of the Python code and added unit tests.

- Added python-unit-tests profile and enabled on Ubuntu and macOS GitHub workflows

This closes #8253

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-01-18 19:12:05 -06:00
Rob Fellows 4bba7e6188
[NIFI-12419] - Only include the new UI module when building if the 'include-new-ui' profile is active. (#8069)
* [NIFI-12419] - Only include the new UI module when building if the 'include-new-ui' profile is active. Also update the ci-workflow.yaml to activate that profile.

* add the profile activation to the Maven Build command

This closes #8069
2023-11-27 20:18:31 -05:00
exceptionfactory 5554bab516
NIFI-12192 Added Codecov Reporting with JaCoCo
- Added report-code-coverage profile to nifi-assembly for aggregation
- Added Codecov reporting to Ubuntu Linux Job in ci-workflow
- Added Codecov badge to README.md

This closes #7995

Signed-off-by: Chris Sampson <chris.sampson82@gmail.com>
2023-11-08 19:49:51 +00:00
exceptionfactory b50557b854
NIFI-12321 Avoid Exceptions when removing Python Processors (#7984)
- Updated StandardPythonBridge.onProcessorRemoved to avoid throwing exceptions when called with a Processor Type and Version that is not registered
- Updated system-tests workflow to run on changes in the nifi-py4j-bundle
2023-11-06 16:17:41 -05:00
Mark Payne 5bcad9eef3
NIFI-12240 Added Python Processors for Docs, ChatGPT, Chroma, and Pinecone
Created new python processors for text embeddings, inserting into Chroma, querying Chroma, querying ChatGPT, inserting into and querying Pinecone. Fixed some bugs in the Python framework. Added Python extensions to assembly. Also added ability to load dependencies from a requirements.txt as that was important for making the different vectorstore implementations play more nicely together.

Excluded nifi-python-extensions-bundle from GitHub build because it requires Maven to use unpack-resources goal, which will not work in GitHub because it uses mvn compile instead of mvn install

- ParseDocument
- ChunkDocument
- PromptChatGPT
- PutChroma
- PutPinecone
- QueryChroma
- QueryPinecone

NIFI-12195 Added support for requirements.txt to define Python dependencies

This closes #7894

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-11-01 16:17:36 -05:00
Chris Sampson df3f5b4638
NIFI-12299 Run integration-tests when assemblies are updated
This closes #7962

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-11-01 11:24:46 -05:00
exceptionfactory 0e1ae2bd6f
NIFI-12276 Addressed Dependency Check Findings
- Added dependency-check GitHub workflow
- Upgraded Janino Commons Compiler from 3.1.9 to 3.1.10
- Upgraded Azure SDK BOM from 1.2.16 to 1.2.17
- Upgraded GCP SDK BOM from 26.17.0 to 26.25.0
- Upgraded AWS SDK from 1.12.550 to 1.12.573
- Upgraded Hazelcast from 5.3.2 to 5.3.5
- Upgraded Jersey from 2.40 to 2.41
- Upgraded Camel Salesforce from 3.14.5 to 3.14.9
- Unified ZooKeeper versioning on 3.9.1
- Applied Groovy 2.4.21 to Hive 3 and Iceberg components
- Applied gRPC version 1.59.0 to Asana components
- Applied Jettison 1.5.4 to Atlas and Hive 3 components
- Managed JUnit 4 version to 4.13.2 for MockWebServer
- Excluded HBase libraries from Hive 3 following Iceberg approach
- Excluded Htrace from HBase components
- Upgraded OWASP Dependency Check from 8.4.0 to 8.4.2
- Removed non-applicable dependency check suppressions
- Added dependency check suppressions for non-applicable findings

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

This closes #7948.
2023-10-27 16:21:38 -07:00
exceptionfactory 39898d1ee2
NIFI-12278 Added CodeQL to Static Analysis Job
This closes #7934

Signed-off-by: Chris Sampson <chris.sampson82@gmail.com>
2023-10-26 19:30:04 +01:00
Chris Sampson 4ff4f77dd8
NIFI-12191 Simplified integration-tests and docker-tests Workflows
This closes #7920

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-10-24 09:19:38 -05:00
Chris Sampson ed3a70c985
NIFI-12178 Add integration-tests and docker-tests GitHub Workflows
Use Java Zulu distribution for all docker-tests and integration-tests Github Workflows

This closes #7858

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-10-21 17:10:28 -05:00
Paul Grey 88bdeee219
NIFI-12200 Removed module nifi-toolkit-tls
This closes #7879

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-10-19 00:01:22 -05:00
Mark Payne 3ae0eedee6
NIFI-12124: This closes #7791. Added a new RenameRecordField processor. In testing, also noticed that the Descendant Wildcard operator (//*) and Descendant Field Path Operator (//name, for instance) did not properly account for array of records or map elements, so addressed those concerns.
Signed-off-by: Joseph Witt <joewitt@apache.org>
2023-10-13 14:02:55 -07:00
Nandor Soma Abonyi 4b0c8bf6af
NIFI-12114 Create separate test instance for python extensions
Signed-off-by: Arpad Boda <aboda@apache.org>

This closes #7780
2023-09-27 11:40:13 +02:00
Joseph Witt e5894cf943
NIFI-12053 Updated Minimum Build Version to Java 21
- Configured GitHub Workflows with Azul Zulu and Amazon Corretto
- Added bootstrap.conf option for reflective access supporting Hive 3

This closes #7744

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-09-19 22:59:59 -05:00
exceptionfactory 3a6f86f599 NIFI-11908 Updated GitHub Build HTTP Settings
- Replaced Maven Wagon properties to Maven Native HTTP properties as required for Maven 3.9
- Removed the deprecated disableXmlReport argument

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

This closes #7573
2023-08-03 15:53:16 -04:00
exceptionfactory b6b621bf9e
NIFI-11717 Updated Required Java Version to 17.0.6
- Added Groovy Plugin Repository for groovy-eclipse-compiler

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

This closes #7397.
2023-06-19 10:19:55 +02:00
Paul Grey 7ba33a742c
NIFI-11698 Changed GitHub MacOS and Windows timeouts to 150 mins
This closes #7386

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-06-15 20:34:02 -05:00
exceptionfactory 63452da617
NIFI-11689 Added Maven Wrapper with Maven 3.9.2 (#7378) 2023-06-14 15:42:27 -04:00
Mark Payne 108f841525
NIFI-11591 Corrected intermittent system test failures
When waiting for a Processor to stop completely in system tests, also consider any terminated threads. Consider the processor stopped only when all active threads and all terminated threads have gone to 0. Additionally, when stopping all components in a Process Group, wait for the PG to reflect that there are no running components.  Previously, we checked for processor active thread counts. However, this was problematic because the flow that was fetched was not fetched recursively and as a result, processors running in embedded groups were not always stopped when the waitForProcessorsStopped(String groupId) method returned. Finally, removed the step for gathering surefire-reports in failed system tests because it was not working as expected and was unneeded because the tests' logs were already gathered into the diagnostic dump that is uploaded.

Added fix for BatchFlowBetweenGroupsIT. The test would intermittently fail, based on timing. The test assumed that when Input Port in Group B was scheduled to run, it would trigger before FlowFiles in Group A finished processing. The Sleep processor caused a 10 ms delay for each of 5 FlowFiles which gives the Input Port about 50 ms to trigger. If it took longer to trigger the first time, the test failed. Adjusted the Sleep processor to use 2 seconds. So now instead of 50 milliseconds to start, it has 10 seconds. Overall this adds about 30-45 seconds to the run time of the test but ensures more-than-adequate time for the test to run, even on extremely slow hardware

This closes #7289

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-05-24 14:03:07 -05:00
Mark Payne a12c9ca9c7
NIFI-11557: Avoid using the expensive and unnecessary Files.walkFileTree on startup and initialization of Content Repository. Also performed some code cleanup: IntelliJ flagged many warnings in the class, mostly around methods that are no longer used and potential NullPointerExceptions, so those were cleaned up. Additionally, removed the nifi property for max flowfiles per claim - this property was never implemented. It was referenced, but the way in which is was used curiously had nothing to do with what the property was intended to be used for or for how it was documented. Instead, it was used to limit the max number of claims that could remain writable. As a result, it was removed.
NIFI-11557: Added an additional system test and updated github actions to include surefire-report in order to help diagnose problem that occurred in one of the last system-test runs in Github. Could not replicate problem locally
Signed-off-by: Matthew Burgess <mattyb149@apache.org>

This closes #7265
2023-05-23 14:29:29 -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 0afd1557e1
NIFI-11316 Removed Admin Toolkit Commands (#7065) 2023-03-29 16:04:30 -04:00
exceptionfactory a13c2cf010
NIFI-11257 Enable Maven HTTP pooling and additional retries (#7020)
* NIFI-11257 Enabled Maven HTTP pooling and additional retries

- Enabled HTTP connection pooling for Maven Wagon
- Configured 30 second timeout for HTTP pooled connection lifespan
- Enabled 5 retries for HTTP connections
- Set maximum connection per route to 5 instead of 20
- Enabled retry for sent HTTP requests
2023-03-08 11:36:40 -05:00
exceptionfactory 1014359c64
NIFI-11175 Enabled system-tests for framework changes (#6947) 2023-02-13 17:07:39 -05:00
Pierre Villard 18ef2a57a5
NIFI-11164 Updated minimum Java version from 8 to 11.0.16
- Updated GitHub workflows from Java 8 to 11
- Updated Maven Compiler Source and Target version from 1.8 to 11
- Disabled JASN1 tests failing on Windows with Java 11

This closes #6940

Co-authored-by: David Handermann <exceptionfactory@apache.org>
Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-02-10 23:31:37 -06:00
Bryan Bende 5c3ca9d537
NIFI-10981 Ensure NarAutoLoader starts after provider retrieves NARs,… (#6785)
- NIFI-10981 Ensure NarAutoLoader starts after provider retrieves NARs, and ensure the auto-loader attempts to process any NARs available before starting to watch for new files
- Add system test with NAR Provider that copies NARs from a local directory and verifies the NARs were loaded and linked correctly
- Exclude new assembly from CI test-compile
2022-12-16 11:30:37 -05:00
exceptionfactory 4725ca36ba
NIFI-10849 Changed Maven compile to test-compile in GitHub ci-workflow
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #6691.
2022-11-22 13:23:55 +01:00
exceptionfactory 9e3987d04e
NIFI-10826 Separated Maven Compile and Verify in ci-workflow
Signed-off-by: Matthew Burgess <mattyb149@apache.org>

This closes #6666
2022-11-16 12:56:33 -05:00
exceptionfactory 4569c597f2
NIFI-10749 Corrected Windows NPM Cache for GitHub Workflow
Signed-off-by: Matthew Burgess <mattyb149@apache.org>

This closes #6616
2022-11-03 11:13:24 -04:00
exceptionfactory 7d6dc2cace
NIFI-10658 Upgraded GitHub Actions to current versions
- Upgraded stale from 3 to 6
- Upgraded checkout from 2 to 3 in system-tests
- Upgraded setup-java from 2 to 3 in system-tests
- Upgraded upload-artifact from 2 to 3 in system-tests

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

This closes #6542.
2022-10-18 09:28:30 -04:00
Ashish Kurmi c9ade4802c
NIFI-10575 Added minimum GitHub token permissions for workflows
This closes #6469

Signed-off-by: David Handermann <exceptionfactory@apache.org>
Co-authored-by: Ashish Kurmi <akurmi@stepsecurity.io>
Co-authored-by: Alex <aleksandrosansan@gmail.com>
2022-10-03 10:02:36 -05:00
Joe Witt adf8b0d359
NIFI-10272 taking off parallel build as it has been unstable 2022-07-25 12:27:05 -07:00
exceptionfactory 8185ad0598
NIFI-10249 Enabled Parallel Builds in GitHub Workflow
- Upgraded maven-enforcer-plugin from 3.0.0 to 3.1.0
- Upgraded maven-dependency-plugin from 3.2.0 to 3.3.0
- Upgraded checkstyle from 9.2.1 to 9.3
- Upgraded buildnumber-maven-plugin from 1.4 to 3.0.0

This closes #6222.

Signed-off-by: Kevin Doran <kdoran@apache.org>
2022-07-19 09:51:31 -04:00
exceptionfactory eb91eb12b0
NIFI-10224 Moved GitHub Workflow Analysis to Separate Job
- Upgraded multiple GitHub Actions from Version 2 to 3
- Replaced Maven Cache step with cache feature in Setup Java Action
- Moved checkstyle and license checks from verify to validate phase in Maven execution
- Removed unnecessary contrib-check profile from nifi-registry

This closes #6202
Signed-off-by: Paul Grey <greyp@apache.org>
2022-07-18 12:46:30 -04:00
exceptionfactory c9c7d5f5a3
NIFI-10038 Added Java 17 to system-tests workflow (#6060) 2022-05-23 16:31:42 -04:00
exceptionfactory 8f3445d48f
NIFI-10000 Updated Pull Request Template Summary
- Removed italicized formatting for example summary paragraph and updated example issue number

Signed-off-by: Joe Gresock <jgresock@gmail.com>

This closes #6025.
2022-05-06 18:36:27 -04:00
exceptionfactory fbfdcdca9f
NIFI-9970 Restructured Pull Request Template
- Added Summary, Tracking, and Verification section headings
- Reworded checklist to declarative statements instead of questions
- Added JDK 17 to list of build platforms

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

This closes #6002.
2022-04-28 10:04:11 +02:00
Paul Grey c88c404dd8
NIFI-9826 Moved build locale settings from Maven to GitHub Workflow
- Adjusted Java 17 build locale settings
- Added test to verify match between System properties and build environment variables

This closes #5980

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2022-04-20 14:19:00 -05:00
exceptionfactory 105890ef37
NIFI-9773 Refactored nifi-system-tests using JUnit 5
- Enabled system-tests workflow on push and pull requests

This closes #5901

Signed-off-by: Mike Thomsen <mthomsen@apache.org>
2022-03-26 07:22:07 -04:00
exceptionfactory 412e21be97
NIFI-9281 Enabled building on Java 17
- Added Ubuntu Zulu JDK 17 GitHub build
- Adjusted MiNiFi C2 FileSystemConfigurationCache test to avoid using environment variables
- Adjusted MiNiFi StatusLogger and StatusLoggerTest to avoid overriding private logger
- Adjusted failure reason attribute check in TestGetIgniteCache
- Adjusted TestRangerAuthorizer and TestRangerNiFiAuthorizer to avoid checking nested exceptions
- Adjusted encrypt-config TestUtil to avoid unnecessary comparison of different types
- Disabled Javascript tests on Java 15 and higher
- Disabled several Hive 3 tests on Java 17 for StringInternUtils illegal access
- Refactored nifi-enrich-processors tests to use Mockito without Powermock
- Refactored nifi-toolkit-tls tests to avoid illegal reflective access
- Removed deprecated X509Certificate test in CertificateUtilsTest
- Removed kryo serialization from nifi-site-to-site-client test
- Updated TestHashContent to use SHA-1 instead of SHA for hash algorithm
- Upgraded maven-war-plugin from 2.5 to 3.3.2
- Upgraded nifi-graph-bundle dependencies from Groovy 2.5.14 to 3.0.8
- Upgraded QuestDB from 4.2.1 to 6.2.1 in nifi-framework-core

This closes #5870

Signed-off-by: Mike Thomsen <mthomsen@apache.org>
2022-03-17 14:08:38 -04:00
Paul Grey a0fc7f5e61
NIFI-9799 Enabled style checking for nifi-system-tests in ci-workflow
This closes #5869

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2022-03-16 10:53:35 -05:00
Paul Grey 6bc85155f9
NIFI-9749 - Capture additional logging for system-test workflow runs
This closes #5827

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2022-03-02 18:52:43 -06:00
Scott Aslan b8ec6d38dc [NIFI-9554] upgrade node and npm
update lintin
update font awesome path
bump nifi-fds version
update nifi deps
update frontend maven plugin
change CI npm cache restore keys so that we will not use cached directories for older versions of node

This closes #5751.

Signed-off-by: Kevin Doran <kdoran@apache.org>
2022-02-14 14:24:02 -05:00
exceptionfactory e2243500d3
NIFI-9618 Upgraded Checkstyle to 9.2.1
- Corrected several missing return statements
- Increased Maven heap size to 3 GB for ci-workflow

This closes #5700

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2022-01-21 20:08:16 -06:00
Paul Grey 73de3a0fe7
NIFI-9586 Excluded additional assembly modules from ci-workflow
This closes #5690

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2022-01-21 13:24:42 -06:00
exceptionfactory d987351031
NIFI-9608 Disabled system-tests workflow for pull requests
This closes #5689

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2022-01-20 10:42:25 -06:00
Paul Grey 70aa719cbf
NIFI-9586 Removed Surefire ForkNodeFactory configuration
- Falling back to default LegacyForkNodeFactory due to SUREFIRE-1800
- Added upload of Surefire results on automated build failures

This closes #5675

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2022-01-19 13:50:05 -06:00
Bryan Bende 0f02dac3fa
NIFI-9452 Generate a RuntimeManifest for NiFi at build time
- Write additional fields to extnesion-manifest.xml for processors
- Update C2 model classes to support new fields for processors, properties, and scheduling
- Create converter between NiFi model and C2 model
- Create generator and execute during the build

Add profile to nifi-assembly that skips the binary assembly, update github workflow to enable this profile instead of excluding nifi-assembly

Add additional documentation on new fields in processor definition and reporting task definition

Set charset to UTF-8 on the OutputStreamWriter

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

This closes #5612
2021-12-21 16:35:15 -05:00
Mark Payne 20392d5ef4
NIFI-9503: Fixed issue in system-tests
- Fixed system-tests workflow so that troubleshooting info is always uploaded for failures

This closes #5614

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2021-12-18 19:59:54 -06:00
Mark Payne 90b39b593a
NIFI-9069 Changed framework dataflow serialization to support JSON
- Changed framework so that it serializes the dataflow into a VersionedDataflow using JSON as well as XML, and prefers the JSON representation on load, if it's available. This also results in the need for the cluster protocol to exchange its representation of the dataflow to using JSON. Rather than re-implementing all of the complex logic of Flow Fingerprinting, updated to just inherit the cluster's flow.
- Moved logic to synchronize Process Group with Versioned Process Group into a new ProcessGroupSynchronizer class instead of having all of the logic within StandardProcessGroup
- Reworked versioned components to use an instance id.
- Renamed StandardFlowSynchronizer to XmlFlowSynchronizer; introduced new StandardFlowSynchronizer that delegates to the appropriate (Xml or Versioned)FlowSynchronzer
- Updated to allow import of VersionedProcessGroup even if not all bundles are available - will now use ghost components
- Introduced a VersionedDataflow object to hold controller-level services, reporting tasks, parameter contexts, templates, etc.
- Allow mutable requests to be made while nodes are disconnected. Also fixed issue in AbstractPolicyBasedAuthorizer that caused ClassNotFoundException / NoClassDefFoundError if the authorizations were changed and then a node attempts to rejoin the cluster. The Authorizer was attempting to use XmlUtils, which is in nifi-security-utils and so so by madking nifi-security-utils a provided dependency of nifi-framework-api, but this doesn't work, because nifi-framework-api is loaded by a higher-level classloader, so the classloader that loads AbstractPolicyBasedAuthorizer will never have the appropriate classloader to provide nifi-security-utils. Addressed this by copying the code for creating a safe document builder from XmlUtils to AbstractPolicyBasedAuthorizer.
- Fixed bug that occurred when importing a Process Group that has 2 parameter contexts, one inheriting from another, where neither is pre-defined in the existing flow
- Fixed bug that was encountered when Updating a Versioned Process Group where one version had a disabled processor and the other had the processor running.
- Increased system-tests workflow timeout to 120 minutes
- Added additional exception handling to system tests

This closes #5514

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2021-12-02 15:10:38 -06:00