[jira] [Commented] (NIFI-5186) Update UI to account for asynchronous validation

2018-05-22 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-5186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16484198#comment-16484198
 ] 

ASF GitHub Bot commented on NIFI-5186:
--

Github user scottyaslan commented on the issue:

https://github.com/apache/nifi/pull/2722
  
Thanks @mcgilman this has been merged to master.


> Update UI to account for asynchronous validation
> 
>
> Key: NIFI-5186
> URL: https://issues.apache.org/jira/browse/NIFI-5186
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core UI
>Reporter: Matt Gilman
>Assignee: Matt Gilman
>Priority: Blocker
> Fix For: 1.7.0
>
>
> This Jira is a follow up to NIFI-950. The new asynchronous validation 
> introduces a new state VALIDATING. This VALIDATING state will be entered 
> following any modifications (create, update) to the component (Processor, 
> Controller Service, Reporting Task). All component validation is done in the 
> background on a recurring interval. When obtaining the current state, we will 
> return the last known state unless it is VALIDATING as a result of a 
> modification. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5186) Update UI to account for asynchronous validation

2018-05-22 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-5186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16484195#comment-16484195
 ] 

ASF GitHub Bot commented on NIFI-5186:
--

Github user asfgit closed the pull request at:

https://github.com/apache/nifi/pull/2722


> Update UI to account for asynchronous validation
> 
>
> Key: NIFI-5186
> URL: https://issues.apache.org/jira/browse/NIFI-5186
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core UI
>Reporter: Matt Gilman
>Assignee: Matt Gilman
>Priority: Blocker
> Fix For: 1.7.0
>
>
> This Jira is a follow up to NIFI-950. The new asynchronous validation 
> introduces a new state VALIDATING. This VALIDATING state will be entered 
> following any modifications (create, update) to the component (Processor, 
> Controller Service, Reporting Task). All component validation is done in the 
> background on a recurring interval. When obtaining the current state, we will 
> return the last known state unless it is VALIDATING as a result of a 
> modification. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5186) Update UI to account for asynchronous validation

2018-05-22 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-5186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16484193#comment-16484193
 ] 

ASF subversion and git services commented on NIFI-5186:
---

Commit 568288dbcd143bb874d64417f0ecd1fe10dfee9e in nifi's branch 
refs/heads/master from [~mcgilman]
[ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=568288d ]

NIFI-5186:
- Updating UI to support showing when a component is validating.


> Update UI to account for asynchronous validation
> 
>
> Key: NIFI-5186
> URL: https://issues.apache.org/jira/browse/NIFI-5186
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core UI
>Reporter: Matt Gilman
>Assignee: Matt Gilman
>Priority: Blocker
> Fix For: 1.7.0
>
>
> This Jira is a follow up to NIFI-950. The new asynchronous validation 
> introduces a new state VALIDATING. This VALIDATING state will be entered 
> following any modifications (create, update) to the component (Processor, 
> Controller Service, Reporting Task). All component validation is done in the 
> background on a recurring interval. When obtaining the current state, we will 
> return the last known state unless it is VALIDATING as a result of a 
> modification. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5186) Update UI to account for asynchronous validation

2018-05-22 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-5186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16484194#comment-16484194
 ] 

ASF subversion and git services commented on NIFI-5186:
---

Commit 0305ca0fb8ed6968458d2ced8453da0bee12e0d5 in nifi's branch 
refs/heads/master from [~mcgilman]
[ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=0305ca0 ]

NIFI-5186:
- Addressing sort issue discovered during PR.

This closes #2722

Signed-off-by: Scott Aslan 


