Commit Graph

71 Commits

Author SHA1 Message Date
Mike Thomsen 00da6d5ead
NIFI-10562 Moved MongoDB to testcontainers for integration-tests
This closes #6642

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2022-11-14 07:35:06 -06:00
Mike Thomsen f35f010deb
NIFI-9085 Refactored the Elasticsearch bundle to use JUnit 5
- NIFI-9086 Refactored nifi-accumulo-bundle to use JUnit 5
- NIFI-9087 Updated nifi-ambari-bundle to use JUnit 5
- NIFI-9088 Refactored nifi-amqp-bundle to use JUnit 5
- NIFI-9089 Updated nifi-asn1-bundle to use JUnit 5
- NIFI-9090 Refactored nifi-atlas-bundle to use JUnit 5
- NIFI-9091 Refactored nifi-avro-bundle to use JUnit 5
- NIFI-9092 Refactored nifi-aws-bundle to use JUnit 5
- NIFI-9095 Refactored nifi-azure-bundle to use JUnit 5
- NIFI-9145 Refactored nifi-rethinkdb-bundle to use JUnit 5
- NIFI-9143 Refactored nifi-redis-bundle to use JUnit 5

This closes #5350

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2022-03-07 21:49:23 -06:00
exceptionfactory a2f6420f43
NIFI-9638 Refactored Google Guava usage in extensions
Signed-off-by: Matthew Burgess <mattyb149@apache.org>

This closes #5742
2022-02-09 16:39:53 -05:00
Tamas Palfy 2730a9000e NIFI-9334 Add support for upsert in 'PutMongoRecord'. Use 'bulkWrite' for both insert and upsert.
This closes #5482.

Signed-off-by: Peter Turcsanyi <turcsanyi@apache.org>
2021-11-10 18:39:35 +01:00
Lance Kinley 30efcd35e4
NIFI-8208: Upgrade MongoDB driver to 4.3 series
- Add AllowableValue objects for write concern values
- Remove warnings for using deprecated write concerns in PutMongo

This closes #5392

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2021-10-26 16:14:55 -05:00
Mike Thomsen 4c6bd856c0
NIFI-9041 Replaced JUnit 4 only testing configuration with a combination of JUnit 5 and JUnit Vintage.
- Updated nifi-mock to be exclusively JUnit 5
- Updated a few modules to demonstrate a successful conversion to all JUnit 5

This closes #5304

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2021-08-12 17:39:42 -05:00
Mark Payne ecacfdaa4c NIFI-8469: Introduced ProcessSession.commitAsync and updated processors to use it. Deprecated ProcessSession.commit()
- Updated Mock Framework to now fail tests that use ProcessSession.commit() unless they first call TestRunner.setAllowSynchronousSessionCommits(true)
- Updated stateless nifi in order to make use of async session commits
- Fixed bug that caused stateless to not properly handle Additional Classpath URLs and bug that caused warnings about validation to get generated when a flow that used controller services was initialized. While this is not really in scope of NIFI-8469, it was found when testing and blocked further progress so addresssed here.
- If Processor fails to progress when run from stateless, trigger from start of flow until that is no longer the case
- Introduced notion of TransactionThresholds that can limit the amount of data that a flow will bring in for a given invocation of stateless dataflow
- Several new system-level tests
2021-05-19 08:51:16 -04:00
Mark Payne 7d1d536da6
NIFI-8206: Added identifiesExternalResource() method to PropertyDescriptor.Builder and implemented functionality.
- Updated components to make use of new feature

NIFI-8206: Added a ResourceType of TEXT. This requires that the ResourceReferenceFactory know which types are allowed in order to create the ResourceReference. PropertyValue needs to then have the PropertyDescriptor available to it. This resulted in highlighting many bugs in unit tests where components were not exposing property descriptors via getSupportedPropertyDescriptors() or were evaluating Expression Language using the wrong scope, so fixed many unit tests/components to properly declare Expression Language scope when using it

NIFI-8206: Removed problematic unit test that required directory names with special characters that are not allowed on some operating systems

This closes #4890.

