1383 Commits

Author SHA1 Message Date
Mark Payne
b508d6bfbc
NIFI-6033, NIFI-6034, NIFI-6035, NIFI-6036, NIFI-6037: Fixed bugs that were found during 1.9.0-RC1 validation. If multiple FlowFiles were written to same Content Claim, and a Processor attempted to read two of them wi within a single session, it would seek to the wrong part of the content or else throw a ContentNotFoundException. Updated logic for considering a processor to be 'running' / having 'active threads' if the processor is invalid upon NiFi restart but scheduled to run. Fixed NPE in FreeFormTextWriter. If MergeRecord reaches minimum number of records, flush writer after writing content out so that its minimum size can accurately be checked.
This closes #3309.

Signed-off-by: Bryan Bende <bbende@apache.org>
2019-02-15 11:59:47 -05:00
Mike Moser
f61947627e
NIFI-6038 Remove scope parameter from OIDC TokenRequest
This closes #3308
2019-02-14 16:43:15 -05:00
Kevin Doran
2938454ae4
NIFI-6020: Fix NPE in getAccessPoliciesForUser
This closes #3304
2019-02-13 16:03:46 -05:00
Dorian Bugeja
da8c8a14a1 NIFI-6017 - ArrayIndexOutOfBounds Load Balancer CorrelationAttributePartitioner
Signed-off-by: Mark Payne <markap14@hotmail.com>
2019-02-13 08:53:19 -05:00
Kevin Doran
a940ff6343
NIFI-5950: Use temp port names during flow updates
Use temporary values for port names when updated process groups as part of a Change Flow Version operation.
This avoids the potential for a name conflict between a ports during the update process.

Add a final step to the update process group logic to set the final name on all ports.

This closes #3301.
2019-02-12 11:12:38 -05:00
Mark Payne
36c0a99e91 NIFI-5938: Added ability to infer record schema on read from JsonTreeReader, JsonPathReader, XML Reader, and CSV Reader.
- Updates to make UpdateRecord and RecordPath automatically update Record schema when performing update and perform the updates on the first record in UpdateRecord before obtaining Writer Schema. This allows the Writer to  to inherit the Schema of the updated Record instead of the Schema of the Record as it was when it was read.
 - Updated JoltTransformRecord so that schema is inferred on the first transformed object before passing the schema to the Record Writer, so that if writer inherits schema from record, the schema that is inherited is the trans transformed schema
 - Updated LookupRecord to allow for Record fields to be arbitrarily added
 - Implemented ContentClaimInputStream
 - Added controller service for caching schemas
 - UpdatedQueryRecord to cache schemas automatically up to some number of schemas, which will significantly inprove throughput in many cases, especially with inferred schemas.

NIFI-5938: Updated AvroTypeUtil so that if creating an Avro Schema using a field name that is not valid for Avro, it creates a Schema that uses a different, valid field name and adds an alias for the given field name so that the fields still are looked up appropriately. Fixed a bug in finding the appropriate Avro field when aliases are used. Updated ContentClaimInputStream so that if mark() is called followed by multiple calls to reset(), that each reset() call is successful instead of failing after the first one (the JavaDoc for InputStream appears to indicate that the InputStream is free to do either and in fact the InputStream is even free to allow reset() to reset to the beginning of file if mark() is not even called, if it chooses to do so instead of requiring a call to mark()).

NIFI-5938: Added another unit test for AvroTypeUtil

NIFI-5938: If using inferred schema in CSV Reader, do not consider first record as a header line. Also addressed a bug in StandardConfigurationContext that was exposed by CSVReader, in which calling getProperty(PropertyDescriptor) did not properly lookup the canonical representation of the Property Descriptor from the component before attempting to get a default value

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

This closes #3253
2019-02-11 12:56:50 -05:00
Mark Payne
3a4c3ccbaa
NIFI-6015: This closes #3300. Updated unit test to sleep for 10 milliseconds before adding last FlowFile to queue so that the first and last FlowFiles will have different timestamps
NIFI-6015: Moved call to sleep() up in unit test to ensure that we sleep before creating the flowfile
Signed-off-by: joewitt <joewitt@apache.org>
2019-02-11 12:40:10 -05:00
Mark Payne
4e914cea1f
NIFI-6008: When a Processor is Terminated, call its #onPropertyModified method for properties whose value differs from the default value. Previously, it was called if the value differs from the current value (which it never will since we are only restoring the current values for the Processor). This results in ensuring that #onPr #onPropertyModified is correctly called when a component is reloaded
This closes #3296.