> Update UI to account for asynchronous validation
> 
>
> Key: NIFI-5186
> URL: https://issues.apache.org/jira/browse/NIFI-5186
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core UI
>Reporter: Matt Gilman
>Assignee: Matt Gilman
>Priority: Blocker
> Fix For: 1.7.0
>
>
> This Jira is a follow up to NIFI-950. The new asynchronous validation 
> introduces a new state VALIDATING. This VALIDATING state will be entered 
> following any modifications (create, update) to the component (Processor, 
> Controller Service, Reporting Task). All component validation is done in the 
> background on a recurring interval. When obtaining the current state, we will 
> return the last known state unless it is VALIDATING as a result of a 
> modification. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5186) Update UI to account for asynchronous validation

2018-05-22 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-5186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16484056#comment-16484056
 ] 

ASF GitHub Bot commented on NIFI-5186:
--

Github user joewitt commented on the issue:

https://github.com/apache/nifi/pull/2722
  
@markap14 understood and agree. I'm +1 on this.  Will also look at 
NIFI-5222 as well now



> Update UI to account for asynchronous validation
> 
>
> Key: NIFI-5186
> URL: https://issues.apache.org/jira/browse/NIFI-5186
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core UI
>Reporter: Matt Gilman
>Assignee: Matt Gilman
>Priority: Blocker
> Fix For: 1.7.0
>
>
> This Jira is a follow up to NIFI-950. The new asynchronous validation 
> introduces a new state VALIDATING. This VALIDATING state will be entered 
> following any modifications (create, update) to the component (Processor, 
> Controller Service, Reporting Task). All component validation is done in the 
> background on a recurring interval. When obtaining the current state, we will 
> return the last known state unless it is VALIDATING as a result of a 
> modification. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5186) Update UI to account for asynchronous validation

2018-05-22 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-5186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16484039#comment-16484039
 ] 

ASF GitHub Bot commented on NIFI-5186:
--

Github user mcgilman commented on a diff in the pull request:

https://github.com/apache/nifi/pull/2722#discussion_r189922272
  
--- Diff: 
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-settings.js
 ---
@@ -264,12 +264,20 @@
 var bType = 
