Repository: nifi
Updated Branches:
  refs/heads/master e6be5d327 -> 12249e5a0


NIFI-2268: Instead of allowing HandleHttpRequest to run constantly calling 
BlockingQueue.poll() as fast as possible, call BlockingQueue.poll(2, 
TimeUnit.MILLISECONDS) to avoid overutilization of CPU when there is no work to 
be done

This closes #1762.

Signed-off-by: Bryan Bende <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/12249e5a
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/12249e5a
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/12249e5a

Branch: refs/heads/master
Commit: 12249e5a08e40c550786edc83abd9d11454002fb
Parents: e6be5d3
Author: Mark Payne <[email protected]>
Authored: Fri May 5 13:43:17 2017 -0400
Committer: Bryan Bende <[email protected]>
Committed: Fri May 5 13:58:10 2017 -0400

----------------------------------------------------------------------
 .../apache/nifi/processors/standard/HandleHttpRequest.java  | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi/blob/12249e5a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/HandleHttpRequest.java
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/HandleHttpRequest.java
 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/HandleHttpRequest.java
index 19fa943..3dd46f9 100644
--- 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/HandleHttpRequest.java
+++ 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/HandleHttpRequest.java
@@ -484,7 +484,14 @@ public class HandleHttpRequest extends AbstractProcessor {
             throw new ProcessException("Failed to initialize the server",e);
         }
 
-        final HttpRequestContainer container = containerQueue.poll();
+        HttpRequestContainer container;
+        try {
+            container = containerQueue.poll(2, TimeUnit.MILLISECONDS);
+        } catch (final InterruptedException e1) {
+            Thread.currentThread().interrupt();
+            return;
+        }
+
         if (container == null) {
             return;
         }

Reply via email to