GitHub user markap14 opened a pull request:
https://github.com/apache/nifi/pull/2693
NIFI-950: Make component validation asynchronous
This PR addresses NIFI-950 as well as a handful of other related JIRAs. I
used a single PR because a lot of the solutions to the issues built upon one
another and because the intent of this PR is basically to make clustering more
stable and to make the UI feel less sluggish when clustered.
Thank you for submitting a contribution to Apache NiFi.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
### For all changes:
- [ ] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?
- [ ] Does your PR title start with NIFI- where is the JIRA number
you are trying to resolve? Pay particular attention to the hyphen "-" character.
- [ ] Has your PR been rebased against the latest commit within the target
branch (typically master)?
- [ ] Is your initial contribution a single, squashed commit?
### For code changes:
- [ ] Have you ensured that the full suite of tests is executed via mvn
-Pcontrib-check clean install at the root nifi folder?
- [ ] Have you written or updated unit tests to verify your changes?
- [ ] If adding new dependencies to the code, are these dependencies
licensed in a way that is compatible for inclusion under [ASF
2.0](http://www.apache.org/legal/resolved.html#category-a)?
- [ ] If applicable, have you updated the LICENSE file, including the main
LICENSE file under nifi-assembly?
- [ ] If applicable, have you updated the NOTICE file, including the main
NOTICE file found under nifi-assembly?
- [ ] If adding new Properties, have you added .displayName in addition to
.name (programmatic access) for each of the new properties?
### For documentation related changes:
- [ ] Have you ensured that format looks appropriate for the output in
which it is rendered?
### Note:
Please ensure that once the PR is submitted, you check travis-ci for build
issues and submit an update to your PR as soon as possible.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/markap14/nifi NIFI-950
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/nifi/pull/2693.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #2693
commit b155a7474e98eb597b2417fef276a6bcddf18d78
Author: Mark Payne
Date: 2018-04-11T19:36:54Z
NIFI-950: Make component validation asynchronous
NIFI-950: Still seeing some slow response times when instantiating a large
template in cluster mode so making some minor tweaks based on the results of
CPU profiling
NIFI-5112: Refactored FlowSerializer so that it creates the desired
intermediate data model that can be serialized, separate from serializing. This
allows us to hold the FlowController's Read Lock only while creating the data
model, not while actually serializing the data. Configured Jersey Client in
ThreadPoolRequestReplicator not to look for features using the Service Loader
for every request. Updated Template object to hold a DOM Node that represents
the template contents instead of having to serialize the DTO, then parse the
serialized form as a DOM object each time that it needs to be serialized.
NIFI-5112: Change ThreadPoolRequestReplicator to use OkHttp client instead
of Jersey Client
NIFI-5111: Ensure that if a node is no longer cluster coordinator, that it
clears any stale heartbeats.
NIFI-5110: Notify StandardProcessScheduler when a component is removed so
that it will clean up any resource related to component lifecycle.
commit be01d8e1d2fc985a852ee849bdb4c39639642ae1
Author: Mark Payne
Date: 2018-04-24T19:52:36Z
NIFI-950: Avoid gathering the Status objects for entire flow when we don't
need them; removed unnecessary code
commit 1751d276813fa52fa98f9656c712931c130e66f3
Author: Mark Payne
Date: 2018-05-03T20:07:10Z
NIFI-950: Bug fixes
commit d6e29be47b9befa218df4ecb0af33d7b15df6be2
Author: Mark Payne
Date: 2018-05-08T17:35:44Z
NIFI-950: Bug fix; added validation status to ProcessorDTO,
ControllerServiceDTO, ReportingTaskDTO; updated DebugFlow to allow for pause
time to be set in the customValidate method for testing functionality
commit 352bc4c9eb880f29cb2aefcb29539923f00ad89b
Author: Mark Payne
Date: 2018-05-08T19:59:43Z
NIFI-950: Addressing test failures
commit bc800b8dafcb093089382eba5077079d389121d2
Author: Mark Payne
Date: 2018-05-09T14:02:03Z
NIFI-950: Bug fixes
---