nfCommon.isDefinedAndNotNull(b.component[sortDetails.columnId]) ? 
nfCommon.substringAfterLast(b.component[sortDetails.columnId], '.') : '';
 return aType === bType ? 0 : aType > bType ? 1 : -1;
 } else if (sortDetails.columnId === 'state') {
-var aState = 'Invalid';
-if (nfCommon.isEmpty(a.component.validationErrors)) {
+var aState;
+if (a.component.validationStatus === 'VALIDATING') {
+aState = 'Validating';
+} else if (a.component.validationStatus === 'INVALID') 
{
+aState = 'Invalid';
+} else {
 aState = 
nfCommon.isDefinedAndNotNull(a.component[sortDetails.columnId]) ? 
a.component[sortDetails.columnId] : '';
 }
-var bState = 'Invalid';
-if (nfCommon.isEmpty(b.component.validationErrors)) {
+var bState;
+if (a.component.validationStatus === 'VALIDATING') {
+bState = 'Validating';
--- End diff --

Yup lemme update.


> Update UI to account for asynchronous validation
> 
>
> Key: NIFI-5186
> URL: https://issues.apache.org/jira/browse/NIFI-5186
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core UI
>Reporter: Matt Gilman
>Assignee: Matt Gilman
>Priority: Blocker
> Fix For: 1.7.0
>
>
> This Jira is a follow up to NIFI-950. The new asynchronous validation 
> introduces a new state VALIDATING. This VALIDATING state will be entered 
> following any modifications (create, update) to the component (Processor, 
> Controller Service, Reporting Task). All component validation is done in the 
> background on a recurring interval. When obtaining the current state, we will 
> return the last known state unless it is VALIDATING as a result of a 
> modification. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5186) Update UI to account for asynchronous validation

2018-05-22 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-5186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16484038#comment-16484038
 ] 

ASF GitHub Bot commented on NIFI-5186:
--

Github user mcgilman commented on a diff in the pull request:

https://github.com/apache/nifi/pull/2722#discussion_r189922253
  
--- Diff: 
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-services.js
 ---
@@ -814,12 +814,20 @@
 var bType = 
nfCommon.isDefinedAndNotNull(b.component[sortDetails.columnId]) ? 
nfCommon.substringAfterLast(b.component[sortDetails.columnId], '.') : '';
 return aType === bType ? 0 : aType > bType ? 1 : -1;
 } else if (sortDetails.columnId === 'state') {
-var aState = 'Invalid';
-if (nfCommon.isEmpty(a.component.validationErrors)) {
+var aState;
+if (a.component.validationStatus === 'VALIDATING') {
+aState = 'Validating';
+} else if (a.component.validationStatus === 'INVALID') 
{
+aState = 'Invalid';
+} else {
 aState = 
nfCommon.isDefinedAndNotNull(a.component[sortDetails.columnId]) ? 
a.component[sortDetails.columnId] : '';
 }
-var bState = 'Invalid';
-if (nfCommon.isEmpty(b.component.validationErrors)) {
+var bState;
+if (a.component.validationStatus === 'VALIDATING') {
--- End diff --

Yup lemme update.


> Update UI to account for asynchronous validation
> 
>
> Key: NIFI-5186
> URL: https://issues.apache.org/jira/browse/NIFI-5186
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core UI
>Reporter: Matt Gilman
>Assignee: Matt Gilman
>Priority: Blocker
> Fix For: 1.7.0
>
>
> This Jira is a follow up to NIFI-950. The new asynchronous validation 
> introduces a new state VALIDATING. This VALIDATING state will be entered 
> following any modifications (create, update) to the component (Processor, 
> Controller Service, Reporting Task). All component validation is done in the 
> background on a recurring interval. When obtaining the current state, we will 
> return the last known state unless it is VALIDATING as a result of a 
> modification. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5186) Update UI to account for asynchronous validation

2018-05-22 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-5186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16484030#comment-16484030
 ] 

ASF GitHub Bot commented on NIFI-5186:
--

Github user scottyaslan commented on a diff in the pull request:

https://github.com/apache/nifi/pull/2722#discussion_r189688839
  
--- Diff: 
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-services.js
 ---
@@ -814,12 +814,20 @@
 var bType = 
nfCommon.isDefinedAndNotNull(b.component[sortDetails.columnId]) ? 
nfCommon.substringAfterLast(b.component[sortDetails.columnId], '.') : '';
 return aType === bType ? 0 : aType > bType ? 1 : -1;
 } else if (sortDetails.columnId === 'state') {
-var aState = 'Invalid';
-if (nfCommon.isEmpty(a.component.validationErrors)) {
+var aState;
+if (a.component.validationStatus === 'VALIDATING') {
+aState = 'Validating';
+} else if (a.component.validationStatus === 'INVALID') 
{
+aState = 'Invalid';
+} else {
 aState = 
nfCommon.isDefinedAndNotNull(a.component[sortDetails.columnId]) ? 
a.component[sortDetails.columnId] : '';
 }
-var bState = 'Invalid';
-if (nfCommon.isEmpty(b.component.validationErrors)) {
+var bState;
+if (a.component.validationStatus === 'VALIDATING') {
--- End diff --

should this be checking b.component.validationStatus?


> Update UI to account for asynchronous validation
> 
>
> Key: NIFI-5186
> URL: https://issues.apache.org/jira/browse/NIFI-5186
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core UI
>Reporter: Matt Gilman
>Assignee: Matt Gilman
>Priority: Blocker
> Fix For: 1.7.0
>
>
> This Jira is a follow up to NIFI-950. The new asynchronous validation 
> introduces a new state VALIDATING. This VALIDATING state will be entered 
> following any modifications (create, update) to the component (Processor, 
> Controller Service, Reporting Task). All component validation is done in the 
> background on a recurring interval. When obtaining the current state, we will 
> return the last known state unless it is VALIDATING as a result of a 
> modification. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5186) Update UI to account for asynchronous validation

2018-05-22 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-5186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16484031#comment-16484031
 ] 

ASF GitHub Bot commented on NIFI-5186:
--

Github user scottyaslan commented on a diff in the pull request:

https://github.com/apache/nifi/pull/2722#discussion_r189689454
  
--- Diff: 
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-settings.js
 ---
@@ -264,12 +264,20 @@
 var bType = 
nfCommon.isDefinedAndNotNull(b.component[sortDetails.columnId]) ? 
nfCommon.substringAfterLast(b.component[sortDetails.columnId], '.') : '';
 return aType === bType ? 0 : aType > bType ? 1 : -1;
 } else if (sortDetails.columnId === 'state') {
-var aState = 'Invalid';
-if (nfCommon.isEmpty(a.component.validationErrors)) {
+var aState;
+if (a.component.validationStatus === 'VALIDATING') {
+aState = 'Validating';
+} else if (a.component.validationStatus === 'INVALID') 
{
+aState = 'Invalid';
+} else {
 aState = 
nfCommon.isDefinedAndNotNull(a.component[sortDetails.columnId]) ? 
a.component[sortDetails.columnId] : '';
 }
-var bState = 'Invalid';
-if (nfCommon.isEmpty(b.component.validationErrors)) {
+var bState;
+if (a.component.validationStatus === 'VALIDATING') {
+bState = 'Validating';
--- End diff --

should this be checking b.component.validationStatus


> Update UI to account for asynchronous validation
> 
>
> Key: NIFI-5186
> URL: https://issues.apache.org/jira/browse/NIFI-5186
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core UI
>Reporter: Matt Gilman
>Assignee: Matt Gilman
>Priority: Blocker
> Fix For: 1.7.0
>
>
> This Jira is a follow up to NIFI-950. The new asynchronous validation 
> introduces a new state VALIDATING. This VALIDATING state will be entered 
> following any modifications (create, update) to the component (Processor, 
> Controller Service, Reporting Task). All component validation is done in the 
> background on a recurring interval. When obtaining the current state, we will 
> return the last known state unless it is VALIDATING as a result of a 
> modification. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5186) Update UI to account for asynchronous validation

2018-05-22 Thread Mark Payne (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-5186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16483881#comment-16483881
 ] 

Mark Payne commented on NIFI-5186:
--

Create Pull Request from wrong branch/Jira number. Closed pull request and 
re-crated against correct one.

> Update UI to account for asynchronous validation
> 
>
> Key: NIFI-5186
> URL: https://issues.apache.org/jira/browse/NIFI-5186
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core UI
>Reporter: Matt Gilman
>Assignee: Matt Gilman
>Priority: Blocker
> Fix For: 1.7.0
>
>
> This Jira is a follow up to NIFI-950. The new asynchronous validation 
> introduces a new state VALIDATING. This VALIDATING state will be entered 
> following any modifications (create, update) to the component (Processor, 
> Controller Service, Reporting Task). All component validation is done in the 
> background on a recurring interval. When obtaining the current state, we will 
> return the last known state unless it is VALIDATING as a result of a 
> modification. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5186) Update UI to account for asynchronous validation

2018-05-22 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-5186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16483877#comment-16483877
 ] 

ASF GitHub Bot commented on NIFI-5186:
--

Github user markap14 closed the pull request at:

https://github.com/apache/nifi/pull/2730


> Update UI to account for asynchronous validation
> 
>
> Key: NIFI-5186
> URL: https://issues.apache.org/jira/browse/NIFI-5186
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core UI
>Reporter: Matt Gilman
>Assignee: Matt Gilman
>Priority: Blocker
> Fix For: 1.7.0
>
>
> This Jira is a follow up to NIFI-950. The new asynchronous validation 
> introduces a new state VALIDATING. This VALIDATING state will be entered 
> following any modifications (create, update) to the component (Processor, 
> Controller Service, Reporting Task). All component validation is done in the 
> background on a recurring interval. When obtaining the current state, we will 
> return the last known state unless it is VALIDATING as a result of a 
> modification. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5186) Update UI to account for asynchronous validation

2018-05-22 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-5186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16483872#comment-16483872
 ] 

ASF GitHub Bot commented on NIFI-5186:
--

GitHub user markap14 opened a pull request:

https://github.com/apache/nifi/pull/2730

NIFI-5186: Prevent validating components multiple times for each update

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-5186

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/nifi/pull/2730.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 #2730


commit ae6b575a7b08ab15d34ca6b06bb9e4179b2f3187
Author: Mark Payne 
Date:   2018-05-22T12:32:40Z

NIFI-5186: Prevent validating components multiple times for each update




> Update UI to account for asynchronous validation
> 
>
> Key: NIFI-5186
> URL: https://issues.apache.org/jira/browse/NIFI-5186
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core UI
>Reporter: Matt Gilman
>Assignee: Matt Gilman
>Priority: Blocker
> Fix For: 1.7.0
>
>
> This Jira is a follow up to NIFI-950. The new asynchronous validation 
> introduces a new state VALIDATING. This VALIDATING state will be entered 
> following any modifications (create, update) to the component (Processor, 
> Controller Service, Reporting Task). All component validation is done in the 
> background on a recurring interval. When obtaining the current state, we will 
> return the last known state unless it is VALIDATING as a result of a 
> modification. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5186) Update UI to account for asynchronous validation

2018-05-21 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-5186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16482997#comment-16482997
 ] 

