Commit Graph

214 Commits

Author SHA1 Message Date
Oleg Zhurakousky 8e17929d6a NIFI-2876 refactored demarcators into a common abstract class
This closes #1214.
2017-02-24 10:06:53 -05:00
Mark Payne 96ed405d70 NIFI-3356: Initial implementation of writeahead provenance repository
- The idea behind NIFI-3356 was to improve the efficiency and throughput of the Provenance Repository, as it is often the bottleneck. While testing the newly designed repository,
  a handful of other, fairly minor, changes were made to improve efficiency as well, as these came to light when testing the new repository:

- Use a BufferedOutputStream within StandardProcessSession (via a ClaimCache abstraction) in order to avoid continually writing to FileOutputStream when writing many small FlowFiles
- Updated threading model of MinimalLockingWriteAheadLog - now performs serialization outside of lock and writes to a 'synchronized' OutputStream
- Change minimum scheduling period for components from 30 microseconds to 1 nanosecond. ScheduledExecutor is very inconsistent with timing of task scheduling. With the bored.yield.duration
  now present, this value doesn't need to be set to 30 microseconds. This was originally done to avoid processors that had no work from dominating the CPU. However, now that we will yield
  when processors have no work, this results in slowing down processors that are able to perform work.
- Allow nifi.properties to specify multiple directories for FlowFile Repository
- If backpressure is engaged while running a batch of sessions, then stop batch processing earlier. This helps FlowFiles to move through the system much more smoothly instead of the
  herky-jerky queuing that we previously saw at very high rates of FlowFiles.
- Added NiFi PID to log message when starting nifi. This was simply an update to the log message that provides helpful information.

NIFI-3356: Fixed bug in ContentClaimWriteCache that resulted in data corruption and fixed bug in RepositoryConfiguration that threw exception if cache warm duration was set to empty string

NIFI-3356: Fixed NPE

NIFI-3356: Added debug-level performance monitoring

NIFI-3356: Updates to unit tests that failed after rebasing against master

NIFI-3356: Incorporated PR review feedback

NIFI-3356: Fixed bug where we would delete index directories that are still in use; also added additional debug logging and a simple util class that can be used to textualize provenance event files - useful in debugging

This closes #1493
2017-02-22 12:40:06 -05:00
Oleg Zhurakousky ec868362f3 NIFI-3495 fixed the index issue with TextLineDemarcator
This closes #1518.
2017-02-17 10:27:40 -05:00
Mark Payne ef69fd61a1 NIFI-3479: This closes #1511. Updated StandardProvenanceEventRecord to incorporate 'childFlowFiles' and 'parentFlowFiles' in the hashCode() method. This allows many CLONE provenance Events to be added to the same Hash Set without them all colliding 2017-02-16 01:34:44 -05:00
Koji Kawamura 1eb98aefee NIFI-3373: Add nifi.flow.configuration.archive.max.count
- Add 'nifi.flow.configuration.archive.max.count' in nifi.properties
- Change default archive limit so that it uses archive max time(30 days)
  and storage (500MB) if no limitation is specified
- Simplified logic to delete old archives

This closes #1460.

Signed-off-by: Koji Kawamura <ijokarumawak@apache.org>
2017-02-16 14:19:39 +09:00
Jeff Storck 8b90343715
NIFI-3355 Allows NiFi to bind to specific network interfaces, with separate interface lists for HTTP and HTTPS.
This closes #1508.

Signed-off-by: Bryan Rosander <brosander@apache.org>
2017-02-15 18:39:26 -05:00
Andy LoPresto 6fc30900b9
NIFI-3331 TLS Toolkit - add the possibility to define SAN in issued certificates.
Added unit tests for SAN inclusion in CertificateUtils#generateIssuedCertificate() and TlsHelper#generateCertificationRequest().
Fixed typos.

This closes #1491.

Signed-off-by: Andy LoPresto <alopresto@apache.org>
2017-02-14 23:09:51 -08:00
Mike Moser 690130b063
NIFI-3362 update FlowConfiguration.xsd to allow all current time period units
This closes #1501.

Signed-off-by: Aldrin Piri <aldrin@apache.org>
2017-02-14 10:20:39 -05:00
Joe Skora 41ad032151 NIFI-3055 StandardRecordWriter Can Throw UTFDataFormatException (1.x)
* Remove function based on JDK source.
* Add new function to find bytes based on RFC3629.
* Add field name to log entry when field is truncated.