Signed-off-by: Bryan Bende <bbende@apache.org>
2021-04-12 11:48:04 -04:00
exceptionfactory 817f621d6f NIFI-8096 Deprecated ClientAuth references in SSLContextService
- Added SSLContextService.createContext() and refactored referencing components
- Removed references to ClientAuth from SslContextFactory methods

This closes #4737.

Signed-off-by: Mark Payne <markap14@hotmail.com>
2021-01-06 16:24:26 -05:00
Andy LoPresto 9370571131
NIFI-7804 Split nifi-security-utils into sub-module for nifi-security… (#4533)
* NIFI-7804 Split nifi-security-utils into sub-module for nifi-security-utils-api (no external dependencies).
Separated interface and implementation of TlsConfiguration.
Reabsorbed nifi-security-xml-config into nifi-security-utils.

* NIFI-7804 Resolved failing unit test on Java 8.
Removed accidental module dependency.

* NIFI-7804 Resolved failing unit test.

* NIFI-7804 Removed legacy dependency.

* NIFI-7804 Marked nifi-security-utils-api as provided and overrode with compile scope in specific modules which are not children of nifi-standard-services-api-nar.
2020-09-17 12:52:22 -04:00
Mike Thomsen f4ee9fefa9 NIFI-7768 Added support for monogdb+srv connection strings.
This closes #4514.

Signed-off-by: Joey Frazee <jfrazee@apache.org>
2020-09-16 18:40:02 -07:00
eduardofontes c7edcd68e1
NIFI-7463
Create empty relationship for RunMongoAggregation

Fix default autoterminate and condition to redirect to REL_EMPTY

Change from new relationship to write an empty FlowFile to RESULT

Fix MONGO_URI

This closes #4281

Signed-off-by: Mike Thomsen <mthomsen@apache.org>
2020-05-20 19:54:24 -04:00
Andy LoPresto 441781cec5
NIFI-7407 Replaced SSLContextFactory references to "TLS" with "TLSv1.2" (in shared constant).
Changed JettyServer default SSL initialization and updated unit test.
Removed SecurityStoreTypes (unused).
Added StringUtils inverted blank and empty checks.
Added TlsConfiguration container object.
Enhanced KeystoreType enum.
Added clean #createSSLContext() method to serve as base method for special cases/other method signatures.
Added utility methods in KeyStoreUtils.
Added generic TlsException for callers that cannot resolve TLS-specific exceptions.
Added utility methods for component object debugging.
Enforced TLS protocol version on cluster comms socket creation.
Added utility method for SSL server socket creation.
Refactored (Server)SocketConfigurationFactoryBean to store relevant NiFiProperties in TlsConfiguration instead of stateful SSLContextFactory (Cluster comms now enforce modern TLS protocol version).
Removed duplicate SSLContextFactory.
Switched duplicate SslContextFactory to wrap shared SSLContextFactory.
Refactored SslContextFactoryTest for clarity (will move any unique tests to nifi-security-utils class test).
Added further validation & boundary checking in uses of TlsConfiguration.
Provided SSLSocketFactory accessor in SslContextFactory.
Refactored OkHttpReplicationClient tuple method.
Refactored OcspCertificateValidator TLS logic.
Added utility method to apply TLS configs to OkHttpClientBuilder.
Removed references to duplicate SslContextFactory.
Removed unnecessary SslContextFactory.
Moved OkHttpClientUtils to nifi-web-util module.
Updated module dependencies.
Removed now empty nifi-security module.
Enforced TLS protocol selection on LB server socket.
Enforced TLS protocol selection on S2S server socket.
Applied specified TLS protocol versions to S2S socket creation.
Completed removal of legacy SSLContext creation methods from only remaining SslContextFactory.
Replaced references to creation methods throughout codebase.
Replaced references to unnecessary NiFiProperties file reads throughout tests.
Removed duplicate ClientAuth enum from SSLContextService and changed all references to SslContextFactory.ClientAuth.
Suppressed repeated TLS exceptions in cluster, S2S, and load balance socket listeners.
Cleaned up legacy code.
Added external timing check to timing test assertion.
Made RestrictedSSLContextService TLS protocol versions allowable values explicit.
Enabled TLSv1.3 on Java 11.
Added explanations of TLS protocol versions in StandardSSLContextService and StandardRestrictedSSLContextService.
Resolved additional Java 11 test failures for NiFi internal classes that don't support TLSv1.3. Filed NIFI-7468 as follow on task.

This closes #4263.

Signed-off-by: Nathan Gough <thenatog@gmail.com>
Signed-off-by: Mark Payne <markap14@hotmail.com>
2020-05-19 12:56:59 -07:00
Eduardo Fontes 943de310ad
NIFI-6293
Add support to Mongo Extended JSON v2
Add org.json lib
Replace evil json
Replace evil json for alternative
Include testExtendedJsonSupport
Style adjustment
Remove unecessary new JSON parser
Fix query in testExtendedJsonSupport
Parse with Jackson and BSON
Back to default MONGO_URI

This closes #4068

Signed-off-by: Mike Thomsen <mthomsen@apache.org>
2020-03-18 18:36:09 -04:00
Mike a33a5e35b3
Merge pull request #4119 from eduardofontes/patch-4
NIFI-7233 - Fix Mongo Processors to avoid cycle in provenance graph
2020-03-08 13:18:12 -04:00
Pierre Villard 0f775f3a57
NIFI-7195 - Catch MongoException to route flow files to failure
This closes #4089

Signed-off-by: Mike Thomsen <mthomsen@apache.org>
2020-03-08 08:10:54 -04:00
Eduardo Fontes 57947cd2a2
Fiz writeBatch to avoid cycle in provenance graph 2020-03-06 16:06:21 -03:00
Mike Thomsen e822a1612b
NIFI-6572 Added a workaround for GetMongoRecordIT that fixes a weird issue with Groovy where the Groovy addons don't appear to be getting recognized for java.util.Date. 2019-08-19 21:15:56 -04:00
andrew 9c8f40415e
NIFI-6554 fix oid parsing for PutMongo processor
This closes #3650

Signed-off-by: Mike Thomsen <mthomsen@apache.org>
2019-08-16 05:45:48 -04:00
Peter Turcsanyi c6e6a418aa
NIFI-6318: Support EL in CSV formatting properties
CSVReader and CSVRecordSetWriter controller services and also ConvertExcelToCSVProcessor
support EL for Value Separator, Quote Character and Escape Character properties.

NIFI-6318: Fixed null checks and compound OR expression.

NIFI-6318: RecordSetWriterFactory.createWriter() changes.

NIFI-6318: Initialize CSVFormat in onEnabled() if there are no dynamic formatting properties.

NIFI-6318: Comment Marker supports EL.

NIFI-6318: Various review changes.

This closes #3504.

Signed-off-by: Koji Kawamura <ijokarumawak@apache.org>
2019-07-25 17:04:22 +09:00
Mike Thomsen 407add7847 NIFI-5916 Added an option to enable empty flowfiles to be sent if there are no results from a query.
NIFI-5916 Fixed potential NPE.

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

This closes #3315
2019-06-01 11:27:53 -04:00
Craig Davidson 4de51fd3d5 NIFI-6148 - Added support for aggregation option 'allowDiskUse'
This closes #3389

Signed-off-by: Mike Thomsen <mikerthomsen@gmail.com>
2019-03-28 11:06:25 -04:00
Mike Thomsen 53ca9eb7e5 NIFI-5987 Fixed issue where an invalid query pulled from an attribute would cause GetMongo to not route to failure.
Signed-off-by: zenfenan <zenfenan@apache.org>

This closes #3285
2019-02-19 16:24:15 +05:30
Mike Thomsen 033b2a1940 NIFI-4975 Add GridFS processors
NIFI-4975 Added changes requested in a code review.
NIFI-4975 Reverted some base Mongo changes.
NIFI-4975 Moved connection configuration to using Mongo client service.
NIFI-4975 Fixed a lot of style issues.
NIFI-4975 Removed an EL statement that was causing problems with the UI.
NIFI-4975 Added changes from code review.
NIFI-4975 Added additional details for FetchGridFS.
NIFI-4975 Added documentation for DeleteGridFS.
NIFI-4975 Added documentation for PutGridFS.

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

This closes #2546
2019-02-13 16:51:17 -05:00
Mark Payne 1ac5b93144
NIFI-5859: Added XML-based documentation writer that can be used to document a component.
- Found several instances of nifi-framework-api's ProviderException being thrown from processors. Changed those to IllegalStateException, as ProviderException is not an appropriate Exception in those cases, and extensions should not depend on nifi-framework-api.
- Performed some cleanup, moving Property Descriptors from Controller Service API's/specs into the implementations. Adding to the Service API results in bringing in nifi-utils to the nifi-standard-services-api-nar, which is a bad practice. The 'main' service api nar should not have a dependency on a util class.

NIFI-5859: Added javadocs. Fixed pom.xml that was left pointing to snapshot version of nar maven plugin

NIFI-5859: Addressing review feedback: adding component type, multiple additional details into separate file(s)

This closes #3192.

Signed-off-by: Bryan Bende <bbende@apache.org>
2018-12-10 11:16:01 -05:00
Mike Thomsen e603c486f4 NIFI-5333 Added GetMongoRecord.
Signed-off-by: zenfenan <zenfenan@apache.org>

This closes #3011
2018-11-23 15:01:45 +05:30
Mike Thomsen 1dea8faa06 NIFI-5239 Made a client service an optional source of connection pooling in Mongo processors.
This closes #2896

Signed-off-by: zenfenan <zenfenan@apache.org>
2018-09-19 17:04:25 +05:30
Vijeta e0f7f244b8 Clarifying upsert query documentation for PutMongo processor.
This closes #2999

Signed-off-by: Mike Thomsen <mikerthomsen@gmail.com>
2018-09-12 17:46:43 -04:00
Mike Thomsen 57820d0d88 NIFI-5495 Made date format configurable.
This closes #2969

Signed-off-by: zenfenan <zenfenan@apache.org>
2018-09-09 12:33:34 +05:30
zenfenan 05e32cff28 NIFI-5544: GetMongo refactored
NIFI-5544: PR Review changes

This closes #2958

Signed-off-by: Mike Thomsen <mikerthomsen@gmail.com>
2018-08-31 15:32:44 -04:00
Mike Thomsen c755ed9322 NIFI-5413 Added additional documentation for PutMongoRecord and fixed a typo in RunMongoAggregation's documentation.
This closes #2881

Signed-off-by: zenfenan <zenfenan@apache.org>
2018-08-30 09:43:44 +05:30
Mike Thomsen b1f78d58a6 NIFI-5440 Added db and collection attributes to GetMongo output.
This closes #2906

Signed-off-by: zenfenan <zenfenan@apache.org>
2018-07-26 23:34:12 +05:30
Mike Thomsen 78d908bc0e NIFI-5412 Added additional documentation for PutMongo.
Signed-off-by: Matthew Burgess <mattyb149@apache.org>

This closes #2895
2018-07-23 09:11:59 -04:00
Mike Thomsen c3cad2b38b NIFI-5410 Added additional documentation for GetMongo.
Signed-off-by: Matthew Burgess <mattyb149@apache.org>

This closes #2880
2018-07-23 08:55:36 -04:00
Mike Thomsen d139b28564 NIFI-5409 Added additional documentation for DeleteMongo.
Signed-off-by: Matthew Burgess <mattyb149@apache.org>

This closes #2879
2018-07-23 08:52:57 -04:00
Mike Thomsen 461eca0d14 NIFI-5305 If EL evaluation creates an empty string for the database or collection names, it raises a ProcessException which triggers failure behavior.
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #2891.
2018-07-18 11:07:31 +02:00
zenfenan 3164759d7f NIFI-5334: GetMongo keeps original attributes when it has incoming connections
This closes #2815

Signed-off-by: Mike Thomsen <mikerthomsen@gmail.com>
2018-07-03 07:51:20 -04:00
zenfenan 6508c191bf NIFI-5343: Fix GetMongo to properly reads charset from FlowFile attributes
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #2818.
2018-06-29 14:56:24 +02:00
zenfenan 9af61d3a2d NIFI-5332: Fix GetMongoIT test failures
This closes #2808

Signed-off-by: Mike Thomsen <mikerthomsen@gmail.com>
2018-06-25 20:59:48 -04:00
Mike Thomsen 5a39d2a819 NIFI-5288 Quietly convert Java arrays to Lists so the MongoDB API can handle them.
NIFI-5288 Made changes based on code review.

NIFI-5288 Theoretically supports nested arrays.

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

This closes #2778
2018-06-10 22:10:12 -04:00
zenfenan 794a642310 NIFI-5284: Added JSON_TYPE support to RunMongoAggregation
This closes #2776

Signed-off-by: Mike Thomsen <mikerthomsen@gmail.com>
2018-06-10 06:45:21 -04:00
Mike Thomsen d2fd7e5e7d NIFI-5271 Moved JSON_VALIDATOR to its own maven module.
This closes #2765

Signed-off-by: zenfenan <zenfenan@apache.org>
2018-06-07 20:38:25 +05:30
zenfenan 504152eaa1 NIFI-5261: Added JSON_VALIDATOR to StandardValidators
This closes #2758

Signed-off-by: Mike Thomsen <mikerthomsen@gmail.com>
2018-06-05 18:24:47 -04:00
Mike Thomsen f5108ea839 NIFI-5197 Fixed a bunch of EL scope bugs.
Signed-off-by: Matthew Burgess <mattyb149@apache.org>

This closes #2712
2018-05-17 09:57:35 -04:00
Mike Thomsen ea41b41ede NIFI-5145 Made MockPropertyValue.evaluateExpressionLanguage(FlowFile able to accommodate null flowfiles the way live NiFi does.
NIFI-5145 Fixed a mistake with evaluateAttributeExpressions found in a code review.

NIFI-5145 Removed a property descriptor from GetHBase that was a duplication of the one in VisibilityFetchSupport.

NIFI-5145 Added comments in the code that were requested in the review.

NIFI-5145 Fixed check style issue.

NIFI-5145 Fixed a few improperly scoped items in ListFileTransfer that impacted the FTP processor(s).

NIFI-5145 Changed which override gets called based on code review feedback.

NIFI-5145: Reverted changes to ListFileTransfer re ExpressionLanguageScope

NIFI-5145: Removed TODO from MockPropertyValue javadoc

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

This closes #2672
2018-05-16 13:50:27 -04:00
Mike Thomsen 63d4bba5a4 NIFI-5047 Fixed a bug in PutMongo that prevented it from working if the mode is insert and the query/query key are not set.
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #2609.
2018-04-06 21:36:30 +02:00
Pierre Villard 4c787799ff NIFI-4149 - Indicate if EL is evaluated against FFs or not
- take into account input requirement for documentation rendering
- Renamed variable registry scope and added comments
- Doc + change in mock framework to check scope + update of components + UI
2018-04-06 12:40:54 -04:00
Mike Thomsen 66590b78f5 NIFI-4989 Made PutMongo able to use nested lookup keys, a query param and multiple lookup keys.
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #2560.
2018-03-23 14:46:50 +01:00
Mike Thomsen dae2b73d94 NIFI-4929 Converted the majority of MongoDB unit tests to integration tests so they can be reliably run with 'mvn -Pintegration-tests integration-test'
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #2508.
2018-03-08 19:23:44 +01:00
Jeff Storck e916594b69 NIFI-4872 Added annotation for specifying scenarios in which components can cause high usage of system resources.
- Initial set of components marked with the HighResourceUsageScenario annotation.
- Added customized descriptions to SystemResourceConsideration annotations for MergeContent, SplitContent, SplitJson, SplitText, and SplitXml.

This closes #2475.

Signed-off-by: Mark Payne <markap14@hotmail.com>
2018-03-05 15:32:23 -05:00