ASF GitHub Bot commented on NIFI-5186:
--

Github user mcgilman commented on a diff in the pull request:

https://github.com/apache/nifi/pull/2722#discussion_r189701115
  
--- Diff: 
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/manager/StatusMerger.java
 ---
@@ -415,13 +415,15 @@ public static void merge(final 
ProcessorStatusSnapshotDTO target, final boolean
 target.setType(toMerge.getType());
 }
 
-// if the status to merge is invalid allow it to take precedence. 
whether the
+// if the status to merge is validating/invalid allow it to take 
precedence. whether the
 // processor run status is disabled/stopped/running is part of the 
flow configuration
-// and should not differ amongst nodes. however, whether a 
processor is invalid
+// and should not differ amongst nodes. however, whether a 
processor is validating/invalid
 // can be driven by environmental conditions. this check allows 
any of those to
 // take precedence over the configured run status.
-if (RunStatus.Invalid.name().equals(toMerge.getRunStatus())) {
-target.setRunStatus(RunStatus.Invalid.name());
+if 
(RunStatus.Validating.toString().equals(toMerge.getRunStatus())) {
--- End diff --

I was just addressing an inconsistency because in the `DtoFactory` we 
populate run status with the value from `toString()`.


> Update UI to account for asynchronous validation
> 
>
> Key: NIFI-5186
> URL: https://issues.apache.org/jira/browse/NIFI-5186
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core UI
>Reporter: Matt Gilman
>Assignee: Matt Gilman
>Priority: Blocker
> Fix For: 1.7.0
>
>
> This Jira is a follow up to NIFI-950. The new asynchronous validation 
> introduces a new state VALIDATING. This VALIDATING state will be entered 
> following any modifications (create, update) to the component (Processor, 
> Controller Service, Reporting Task). All component validation is done in the 
> background on a recurring interval. When obtaining the current state, we will 
> return the last known state unless it is VALIDATING as a result of a 
> modification. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5186) Update UI to account for asynchronous validation

2018-05-21 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-5186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16482928#comment-16482928
 ] 