Signed-off-by: Mike Moser <mosermw@apache.org>
This closes #1475
2017-02-13 20:15:59 +00:00
Otto Fowler 5cfba6ace3 NIFI-3454: Use FileNameFilter to make test consistent
use the FileNameFilter when not passing down explit jar paths
Filter out ^. files when reading lists of files from directories

Signed-off-by: Koji Kawamura <ijokarumawak@apache.org>
2017-02-11 08:54:06 +09:00
Pierre Villard 4e4d14f86f NIFI-3139 Added host:port list and non empty EL validators in StandardValidators 2017-02-10 11:22:43 -05:00
Pierre Villard 93150d3efa
NIFI-3447 - PutSplunk - force connection close
This closes #1479.

Signed-off-by: Bryan Bende <bbende@apache.org>
2017-02-07 13:37:32 -05:00
Joe Skora 376af83a3d NIFI-3055 StandardRecordWriter Can Throw UTFDataFormatException
* Updated StandardRecordWriter, even though it is now deprecated to consider the encoding behavior of java.io.DataOutputStream.writeUTF() and truncate string values such that the UTF representation will not be longer than that DataOutputStream's 64K UTF format limit.
* Updated the new SchemaRecordWriter class to similarly truncate long Strings that will be written as UTF.
* Add tests to confirm handling of large UTF strings and various edge conditions of UTF string handling.

Signed-off-by: Mike Moser <mosermw@apache.org>

This closes #1469.
2017-02-03 20:52:32 +00:00
Koji Kawamura 7f0171ffa2
NIFI-3216: Add N signals to Wait/Notify
- Support counters at Wait/Notify processors so that NiFi flow can be
  configured to wait for N signals
- Extract Wait/Notify logics into WaitNotifyProtocol
- Added FragmentAttributes to manage commonly used fragment attributes
- Changed existing split processors to set 'fragment.identifier' and
  'fragment.count', so that Wait can use those to wait for all splits
get processed

This closes #1420.

Signed-off-by: Bryan Bende <bbende@apache.org>
2017-01-19 15:17:59 -05:00
Pierre Villard 7a2751bf5d NIFI-1962 - Fixed NPE in toDate() EL function
This closes #1409.

Signed-off-by: Koji Kawamura <ijokarumawak@apache.org>
2017-01-19 11:16:30 +09:00
Pierre Villard 3bb876eb83 NIFI-2908 Added TimeZone to toDate() and format() EL
This closes #1381.

Signed-off-by: Koji Kawamura <ijokarumawak@apache.org>
2017-01-17 10:36:47 +09:00
Joe Gresock 68057cb4af NIFI-3275: Correcting SocketChannelSender log warning message
This closes #1398.
2017-01-05 18:55:21 +01:00
Oleg Zhurakousky bba675a11d NIFI-3278 Fixed ArrayIndexOutOfBoundsException in TextLineDemarcator
NIFI-3278 addressed PR comments

This closes #1389
2017-01-04 15:52:23 -05:00
Pierre Villard 9b47961d1c
NIFI-3231 Added EL support to hostname and port in PutTCP/UDP
This closes #1361.

Signed-off-by: Bryan Bende <bbende@apache.org>
2017-01-03 12:09:19 -05:00
Pierre Villard be6bcf20ad
NIFI-2944 Check remote input hostname at startup.
Added unit test cases.

This closes #1379.

Signed-off-by: Andy LoPresto <alopresto@apache.org>
2017-01-02 20:25:03 -08:00
Koji Kawamura 908e7d3131
NIFI-2585: Add attributes to track s2s host and port
- Removed host and port field from Peer since the same information is
  available in PeerDescription
- Refactored variable names in SocketRemoteSiteListener to improve readability
- Changed how SocketRemoteSiteListener constructs PeerDescription
  instance. It used to use hard-coded 'localhost' as hostname, and
  getPort() which returns server's port. Since the peer is a remote peer,
  i.e the client, it should be client hostname and port.
- Added hostname resolution at DataTransferResource to make s2s.host
  value consistent with RAW transport. Without this, RAW uses hostname
  while HTTP uses IP address. It will be hard to be used from downstream flows.
- Replaced heavy use of mockito which was difficult to maintain, with
  nifi-mock
- Added SiteToSiteAttributes and more assertions in unit tests

This closes #1342.

