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; }