ASF GitHub Bot commented on NIFI-5186:
--

Github user markap14 commented on the issue:

https://github.com/apache/nifi/pull/2722
  
@joewitt I think I understand now what you were seeing. If I create two 
different DebugFlow processors, each with a validation pause of 10 seconds, and 
then I create an UpdateAttribute and configure each of them in quick 
succession, I see UpdateAttribute in a 'Validating' state for many seconds. I 
have created a new JIRA for this, though, NIFI-5222, as I don't think it's 
something that should really block merging this PR in. The issue appears to be 
that we kick off validation 3 times each time that we click "Update" and so if 
we update both DebugFlow processors, we end up kicking off 6 validation tasks 
instead of 2, and that ends up blocking UpdateAttribute since we have only 5 
threads in the pool.


> Update UI to account for asynchronous validation
> 
>
> Key: NIFI-5186
> URL: https://issues.apache.org/jira/browse/NIFI-5186
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core UI
>Reporter: Matt Gilman
>Assignee: Matt Gilman
>Priority: Blocker
> Fix For: 1.7.0
>
>
> This Jira is a follow up to NIFI-950. The new asynchronous validation 
> introduces a new state VALIDATING. This VALIDATING state will be entered 
> following any modifications (create, update) to the component (Processor, 
> Controller Service, Reporting Task). All component validation is done in the 
> background on a recurring interval. When obtaining the current state, we will 
> return the last known state unless it is VALIDATING as a result of a 
> modification. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5186) Update UI to account for asynchronous validation