Signed-off-by: Bryan Bende <bbende@apache.org>
2016-12-22 11:00:00 -05:00
Bryan Bende f7d761a28a
NIFI-2585 Moving attributes into loop in AbstractFlowFileServerProtocol, and also updating StandardRemoteGroupPort to apply the same attributes when doing a pull-based site-to-site.
Signed-off-by: Bryan Bende <bbende@apache.org>
2016-12-22 10:59:56 -05:00
Matt Burgess 21ed556691 NIFI-3206: Add ifElse function to Expression Language
This closes #1333

Signed-off-by: jpercivall <JPercivall@apache.org>
2016-12-16 15:13:01 -05:00
Mark Payne e59cf86656 NIFI-3188: Added unit test to test corner cases
This closes #1321.

Signed-off-by: Koji Kawamura <ijokarumawak@apache.org>
2016-12-14 10:57:11 +09:00
jpercivall e36b37692c NIFI-1582 added state to UpdateAttribute as well as updated a few parts that hadn't be touched in years (referenced the 'FlowFileMetadataEnhancer' processor'. Also added a 'NUMBER_VALIDATOR' to StandardValidators
NIFI-1582 removing the option to use cluster state

NIFI-1582 addressing Oleg's comments

NIFI-1582 No longer forcing numbers as the init value and adding getStateValue() to EL instead of using 'ATTRIBUTE_state'

NIFI-1582 Removing init state value

NIFI-1582 Adding documentation for the changes to Init State value

This closes #319
2016-12-06 16:52:02 -05:00
jpercivall 7633fe35c1 NIFI-3149 Adding proper literal support for number operators ('-' and '+') to ANTLR parser and UI highlighting
This closes #1298
2016-12-05 13:34:54 -05:00
jpercivall f0f75e7480 NIFI-3145 Rewriting double validation in NumberParsing
Adding more tests to TestQuery

NIFI-3145 Adding logic to handle lowercase hex values

This closes #1296
2016-12-05 11:04:33 -05:00
Mark Payne 8f8b8cdf46 NIFI-3071: Deprecated InputStreams & OutputStream sin org.apache.nifi.stream.io package in favor of using their Java counterparts 2016-12-05 09:29:19 -05:00
Koji Kawamura 7c5bd876bd NIFI-3026: Support multiple remote target URLs
- Added urls in addition to the existing url, to support multiple target
  URLs
- Backward compatibility is provided by returning the first url if
  multipe urls are specified, but component accessing the url doesn't
support multiple urls
- UI is not fully updated yet. Following UI components are planned to be updated
  by different commits
  - Search component: only the first URL is searchable and shown
  - Component status: RPG status shows only the first URL
  - Component action history: only the first URL is searchable and shown
  - Updated Search component to use URLs.

This closes #1208.
2016-12-02 14:01:39 -05:00
Mark Payne fff0148a0e NIFI-3129: When adding controller services to a snippet, ensure that we don't add the service multiple times, even when it's referenced by child process groups. This closes #1284 2016-11-30 13:07:51 -05:00
joewitt 92f17a995b NIFI-3100-rc2 prepare for next development iteration 2016-11-25 23:49:27 -05:00
joewitt 5536f690a8 NIFI-3100-rc2 prepare release nifi-1.1.0-RC2 2016-11-25 23:49:13 -05:00
Koji Kawamura a1ab5e844b NIFI-2729: This closes #1270. testSendSuccessWithProxy timeout in Travis
- Changed AtomicBoolean to CountDownLatch to avoid sleeping thread in
  some test cases
- Specified less number of threads for Jetty and LittleProxy than
  default to lower resource usage
- Added try catch for the specific gateway timeout case (504) so that
  test can pass even it happens while it fails with other errors
2016-11-25 19:41:15 -05:00
joewitt fb9cbccc38 NIFI-2954 This closes #1244. Moved StandardPropertyValidator to nifi-utils, documented scope/purpose of a few util libs, removed deps from nifi-utils. 2016-11-21 16:30:42 -05:00
Mark Payne 2ee66de1a6 NIFI-3066: Create unit test to reproduce bug that results in IllegalArgumentException: Cannot migrate FlowFiles from a Process Session to itself
NIFI-3066: Ensure that when a Bin is created, it is always created with its own new session

This closes #1245
2016-11-21 11:34:14 -05:00
Mark Payne 1be0871473 NIFI-2854: Refactor repositories and swap files to use schema-based serialization so that nifi can be rolled back to a previous version after an upgrade.
NIFI-2854: Incorporated PR review feedback

