[jira] [Commented] (NIFI-694) If Enabling Controller Service fails, no indication is provided to user
[ https://issues.apache.org/jira/browse/NIFI-694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14610778#comment-14610778 ] ASF subversion and git services commented on NIFI-694: -- Commit 4fd1e9494e41bea198dabedacee16ed018a3a7b7 in incubator-nifi's branch refs/heads/NIFI-724 from [~mcgilman] [ https://git-wip-us.apache.org/repos/asf?p=incubator-nifi.git;h=4fd1e94 ] NIFI-694: - Fixing bug when clearing bulletins from the reporting task table. - Allowed ENABLING state to trigger transition to next step of the enable/disable request. If Enabling Controller Service fails, no indication is provided to user --- Key: NIFI-694 URL: https://issues.apache.org/jira/browse/NIFI-694 Project: Apache NiFi Issue Type: Bug Components: Core Framework, Core UI Reporter: Mark Payne Fix For: 0.2.0 To replicate the issue: 1. Add a DBCPService controller service. 2. Configure service. For the Driver Url use file://tmp/non-existent-file or use an invalid Driver Class Name. 3. Click Apply. 4. Click Enable. The UI will show the spinner indefinitely, as the service will keep failing to enable because it throws Exceptions from its @OnEnabled method. The UI should provide some sort of indication that this is occurring. Otherwise, it appears to the user that the system is non-responsive. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (NIFI-724) Controller Services and Reporting Tasks should be able to emit bulletins
[ https://issues.apache.org/jira/browse/NIFI-724?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14610629#comment-14610629 ] ASF subversion and git services commented on NIFI-724: -- Commit e7c0461b15bff045d68e7ae8814eda2073cba209 in incubator-nifi's branch refs/heads/NIFI-724 from [~markap14] [ https://git-wip-us.apache.org/repos/asf?p=incubator-nifi.git;h=e7c0461 ] NIFI-724: Ensure that bulletins generated for reporting tasks and controller services are shown at Controller level as well as component level Controller Services and Reporting Tasks should be able to emit bulletins Key: NIFI-724 URL: https://issues.apache.org/jira/browse/NIFI-724 Project: Apache NiFi Issue Type: Improvement Components: Core Framework Reporter: Mark Payne Assignee: Mark Payne Fix For: 0.2.0 -- This message was sent by Atlassian JIRA (v6.3.4#6332)
incubator-nifi git commit: NIFI-724: Ensure that bulletins generated for reporting tasks and controller services are shown at Controller level as well as component level
Repository: incubator-nifi Updated Branches: refs/heads/NIFI-724 59aa8ffe1 - e7c0461b1 NIFI-724: Ensure that bulletins generated for reporting tasks and controller services are shown at Controller level as well as component level Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/e7c0461b Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/e7c0461b Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/e7c0461b Branch: refs/heads/NIFI-724 Commit: e7c0461b15bff045d68e7ae8814eda2073cba209 Parents: 59aa8ff Author: Mark Payne marka...@hotmail.com Authored: Wed Jul 1 12:54:18 2015 -0400 Committer: Mark Payne marka...@hotmail.com Committed: Wed Jul 1 12:54:18 2015 -0400 -- .../nifi/events/VolatileBulletinRepository.java | 105 ++- 1 file changed, 78 insertions(+), 27 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e7c0461b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/events/VolatileBulletinRepository.java -- diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/events/VolatileBulletinRepository.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/events/VolatileBulletinRepository.java index c18fffd..8aeb34d 100644 --- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/events/VolatileBulletinRepository.java +++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/events/VolatileBulletinRepository.java @@ -36,6 +36,8 @@ public class VolatileBulletinRepository implements BulletinRepository { private static final int CONTROLLER_BUFFER_SIZE = 10; private static final int COMPONENT_BUFFER_SIZE = 5; private static final String CONTROLLER_BULLETIN_STORE_KEY = CONTROLLER; +private static final String SERVICE_BULLETIN_STORE_KEY = SERVICE; +private static final String REPORTING_TASK_BULLETIN_STORE_KEY = REPORTING_TASK; private final ConcurrentMapString, ConcurrentMapString, RingBufferBulletin bulletinStoreMap = new ConcurrentHashMap(); private volatile BulletinProcessingStrategy processingStrategy = new DefaultBulletinProcessingStrategy(); @@ -170,18 +172,39 @@ public class VolatileBulletinRepository implements BulletinRepository { public ListBulletin findBulletinsForController(final int max) { final long fiveMinutesAgo = System.currentTimeMillis() - TimeUnit.MINUTES.toMillis(5); -final ConcurrentMapString, RingBufferBulletin componentMap = bulletinStoreMap.get(CONTROLLER_BULLETIN_STORE_KEY); -if (componentMap == null) { -return Collections.BulletinemptyList(); -} - -final RingBufferBulletin buffer = componentMap.get(CONTROLLER_BULLETIN_STORE_KEY); -return buffer == null ? Collections.BulletinemptyList() : buffer.getSelectedElements(new FilterBulletin() { +final FilterBulletin filter = new FilterBulletin() { @Override public boolean select(final Bulletin bulletin) { return bulletin.getTimestamp().getTime() = fiveMinutesAgo; } -}, max); +}; + +final ListBulletin controllerBulletins = new ArrayList(); + +final ConcurrentMapString, RingBufferBulletin controllerBulletinMap = bulletinStoreMap.get(CONTROLLER_BULLETIN_STORE_KEY); +if (controllerBulletinMap != null) { +final RingBufferBulletin buffer = controllerBulletinMap.get(CONTROLLER_BULLETIN_STORE_KEY); +if (buffer != null) { +controllerBulletins.addAll(buffer.getSelectedElements(filter, max)); +} +} + +for (final String key : new String[] { SERVICE_BULLETIN_STORE_KEY, REPORTING_TASK_BULLETIN_STORE_KEY }) { +final ConcurrentMapString, RingBufferBulletin bulletinMap = bulletinStoreMap.get(key); +if (bulletinMap != null) { +for (final RingBufferBulletin buffer : bulletinMap.values()) { + controllerBulletins.addAll(buffer.getSelectedElements(filter, max)); +} +} +} + +// We only want the newest bulletin, so we sort based on time and take the top 'max' entries +Collections.sort(controllerBulletins); +if (controllerBulletins.size() max) { +return controllerBulletins.subList(0, max); +} + +return controllerBulletins; } /** @@ -203,7 +226,7 @@ public class
incubator-nifi git commit: NIFI-694: - Fixing bug when clearing bulletins from the reporting task table. - Allowed ENABLING state to trigger transition to next step of the enable/disable request.
Repository: incubator-nifi Updated Branches: refs/heads/NIFI-724 e7c0461b1 - 4fd1e9494 NIFI-694: - Fixing bug when clearing bulletins from the reporting task table. - Allowed ENABLING state to trigger transition to next step of the enable/disable request. Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/4fd1e949 Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/4fd1e949 Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/4fd1e949 Branch: refs/heads/NIFI-724 Commit: 4fd1e9494e41bea198dabedacee16ed018a3a7b7 Parents: e7c0461 Author: Matt Gilman matt.c.gil...@gmail.com Authored: Wed Jul 1 14:25:12 2015 -0400 Committer: Matt Gilman matt.c.gil...@gmail.com Committed: Wed Jul 1 14:25:12 2015 -0400 -- .../src/main/webapp/js/nf/canvas/nf-controller-service.js | 6 +++--- .../nifi-web-ui/src/main/webapp/js/nf/canvas/nf-settings.js| 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4fd1e949/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-service.js -- diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-service.js b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-service.js index efcf9fb..078064a 100644 --- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-service.js +++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-service.js @@ -591,9 +591,9 @@ nf.ControllerService = (function () { } } -// the condition is met once the service is ENABLED/DISABLED +// the condition is met once the service is (ENABLING or ENABLED)/DISABLED if (enabled) { -return service.state === 'ENABLED'; +return service.state === 'ENABLING' || service.state === 'ENABLED'; } else { return service.state === 'DISABLED'; } @@ -828,7 +828,7 @@ nf.ControllerService = (function () { var notEnabled = false; $.each(referencingComponents, function(_, referencingComponent) { if (referencingComponent.referenceType === 'ControllerService') { -if (referencingComponent.state !== 'ENABLED') { +if (referencingComponent.state !== 'ENABLING' referencingComponent.state !== 'ENABLED') { notEnabled = true; } http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4fd1e949/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-settings.js -- diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-settings.js b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-settings.js index 3715110..476f34b 100644 --- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-settings.js +++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-settings.js @@ -1741,7 +1741,7 @@ nf.Settings = (function () { // if there are no bulletins clear all var reportingTasks = reportingTasksData.getItems(); $.each(reportingTasks, function(_, reportingTask) { -controllerServicesData.updateItem(reportingTask.id, $.extend(reportingTask, { +reportingTasksData.updateItem(reportingTask.id, $.extend(reportingTask, { bulletins: [] })); });
[jira] [Commented] (NIFI-731) If content repo is unable to destroy content as fast as it is generated, nifi performance becomes very sporadic
[ https://issues.apache.org/jira/browse/NIFI-731?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14610193#comment-14610193 ] Mark Payne commented on NIFI-731: - The patch supplied here provides a few improvements. It allows the user to synchronize individual partitions of the flowfile repo on regular intervals, which will allow some content claims to start being archived/desctroyed immediately. Currently, we wait until the repo is checkpointed and start destroying all content claims, so this will provide a smoother performance. Additionally, it allows the user to change the number of partitions used by the FlowFile Repo. This is done because experimentation shows that 16 partitions is generally enough and results in much better performance than 256 - so the default was also changed from 256 to 16. A better but much more involved solution is to allow the Content Repository to append to an existing Content Claim, as described in NIFI-744. This will result in far fewer files to be deleted, and this will very much alleviate this problem. If content repo is unable to destroy content as fast as it is generated, nifi performance becomes very sporadic --- Key: NIFI-731 URL: https://issues.apache.org/jira/browse/NIFI-731 Project: Apache NiFi Issue Type: Bug Components: Core Framework Reporter: Mark Payne Assignee: Mark Payne Fix For: 0.2.0 Attachments: 0001-NIFI-731-Updated-admin-guide-to-explain-the-flowfile.patch When the FlowFile Repository marks claims as destructable, it puts the notification on a queue that the content repo pulls from. If the content repo cannot keep up, the queue will fill, resulting in backpressure, that prevents the FlowFile repository from being updated. This, in turn, causes Processors to block, waiting on space to become available. This is by design. However, the capacity of this queue is quite large, and the content repo drains the entire queue, then destroys all content claims that are on it. As a result, this act of destroying claims can be quite long, and Processors can block for quite a period of time, leading to very sporadic performance. Instead, the content repo should pull from the queue and destroy the claims one at a time or in small batches, instead of draining the entire queue each time. This should result in much less sporadic behavior. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (NIFI-744) Allow FileSystemRepository to write to the same file for multiple (non-parallel) sessions
Mark Payne created NIFI-744: --- Summary: Allow FileSystemRepository to write to the same file for multiple (non-parallel) sessions Key: NIFI-744 URL: https://issues.apache.org/jira/browse/NIFI-744 Project: Apache NiFi Issue Type: Bug Components: Core Framework Reporter: Mark Payne Currently, when a ProcessSession is committed, the Content Claim that was being written to is now finished and will never be written to again. When a flow has processors that generate many, many FlowFiles, each in their own session, this means that we have many, many files on disk on the Content Repository, as well. Generally, this hasn't been a problem to write to these files. However, when the files are to be archived or destroyed, this is very taxing and can cause erratic behavior. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (NIFI-731) If content repo is unable to destroy content as fast as it is generated, nifi performance becomes very erratic
[ https://issues.apache.org/jira/browse/NIFI-731?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mark Payne updated NIFI-731: Summary: If content repo is unable to destroy content as fast as it is generated, nifi performance becomes very erratic (was: If content repo is unable to destroy content as fast as it is generated, nifi performance becomes very sporadic) If content repo is unable to destroy content as fast as it is generated, nifi performance becomes very erratic -- Key: NIFI-731 URL: https://issues.apache.org/jira/browse/NIFI-731 Project: Apache NiFi Issue Type: Bug Components: Core Framework Reporter: Mark Payne Assignee: Mark Payne Fix For: 0.2.0 Attachments: 0001-NIFI-731-Updated-admin-guide-to-explain-the-flowfile.patch When the FlowFile Repository marks claims as destructable, it puts the notification on a queue that the content repo pulls from. If the content repo cannot keep up, the queue will fill, resulting in backpressure, that prevents the FlowFile repository from being updated. This, in turn, causes Processors to block, waiting on space to become available. This is by design. However, the capacity of this queue is quite large, and the content repo drains the entire queue, then destroys all content claims that are on it. As a result, this act of destroying claims can be quite long, and Processors can block for quite a period of time, leading to very sporadic performance. Instead, the content repo should pull from the queue and destroy the claims one at a time or in small batches, instead of draining the entire queue each time. This should result in much less sporadic behavior. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (NIFI-731) If content repo is unable to destroy content as fast as it is generated, nifi performance becomes very sporadic
[ https://issues.apache.org/jira/browse/NIFI-731?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mark Payne updated NIFI-731: Attachment: 0001-NIFI-731-Updated-admin-guide-to-explain-the-flowfile.patch If content repo is unable to destroy content as fast as it is generated, nifi performance becomes very sporadic --- Key: NIFI-731 URL: https://issues.apache.org/jira/browse/NIFI-731 Project: Apache NiFi Issue Type: Bug Components: Core Framework Reporter: Mark Payne Assignee: Mark Payne Fix For: 0.2.0 Attachments: 0001-NIFI-731-Updated-admin-guide-to-explain-the-flowfile.patch When the FlowFile Repository marks claims as destructable, it puts the notification on a queue that the content repo pulls from. If the content repo cannot keep up, the queue will fill, resulting in backpressure, that prevents the FlowFile repository from being updated. This, in turn, causes Processors to block, waiting on space to become available. This is by design. However, the capacity of this queue is quite large, and the content repo drains the entire queue, then destroys all content claims that are on it. As a result, this act of destroying claims can be quite long, and Processors can block for quite a period of time, leading to very sporadic performance. Instead, the content repo should pull from the queue and destroy the claims one at a time or in small batches, instead of draining the entire queue each time. This should result in much less sporadic behavior. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (NIFI-731) If content repo is unable to destroy content as fast as it is generated, nifi performance becomes very sporadic
[ https://issues.apache.org/jira/browse/NIFI-731?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mark Payne updated NIFI-731: Attachment: (was: 0001-NIFI-731-Updated-admin-guide-to-explain-the-flowfile.patch) If content repo is unable to destroy content as fast as it is generated, nifi performance becomes very sporadic --- Key: NIFI-731 URL: https://issues.apache.org/jira/browse/NIFI-731 Project: Apache NiFi Issue Type: Bug Components: Core Framework Reporter: Mark Payne Assignee: Mark Payne Fix For: 0.2.0 Attachments: 0001-NIFI-731-Updated-admin-guide-to-explain-the-flowfile.patch When the FlowFile Repository marks claims as destructable, it puts the notification on a queue that the content repo pulls from. If the content repo cannot keep up, the queue will fill, resulting in backpressure, that prevents the FlowFile repository from being updated. This, in turn, causes Processors to block, waiting on space to become available. This is by design. However, the capacity of this queue is quite large, and the content repo drains the entire queue, then destroys all content claims that are on it. As a result, this act of destroying claims can be quite long, and Processors can block for quite a period of time, leading to very sporadic performance. Instead, the content repo should pull from the queue and destroy the claims one at a time or in small batches, instead of draining the entire queue each time. This should result in much less sporadic behavior. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (NIFI-743) .getSolr-mock-processor and .httpCache-mock-processor files in conf dir
[ https://issues.apache.org/jira/browse/NIFI-743?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14610032#comment-14610032 ] Dan Bress commented on NIFI-743: I believe the last thing i submitted about this(that isn't merged yet) only calls @OnShutdown methods. I removed the calls to @OnRemoved since it didn't make sense to me to call @OnRemoved if I hadn't called @OnAdded .getSolr-mock-processor and .httpCache-mock-processor files in conf dir --- Key: NIFI-743 URL: https://issues.apache.org/jira/browse/NIFI-743 Project: Apache NiFi Issue Type: Bug Components: Tools and Build Reporter: Mark Payne Assignee: Bryan Bende Fix For: 0.2.0 Attachments: NIFI-743.patch I'm not sure where these are coming from but when I do a clean build, I'm ending up with 2 files in the conf/ directory that shouldn't be there: .httpCache-mock-processor and .getSolr-mock-processor. Not sure if these were created when I did the build or when I launched the application, but either way they shouldn't be there. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (NIFI-743) .getSolr-mock-processor and .httpCache-mock-processor files in conf dir
[ https://issues.apache.org/jira/browse/NIFI-743?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14610384#comment-14610384 ] Bryan Bende commented on NIFI-743: -- Thanks for the heads up Dan. In that case I will update the patch so that these processors write the state in OnStopped instead of OnShutdown, as Mark suggested. The way the patch is right now, it is dependent on OnRemoved being called. .getSolr-mock-processor and .httpCache-mock-processor files in conf dir --- Key: NIFI-743 URL: https://issues.apache.org/jira/browse/NIFI-743 Project: Apache NiFi Issue Type: Bug Components: Tools and Build Reporter: Mark Payne Assignee: Bryan Bende Fix For: 0.2.0 Attachments: NIFI-743.patch I'm not sure where these are coming from but when I do a clean build, I'm ending up with 2 files in the conf/ directory that shouldn't be there: .httpCache-mock-processor and .getSolr-mock-processor. Not sure if these were created when I did the build or when I launched the application, but either way they shouldn't be there. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (NIFI-745) Disabling Controller Service stuck
Matt Gilman created NIFI-745: Summary: Disabling Controller Service stuck Key: NIFI-745 URL: https://issues.apache.org/jira/browse/NIFI-745 Project: Apache NiFi Issue Type: Bug Components: Core Framework Reporter: Matt Gilman Fix For: 0.2.0 Per the nifi-api a controller service OnDisable method will be invoked when the user disables that service. If that method fails with an exception it will be retried a short time later. This will continue until it successfully completes. Unfortunately, this means that if services continually throws an exception during OnDisable the user will not be able to do anything with the service. This is because controller services need to be Disabled in order to support editing its configuration or attempting to Enable. The service in question will not transition to the Disabled state until its OnDisable completes without issue. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[1/2] incubator-nifi git commit: NIFI-719: Expose scheduling period to the ConfigurationContext
Repository: incubator-nifi Updated Branches: refs/heads/develop 50215707f - a09180799 NIFI-719: Expose scheduling period to the ConfigurationContext Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/ba315598 Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/ba315598 Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/ba315598 Branch: refs/heads/develop Commit: ba3155980efd846b45bd47eefa14f503a13908f3 Parents: e767f5c Author: Mark Payne marka...@hotmail.com Authored: Tue Jun 23 20:47:35 2015 -0400 Committer: Mark Payne marka...@hotmail.com Committed: Wed Jun 24 08:13:06 2015 -0400 -- .../nifi/controller/ConfigurationContext.java | 23 +++-- .../nifi/util/MockConfigurationContext.java | 11 + .../apache/nifi/controller/FlowController.java | 18 +++--- .../reporting/AbstractReportingTaskNode.java| 4 +-- .../scheduling/StandardProcessScheduler.java| 24 +- .../service/StandardConfigurationContext.java | 26 +++- .../service/StandardControllerServiceNode.java | 2 +- .../StandardControllerServiceProvider.java | 10 .../apache/nifi/controller/MonitorMemory.java | 14 +++ 9 files changed, 89 insertions(+), 43 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/ba315598/nifi/nifi-api/src/main/java/org/apache/nifi/controller/ConfigurationContext.java -- diff --git a/nifi/nifi-api/src/main/java/org/apache/nifi/controller/ConfigurationContext.java b/nifi/nifi-api/src/main/java/org/apache/nifi/controller/ConfigurationContext.java index 1fff6b9..03965d4 100644 --- a/nifi/nifi-api/src/main/java/org/apache/nifi/controller/ConfigurationContext.java +++ b/nifi/nifi-api/src/main/java/org/apache/nifi/controller/ConfigurationContext.java @@ -17,13 +17,14 @@ package org.apache.nifi.controller; import java.util.Map; +import java.util.concurrent.TimeUnit; import org.apache.nifi.components.PropertyDescriptor; import org.apache.nifi.components.PropertyValue; /** - * This context is passed to ControllerServices after the service has been - * initialized. + * This context is passed to ControllerServices and Reporting Tasks in order + * to expose their configuration to them. */ public interface ConfigurationContext { @@ -39,4 +40,22 @@ public interface ConfigurationContext { */ MapPropertyDescriptor, String getProperties(); +/** + * @return a String representation of the scheduling period, or codenull/code if + * the component does not have a scheduling period (e.g., for ControllerServices) + */ +String getSchedulingPeriod(); + +/** + * Returns the amount of time, in the given {@link TimeUnit} that will + * elapsed between the return of one execution of the + * component's codeonTrigger/code method and + * the time at which the method is invoked again. This method will return + * null if the component does not have a scheduling period (e.g., for ControllerServices) + * + * @param timeUnit unit of time for scheduling + * @return period of time or codenull/code if component does not have a scheduling + * period + */ +Long getSchedulingPeriod(TimeUnit timeUnit); } http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/ba315598/nifi/nifi-mock/src/main/java/org/apache/nifi/util/MockConfigurationContext.java -- diff --git a/nifi/nifi-mock/src/main/java/org/apache/nifi/util/MockConfigurationContext.java b/nifi/nifi-mock/src/main/java/org/apache/nifi/util/MockConfigurationContext.java index 61af49d..e9afb32 100644 --- a/nifi/nifi-mock/src/main/java/org/apache/nifi/util/MockConfigurationContext.java +++ b/nifi/nifi-mock/src/main/java/org/apache/nifi/util/MockConfigurationContext.java @@ -18,6 +18,7 @@ package org.apache.nifi.util; import java.util.HashMap; import java.util.Map; +import java.util.concurrent.TimeUnit; import org.apache.nifi.components.PropertyDescriptor; import org.apache.nifi.components.PropertyValue; @@ -47,4 +48,14 @@ public class MockConfigurationContext implements ConfigurationContext { public MapPropertyDescriptor, String getProperties() { return new HashMap(this.properties); } + +@Override +public String getSchedulingPeriod() { +return 0 secs; +} + +@Override +public Long getSchedulingPeriod(final TimeUnit timeUnit) { +return 0L; +} }
[2/2] incubator-nifi git commit: NIFI-719: merged with develop
NIFI-719: merged with develop Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/a0918079 Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/a0918079 Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/a0918079 Branch: refs/heads/develop Commit: a09180799d8a84108c3f5665668bded284768ecf Parents: 5021570 ba31559 Author: Mark Payne marka...@hotmail.com Authored: Wed Jul 1 10:44:42 2015 -0400 Committer: Mark Payne marka...@hotmail.com Committed: Wed Jul 1 10:44:42 2015 -0400 -- .../nifi/controller/ConfigurationContext.java | 23 +++-- .../nifi/util/MockConfigurationContext.java | 11 + .../mock/MockConfigurationContext.java | 10 .../apache/nifi/controller/FlowController.java | 18 +++--- .../reporting/AbstractReportingTaskNode.java| 4 +-- .../scheduling/StandardProcessScheduler.java| 24 +- .../service/StandardConfigurationContext.java | 26 +++- .../service/StandardControllerServiceNode.java | 2 +- .../StandardControllerServiceProvider.java | 10 .../apache/nifi/controller/MonitorMemory.java | 14 +++ 10 files changed, 99 insertions(+), 43 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/a0918079/nifi/nifi-mock/src/main/java/org/apache/nifi/util/MockConfigurationContext.java -- diff --cc nifi/nifi-mock/src/main/java/org/apache/nifi/util/MockConfigurationContext.java index 742f03b,e9afb32..c90e722 --- a/nifi/nifi-mock/src/main/java/org/apache/nifi/util/MockConfigurationContext.java +++ b/nifi/nifi-mock/src/main/java/org/apache/nifi/util/MockConfigurationContext.java @@@ -55,12 -49,13 +56,22 @@@ public class MockConfigurationContext i return new HashMap(this.properties); } +private PropertyDescriptor getActualDescriptor(final PropertyDescriptor property) { +if (service == null) { +return property; +} + +final PropertyDescriptor resolved = service.getPropertyDescriptor(property.getName()); +return resolved == null ? property : resolved; +} ++ + @Override + public String getSchedulingPeriod() { + return 0 secs; + } + + @Override + public Long getSchedulingPeriod(final TimeUnit timeUnit) { + return 0L; + } } http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/a0918079/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockConfigurationContext.java -- diff --cc nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockConfigurationContext.java index 1ba5499,000..6c9ec9d mode 100644,00..100644 --- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockConfigurationContext.java +++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockConfigurationContext.java @@@ -1,38 -1,0 +1,48 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.nifi.documentation.mock; + +import java.util.Collections; +import java.util.Map; ++import java.util.concurrent.TimeUnit; + +import org.apache.nifi.components.PropertyDescriptor; +import org.apache.nifi.components.PropertyValue; +import org.apache.nifi.controller.ConfigurationContext; + +public class MockConfigurationContext implements ConfigurationContext { + +@Override +public PropertyValue getProperty(PropertyDescriptor property) { +return null; +} + +@Override +public MapPropertyDescriptor, String getProperties() { +return Collections.emptyMap(); +} + ++
[jira] [Commented] (NIFI-719) For Reporting Tasks, ConfigurationContext should provide scheduling information
[ https://issues.apache.org/jira/browse/NIFI-719?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14610493#comment-14610493 ] ASF subversion and git services commented on NIFI-719: -- Commit a09180799d8a84108c3f5665668bded284768ecf in incubator-nifi's branch refs/heads/develop from [~markap14] [ https://git-wip-us.apache.org/repos/asf?p=incubator-nifi.git;h=a091807 ] NIFI-719: merged with develop For Reporting Tasks, ConfigurationContext should provide scheduling information Key: NIFI-719 URL: https://issues.apache.org/jira/browse/NIFI-719 Project: Apache NiFi Issue Type: Bug Components: Core Framework Reporter: Mark Payne Assignee: Mark Payne Fix For: 0.2.0 Attachments: 0001-NIFI-719-Expose-scheduling-period-to-the-Configurati.patch Currently the ConfigurationContext does not provide any information about scheduling, as it was originally designed for Controller Services. However, it is used also for Reporting Tasks, and should have methods Long getSchedulingPeriod(TimeUnit timeUnit) and String getSchedulingPeriod() as the ReportingInitializationContext does. These methods should return null for Controller Services. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (NIFI-719) For Reporting Tasks, ConfigurationContext should provide scheduling information
[ https://issues.apache.org/jira/browse/NIFI-719?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14610492#comment-14610492 ] ASF subversion and git services commented on NIFI-719: -- Commit ba3155980efd846b45bd47eefa14f503a13908f3 in incubator-nifi's branch refs/heads/develop from [~markap14] [ https://git-wip-us.apache.org/repos/asf?p=incubator-nifi.git;h=ba31559 ] NIFI-719: Expose scheduling period to the ConfigurationContext For Reporting Tasks, ConfigurationContext should provide scheduling information Key: NIFI-719 URL: https://issues.apache.org/jira/browse/NIFI-719 Project: Apache NiFi Issue Type: Bug Components: Core Framework Reporter: Mark Payne Assignee: Mark Payne Fix For: 0.2.0 Attachments: 0001-NIFI-719-Expose-scheduling-period-to-the-Configurati.patch Currently the ConfigurationContext does not provide any information about scheduling, as it was originally designed for Controller Services. However, it is used also for Reporting Tasks, and should have methods Long getSchedulingPeriod(TimeUnit timeUnit) and String getSchedulingPeriod() as the ReportingInitializationContext does. These methods should return null for Controller Services. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (NIFI-746) allow search results to stay when clicking away
John Lozada created NIFI-746: Summary: allow search results to stay when clicking away Key: NIFI-746 URL: https://issues.apache.org/jira/browse/NIFI-746 Project: Apache NiFi Issue Type: New Feature Reporter: John Lozada Priority: Minor not sure if this an easy ticket or it can be an option but, it would nice if looking for something in the search ( certain attributes or config in a processor or a name) then you click away to write down certain information from the result and it goes away. This would be helpful to write down certain results when clicking away from the screen and have around 3-4 monitors. -- This message was sent by Atlassian JIRA (v6.3.4#6332)