2018-05-21 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-5186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16482752#comment-16482752
 ] 

ASF GitHub Bot commented on NIFI-5186:
--

Github user markap14 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/2722#discussion_r189656654
  
--- Diff: 
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/manager/StatusMerger.java
 ---
@@ -415,13 +415,15 @@ public static void merge(final 
ProcessorStatusSnapshotDTO target, final boolean
 target.setType(toMerge.getType());
 }
 
-// if the status to merge is invalid allow it to take precedence. 
whether the
+// if the status to merge is validating/invalid allow it to take 
precedence. whether the
 // processor run status is disabled/stopped/running is part of the 
flow configuration
-// and should not differ amongst nodes. however, whether a 
processor is invalid
+// and should not differ amongst nodes. however, whether a 
processor is validating/invalid
 // can be driven by environmental conditions. this check allows 
any of those to
 // take precedence over the configured run status.
-if (RunStatus.Invalid.name().equals(toMerge.getRunStatus())) {
-target.setRunStatus(RunStatus.Invalid.name());
+if 
(RunStatus.Validating.toString().equals(toMerge.getRunStatus())) {
--- End diff --

It's probably best to use .name() instead of .toString(), as toString() 
could potentially change at any time, whereas the name never will


> Update UI to account for asynchronous validation
> 
>
> Key: NIFI-5186
> URL: https://issues.apache.org/jira/browse/NIFI-5186
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core UI
>Reporter: Matt Gilman
>Assignee: Matt Gilman
>Priority: Blocker
> Fix For: 1.7.0
>
>
> This Jira is a follow up to NIFI-950. The new asynchronous validation 
> introduces a new state VALIDATING. This VALIDATING state will be entered 
> following any modifications (create, update) to the component (Processor, 
> Controller Service, Reporting Task). All component validation is done in the 
> background on a recurring interval. When obtaining the current state, we will 
> return the last known state unless it is VALIDATING as a result of a 
> modification. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5186) Update UI to account for asynchronous validation

2018-05-21 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-5186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16482663#comment-16482663
 ] 

ASF GitHub Bot commented on NIFI-5186:
--

Github user markap14 commented on the issue:

https://github.com/apache/nifi/pull/2722
  
@joewitt re: the unit test failure, I don't believe that it's actually 
related to the previous PR necessarily, but is just a timing issue that 
happened to trigger here. We could certainly raise the timeout used - it was 
waiting up to 2 seconds for the processor state to become STOPPED in the unit 
test. We could certainly raise that to 10 seconds or so. I think the timeout 
chosen was fairly arbitrary and increasing it would only increase the amount of 
time that the tests takes to complete when needed to. If the state transitions 
to STOPPED after 25 milliseconds then that's all that it'll wait.