NIFI-2854: Implemented feedback from PR Review

NIFI-2854: Ensure that all resources are closed on CompressableRecordReader.close() even if an IOException is thrown when closing one of them

This closes #1202
2016-11-18 14:53:13 -05:00
jpercivall c4be800688 NIFI-2950 Adding support for whole number hex values and a fromRadix function
NIFI-2950 Fixing typo

This closes #1161
2016-11-17 07:27:51 -05:00
Bryan Rosander e5eda63705
NIFI-2943 - Toolkit uses JKS type over PKCS12 when creating truststore because non-Bouncy Castle providers cannot read certificates from PKCS12 truststore.
Peer review feedback (+2 squashed commits)
Squashed commits:
[0102c8e] NIFI-2943 - Peer review feedback
[9bcd495] NIFI-2943 - pkcs12 keystore improvements

1. loading pkcs12 keystores with bouncy castle everywhere
2. tls-toolkit client using jks truststore when keystore type is specified differently
3. tests

This closes #1165.

Signed-off-by: Andy LoPresto <alopresto@apache.org>
2016-11-16 17:13:10 -08:00
Koji Kawamura 13ea909122
NIFI-2851: Fixed CheckStyle error.
This closes #1215.

Signed-off-by: Andy LoPresto <alopresto@apache.org>
2016-11-14 00:44:16 -08:00
Mark Payne ad92474593 NIFI-2851: Added additional unit test to ensure correctness of demarcation when demarcator falls between buffered data
This closes #1116.
2016-11-11 15:45:40 -05:00
Oleg Zhurakousky 41f519e84c NIFI-2851 initial commit of perf improvements on SplitText
- introduced org.apache.nifi.stream.io.util.TextLineDemarcator
- refactored SplitText to use org.apache.nifi.stream.io.util.TextLineDemarcator
- updated SplitText's capability discription to provide more clarity around splits with headers.
2016-11-11 15:45:40 -05:00
Mark Payne c441a8696d NIFI-2850 This closes #1115. Added a migrate() method to ProcessSession and refactored BinFiles and MergeContent to use it 2016-11-09 16:25:03 -05:00
Bryan Bende d1d053725b NIFI-2909 Adding per-instance class loading capability through @RequiresInstanceClassLoading annotation
NIFI-1712 Applying per-instance class loading to HBaseClientService to allow specifying Phoenix Client JAR

-Refactoring the ClassLoading so that every processor, controller service, and reporting task gets an InstanceClassLoader with a parent of the NAR ClassLoader, and only components with @RequiresInstanceClassLoading will make a copy of the NAR ClassLoader resources, and addressing some review feedback

This closes #1156
2016-11-08 13:21:27 -05:00
Oleg Zhurakousky 5fd4a55791 NIFI-2778 added abilty to interrupt Lucene search
polishing

This closes #1138
2016-11-07 16:28:16 -05:00
James Wing a486fefb1e NIFI-2115 Detailed Version Info in About Box
* Java version and vendor
* OS name and version
* Release Tag
* Build revision (commit SHA), branch, and timestamp
* Handles formal releases, ad-hoc builds, and non-release source builds
* Standalone UI presence in About dialog, Summary -> System Diagnostics
* Cluster UI as Versions tab in Cluster dialog
* Reduce About Dialog Content
* Fix Missing Property Display Bugs
* Marking the build time as type string.
* This closes #583
2016-11-03 11:16:20 -04:00
jpercivall 1d74b5d3ce NIFI-2791 Adding 'math' expression language function
This closes #1157.
2016-10-25 19:45:38 +02:00
jpercivall e4a3e09643 NIFI-1662 Adding proper UI regex support for decimals in EL
This closes #1018
2016-10-24 10:31:16 -04:00
Matt Burgess 557e0b9f27 NIFI-1662: Added support for decimal literal in Expression Language 2016-10-24 10:20:21 -04:00
jpercivall 94ab999026 NIFI-1662 adding Expression Language decimal support 2016-10-24 10:20:21 -04:00
Andre F de Miranda 9b08f23b24
NIFI-1531 - Remove bogus .gitignore files from sub directories
This closes #1154.

Signed-off-by: Aldrin Piri <aldrin@apache.org>
2016-10-23 10:29:09 -04:00