Signed-off-by: Bryan Bende <bbende@apache.org>
2019-02-08 10:52:04 -05:00
Bryan Bende
8c58d51857
NIFI-5990 This closes #3283. Moving Developer docs section above Processors
Signed-off-by: joewitt <joewitt@apache.org>
2019-02-06 21:04:21 -05:00
thenatog
f81d6bd63b
NIFI-5968 - Added the X-XSS-Protection and Strict-Transport-Security HTTP headers using Jetty Filters. Added some tests.
Removed bad test.
Refactored filter creation method.
Ensure HSTS header is only applied if NiFi is secured with HTTPS
Small changes to header array list.
Fixed checkstyle errors.

This closes #3273.

Signed-off-by: Andy LoPresto <alopresto@apache.org>
2019-02-07 11:13:28 +11:00
Peter Wicks
35147a620f NIFI-5940 Cluster Node Offload Hangs if any RPG on flow is Disabled
This closes #3255

Signed-off-by: Mark Payne <markap14@hotmail.com>
2019-02-06 12:42:43 -05:00
Mark Payne
412c4908e2
NIFI-5997: Recover FlowFile Repository before swap files; then, when recovering swap files, ignore any that are unknown to the flowfile repo. This prevents us from incrementing the size of the flowfile queue for unknown swap files
This closes #3292.

Signed-off-by: Bryan Bende <bbende@apache.org>
2019-02-05 15:23:24 -05:00
Mark Payne
83ac191736
NIFI-5997: If we swap out data, ensure that we do not increment the size of the queue by the size of the data that we failed to swap out. Also, if the FlowFile Repo does not know about a given swap file, do not restore it on restart
This closes #3290.