> Update UI to account for asynchronous validation
> 
>
> Key: NIFI-5186
> URL: https://issues.apache.org/jira/browse/NIFI-5186
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core UI
>Reporter: Matt Gilman
>Assignee: Matt Gilman
>Priority: Blocker
> Fix For: 1.7.0
>
>
> This Jira is a follow up to NIFI-950. The new asynchronous validation 
> introduces a new state VALIDATING. This VALIDATING state will be entered 
> following any modifications (create, update) to the component (Processor, 
> Controller Service, Reporting Task). All component validation is done in the 
> background on a recurring interval. When obtaining the current state, we will 
> return the last known state unless it is VALIDATING as a result of a 
> modification. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5186) Update UI to account for asynchronous validation

2018-05-21 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-5186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16482524#comment-16482524
 ] 

ASF GitHub Bot commented on NIFI-5186:
--

Github user markap14 commented on the issue:

https://github.com/apache/nifi/pull/2722
  
@joewitt your observations are very interesting - i am not seeing that at 
all. I created a DebugFlow with a validation pause of 10 seconds. Then I 
created an update attribute. UpdateAttribute was immediately invalid. I 
triggering validation to occur on DebugFlow and then UpdateAttribute and saw 
instance responses for UpdateAttribute's validation.

So to answer your questions specifically:
1) We use a thread pool with 5 threads.
2) Any time a component changes (specifically, if a property is set, 
annotation data is set, incoming connections or outgoing connections are set) 
then we initiate validation for the component.

Of note, when you get back the "Validating" icon, that icon will not go 
away until the status is refreshed, which happens by default every 30 seconds. 
If you right-click on the canvas and refresh, that will also refresh it. Just 
wanted to make sure that you did refresh the canvas in that time interval?


> Update UI to account for asynchronous validation
> 
>
> Key: NIFI-5186
> URL: https://issues.apache.org/jira/browse/NIFI-5186
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core UI
>Reporter: Matt Gilman
>Assignee: Matt Gilman
>Priority: Blocker
> Fix For: 1.7.0
>
>
> This Jira is a follow up to NIFI-950. The new asynchronous validation 
> introduces a new state VALIDATING. This VALIDATING state will be entered 
> following any modifications (create, update) to the component (Processor, 
> Controller Service, Reporting Task). All component validation is done in the 
> background on a recurring interval. When obtaining the current state, we will 
> return the last known state unless it is VALIDATING as a result of a 
> modification. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5186) Update UI to account for asynchronous validation

2018-05-18 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-5186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16481191#comment-16481191
 ] 

ASF GitHub Bot commented on NIFI-5186:
--

Github user joewitt commented on the issue:

https://github.com/apache/nifi/pull/2722
  
@markap14 @mcgilman in looking at this from a user point of view a couple 
thoughts:

When validating things which are slow and things which are fast it appears 
fast things can be bottlenecked behind fast things.  This makes sense but can 
we do better?  For instance I have a DebugFlow with a 10 sec validation cycle 
and an UpdateAttribute processor.  it took 10 secs or more for UpdateAttribute 
to come back as valid presumably because it was waiting for the next validation 
cycle and then perhaps it had to wait behind the slow DebugFlow proc.
Question: Do we have 1 thread or more than one thread for validation?  Or 
is it just a task we fire off in the typical timer task thread pool?
Question: Can we force a validation cycle whenever some component is change 
or more to the point could we initiate 'that component' which changed to be 
validated.




