[jira] [Commented] (NIFI-5186) Update UI to account for asynchronous validation
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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 PayneDate: 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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 GilmanDate: 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)