Signed-off-by: Bryan Bende <bbende@apache.org>
2019-02-04 14:29:17 -05:00
Peter Wicks
ad1f2fb666
NIFI-5722 Expose Penalty Remaining Duration (#3091)
Signed-off-by: Koji Kawamura <ijokarumawak@gmail.com>
2019-02-01 13:04:51 -07:00
Bryan Bende
79a3696e5e NIFI-5961 Fixing bug where the name of a versioned process group gets incorrectly reset
This closes #3271.

Signed-off-by: Mark Payne <markap14@hotmail.com>
2019-01-30 11:14:53 -05:00
Mark Payne
fd3d69bc90 NIFI-5949: Addressed problematic error handling logic in PutKudu. Also removed AbstractKudu and moved all logic into PutKudu, as the abstract class was clearly designed to be extended only by PutKudu and no other processors exist for Kudu
Added explicit .toString() call on rowError to avoid IllegalStateException during logging of row errors

This closes #3262.
2019-01-24 19:47:03 -05:00
Mark Payne
89adb039d2
NIFI-5944: If processor is no longer scheduled to run after a failed trigger of @OnScheduled, ensure that we set scheduled status to STOPPED
This closes #3263
2019-01-11 10:22:22 -05:00
Mark Payne
706cf7dcff
NIFI-5944: When components are started on NiFi startup, if they are invalid, don't fail immediately and give up. Instead, keep attempting to start the component when it becomes valid.
This closes #3259
2019-01-10 11:15:17 -05:00
Mark Payne
cf41c10546 NIFI-5879: Fixed bug in FileSystemRepository that can occur if an InputStream is obtained, then more data is written to the Content Claim - the InputStream would end before allowing the sequential data to be read. Also fixed bugs in LimitedInputStream related to available(), mark(), and reset() and the corresponding unit tests. Additionally, found that one call to StandardProcessSession.read() was not properly flushing the output of any Content Claim that has been written to before attempting to read it.
Signed-off-by: Matthew Burgess <mattyb149@apache.org>

This closes #3207
2019-01-07 11:06:17 -05:00
Mark Payne
fea17d0ca8
NIFI-5919: Addressed a race condition that can exist if adding FlowFiles to a FlowFileQueue before adjusting the size of the queue to account for the FlowFiles
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #3238.
2019-01-03 11:35:23 +01:00
Koji Kawamura
4b70465ea5 NIFI-5905 Secure S2S fails with NullPointerException
The constructor arguments should be set to instance variables so that
subsequent code can refer "this.*".
2018-12-18 15:03:31 +09:00
Jeff Storck
cc47a8c0e1
NIFI-5748 Improved Proxy Header Support
- Fixed proxy header support to use X-Forwarded-Host instead of X-ForwardedServer
- Added support for the context path header used by Traefik when proxying a service (X-Forwarded-Prefix)
- Added tests to ApplicationResourceTest for X-Forwarded-Context and X-Forwarded-Prefix
- Updated administration doc to include X-Forwarded-Prefix
- Added NIFI_WEB_PROXY_CONTEXT_PATH env var to dockerhub and dockermaven start.sh scripts
- Added documentation for NIFI_WEB_PROXY_CONTEXT_PATH to dockerhub README.md
- Updated ApplicationResource to handle a port specified in X-ProxyPort and X-Forwarded-Port headers

This closes #3129.

Signed-off-by: Kevin Doran <kdoran@apache.org>
2018-12-17 17:32:06 -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
Kemix Koo
e76c54234d NIFI-5881: Enable to export the template for non-ascii name
This closes #3210.

Signed-off-by: Koji Kawamura <ijokarumawak@apache.org>
2018-12-10 09:51:46 +09:00
Koji Kawamura
8ebb4d1974
NIFI-5863 Fixed AbstractFlowFileQueue logging
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #3199.
2018-12-05 11:29:50 +01:00
Kotaro Terada
72662f0b2c
NIFI-5846: Redirect URL is incorrect after logout
This closes #3185.

Signed-off-by: Peter Wicks <patricker@gmail.com>
2018-11-29 08:16:39 -07:00
Andy LoPresto
f6b171d5f7
NIFI-5833 This closes #3180. Marked GetTwitter Consumer Key and Access Token processor properties as sensitive.
NIFI-5833 Added unit test to demonstrate arbitrary decryption of sensitive values regardless of processor property sensitive status.
NIFI-5833 Updated GetTwitter documentation with note about 1.9.0+ marking Consumer Key and Access Token as sensitive.

Signed-off-by: joewitt <joewitt@apache.org>
2018-11-21 10:02:25 -05:00
Mark Payne
be0949570a
NIFI-5824: Added unit test to FlowController to ensure that the ProcessScheduler that it creates is properly initialized. Also updated the properties file used by TestFlowController to use a VolatileContentRepository instead of FileSystemRepository, and fixed EventDrivenWorkerQueue to return if calls to poll() are interrupted (via Thread.interrupt) - making these minor fixes resulted in the unit test TestFlowController running in 2 seconds instead of 30+ seconds on my machine
This closes #3173.

Signed-off-by: Bryan Bende <bbende@apache.org>
2018-11-15 15:01:56 -05:00
Mark Payne
76b0065a67
NIFI-5822: Ensure that we don't call FlowController.getControllerServiceProvider() before the ControllerServiceProvider has been initialized
This closes #3171.

Signed-off-by: Bryan Bende <bbende@apache.org>
2018-11-15 13:25:33 -05:00
Kotaro Terada
13232c7413 NIFI-5752: Load balancing fails with wildcard certs
NIFI-5752: Remove an unnecessary String.format

NIFI-5752: Remove an unnecessary block

This closes #3110.

Signed-off-by: Koji Kawamura <ijokarumawak@apache.org>
2018-11-07 17:16:20 +09:00
Mark Payne
da1f9eaf6a
NIFI-5796 Addressed bug in subtract() method for keeping running total of counters for status history
This closes #3136.

Signed-off-by: Bryan Bende <bbende@apache.org>
2018-11-06 17:55:21 -05:00
Mark Payne
4069d75550
NIFI-5796: Addressed issue that caused Counters' values to show the wrong value in Status History
Signed-off-by: Bryan Bende <bbende@apache.org>
2018-11-06 17:55:09 -05:00
Mark Payne
931bb0bc3b
NIFI-5769: Refactored FlowController to use Composition over Inheritance
- Ensure that when root group is set, that we register its ID in FlowManager

This closes #3132.

Signed-off-by: Bryan Bende <bbende@apache.org>
2018-11-06 11:23:33 -05:00
Andrew Lim
59e102ad47 NIFI-5767 Added NiFi Toolkit Guide to docs
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #3124.
2018-11-06 11:23:54 +01:00
Bryan Bende
fdd8cdbb31 NIFI-5673 Set up property/assembly for new auto-load directory
- Set up NarAutoLoader to watch directory for new files
- Move NarAutoLoader to JettyServer since it will need access to ExtensionManager
- Created NarLoader to shared between NarAutoLoader and the framework
- Created nifi-framework-nar-loading-utils so we can use nifi-documentation to call DocGenerator
- Add additional bundles to overall map in NarClassLoaders as they are loaded
- Added handling of skipped NARs to include them in next iteration
- Added check of last modified timestamp on NARs
- Refactored JettyServer so we can load additional web contexts while the application is running
- Setting up unit tests
- Remove static use of ExtensionManager
- Adding unit tests for NarLoader
- Extracting interface for ExtensionManager and splitting discovery into it's own interface

This closes #3119.

Signed-off-by: Mark Payne <markap14@hotmail.com>
2018-11-01 14:41:10 -04:00
Mark Payne
4c10b47e60
NIFI-5771: Ensure that we only increment claimant count for content claim if we have a FlowFile that references it
This closes #3118.

Signed-off-by: Bryan Bende <bbende@apache.org>
2018-10-31 15:25:24 -04:00
Jeff Storck
4f14e517db Merge branch 'NIFI-5720-RC3' as part of the NiFi 1.8.0 release process 2018-10-26 13:56:23 -04:00
Mark Payne
234ddb0fe1 NIFI-5745: When determining if backpressure should be applied across nodes for load balancing, only consider if the local partition has reached the threshold limits instead of considering the size of the entire queue
This closes #3108.

Signed-off-by: Koji Kawamura <ijokarumawak@apache.org>
2018-10-26 16:04:46 +09:00
Mark Payne
c7ff2fc5db NIFI-5746: Use Node Identifier's node address instead of getting from socket for RECEIVE prov events; make SEND prov events match syntax of RECEIVE prov events
NIFI-5746: Addressed issue found in review process

This closes #3109.

Signed-off-by: Koji Kawamura <ijokarumawak@apache.org>
2018-10-26 10:24:12 +09:00
Jeff Storck
c0182294ed NIFI-5720-RC3 prepare for next development iteration 2018-10-22 22:16:43 -04:00
Jeff Storck
98aabf2c50 NIFI-5720-RC3 prepare release nifi-1.8.0-RC3 2018-10-22 22:16:23 -04:00
Matt Gilman
02261311b3 NIFI-5737:
- Removing needClientAuth property since cluster comms now requires two way ssl. Jetty client auth settings are based on configured features.
- Removing dead code.
- Updating documentation.
- Removing references to needClientAuth property in all test resources.
- Removing overloaded util method with strict parameter.

This closes #3102.
2018-10-22 20:02:47 -04:00
Mark Payne
5561c29ed3 NIFI-5736: Removed 'synchronized' keyword from SwappablePriorityQueue#getProperties - the method should not be synchronized, as it guards access to member variables via a ReadLock. I am guessing that the synchronized keyword is the result of refactoring from 'synchronized' to a read lock and inadvertently leaving the 'synchronized' keyword in.
Signed-off-by: Matthew Burgess <mattyb149@apache.org>

This closes #3101
2018-10-22 12:22:05 -04:00
Matt Gilman
87c6b3aa7c
NIFI-5715: Updating the allowable values for the runStatus.
This closes #3087.

Signed-off-by: Kevin Doran <kdoran@apache.org>
2018-10-17 10:33:53 -04:00
Bryan Bende
51ed618cf0 NIFI-5708 Fixing the creation of ValidationContextFactory for controller services so it uses the ComponentVariableRegistry and not the file-based instance
Signed-off-by: Matthew Burgess <mattyb149@apache.org>

This closes #3081
2018-10-16 15:38:32 -04:00
Mark Payne
4d21f9b34e
NIFI-5709, NIFI-5710: Addressed issue that causes NiFi to not be able to read provenance events when the a new FlowFile is created and then auto-terminated in the same session; minor bug fixes outlined in NIFI-5710
This closes #3083
2018-10-16 15:25:29 -04:00
Matt Gilman
11fd67cd1e
NIFI-375:
- Ensuring the run status endpoints are properly merged.

This closes #3082.

Signed-off-by: Bryan Bende <bbende@apache.org>
2018-10-16 14:59:27 -04:00
Mark Payne
32db43b306 NIFI-5686: Updated StandardProcessScheduler so that if it fails to schedule a Reporting Task, it re-schedules the @OnScheduled task instead of looping and calling Thread.sleep. As it was, the single-threaded Process Scheduler was, when calling ProcessScheduler.unschedule(), the unschedule task was not executing because the schedule task was using the only thread. But switching the logic to schedule the task for later and return, instead of calling Thread.sleep and looping, we are able to avoid blocking the one thread in the thread pool. Also, performed some trivial code cleanup and updated erroneous links in Java-docs.
NIFI-5686: Fixed unit test in TestSocketLoadBalancedFlowFileQueue; renamed TestProcessorLifecycle to ProcessorLifecycleIT as it is testing integration between many components and largely focuses on high numbers of concurrent tasks to see if it can trigger any threading bugs that may get introduced

NIFI-5686: Extended unit test timeouts
Signed-off-by: Matthew Burgess <mattyb149@apache.org>

This closes #3062
2018-10-15 15:21:05 -04:00
Matt Gilman
f55204cb69
NIFI-4806:
- Bumping to tika 1.19.1.

This closes #3069
2018-10-15 13:52:49 -04:00
Jeff Storck
7cb39d636c NIFI-5696 Update references to default value for nifi.cluster.node.load.load.balance.port
This closes #3071.

Signed-off-by: Koji Kawamura <ijokarumawak@apache.org>
2018-10-15 10:43:31 +09:00