> Update UI to account for asynchronous validation
> 
>
> Key: NIFI-5186
> URL: https://issues.apache.org/jira/browse/NIFI-5186
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core UI
>Reporter: Matt Gilman
>Assignee: Matt Gilman
>Priority: Blocker
> Fix For: 1.7.0
>
>
> This Jira is a follow up to NIFI-950. The new asynchronous validation 
> introduces a new state VALIDATING. This VALIDATING state will be entered 
> following any modifications (create, update) to the component (Processor, 
> Controller Service, Reporting Task). All component validation is done in the 
> background on a recurring interval. When obtaining the current state, we will 
> return the last known state unless it is VALIDATING as a result of a 
> modification. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5186) Update UI to account for asynchronous validation

2018-05-18 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-5186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16481169#comment-16481169
 ] 

ASF GitHub Bot commented on NIFI-5186:
--

Github user joewitt commented on the issue:

https://github.com/apache/nifi/pull/2722
  
@mcgilman @markap14 this test finding is related to Mark's preceding PR for 
this most likely but 

`[ERROR] Tests run: 15, Failures: 1, Errors: 0, Skipped: 2, Time elapsed: 
16.555 s <<< FAILURE! - in 
org.apache.nifi.controller.scheduling.TestProcessorLifecycle
[ERROR] 
validateProcessorCanBeStoppedWhenOnTriggerThrowsException(org.apache.nifi.controller.scheduling.TestProcessorLifecycle)
  Time elapsed: 3.11 s  <<< FAILURE!
java.lang.AssertionError
at 
org.apache.nifi.controller.scheduling.TestProcessorLifecycle.assertCondition(TestProcessorLifecycle.java:116)
at 
org.apache.nifi.controller.scheduling.TestProcessorLifecycle.validateProcessorCanBeStoppedWhenOnTriggerThrowsException(TestProcessorLifecycle.java:496)

`

Otherwise, I'm doing some functional testing now and obviously 
contrib-check is good.  This is really cool and will greatly aid flow 
performance for large scale flows or user code in validation that doesn't 
behave nicely.


> Update UI to account for asynchronous validation
> 
>
> Key: NIFI-5186
> URL: https://issues.apache.org/jira/browse/NIFI-5186
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core UI
>Reporter: Matt Gilman
>Assignee: Matt Gilman
>Priority: Blocker
> Fix For: 1.7.0
>
>
> This Jira is a follow up to NIFI-950. The new asynchronous validation 
> introduces a new state VALIDATING. This VALIDATING state will be entered 
> following any modifications (create, update) to the component (Processor, 
> Controller Service, Reporting Task). All component validation is done in the 
> background on a recurring interval. When obtaining the current state, we will 
> return the last known state unless it is VALIDATING as a result of a 
> modification. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5186) Update UI to account for asynchronous validation

2018-05-18 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-5186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16481054#comment-16481054
 ] 

ASF GitHub Bot commented on NIFI-5186:
--

GitHub user mcgilman opened a pull request:

https://github.com/apache/nifi/pull/2722

NIFI-5186: Updating UI to support asynchronous validation

NIFI-5186:
- Updating UI to support showing when a component is validating.
- Code clean up.

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/mcgilman/nifi NIFI-5186

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/nifi/pull/2722.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 #2722


commit b4d3a48ca4b7081c272ca01d386ed7962e66f6ee
Author: Matt Gilman 
Date:   2018-05-18T18:56:10Z

NIFI-5186:
- Updating UI to support showing when a component is validating.




> Update UI to account for asynchronous validation
> 
>
> Key: NIFI-5186
> URL: https://issues.apache.org/jira/browse/NIFI-5186
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core UI
>Reporter: Matt Gilman
>Assignee: Matt Gilman
>Priority: Blocker
> Fix For: 1.7.0
>
>
> This Jira is a follow up to NIFI-950. The new asynchronous validation 
> introduces a new state VALIDATING. This VALIDATING state will be entered 
> following any modifications (create, update) to the component (Processor, 
> Controller Service, Reporting Task). All component validation is done in the 
> background on a recurring interval. When obtaining the current state, we will 
> return the last known state unless it is VALIDATING as a result of a 
> modification. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)