Repository: incubator-stratos Updated Branches: refs/heads/master 5d0796a75 -> 4abba97e2
fixing a CPU spinning issue in CEP extension Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/9f52ce66 Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/9f52ce66 Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/9f52ce66 Branch: refs/heads/master Commit: 9f52ce66c7eb7f50528fdd35c11ba72a3167a9dd Parents: 3fd8064 Author: Nirmal Fernando <[email protected]> Authored: Mon Feb 17 18:02:56 2014 +0530 Committer: Nirmal Fernando <[email protected]> Committed: Mon Feb 17 18:02:56 2014 +0530 ---------------------------------------------------------------------- .../stratos/cep/extension/FaultHandlingWindowProcessor.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/9f52ce66/extensions/cep/stratos-cep-extension/src/main/java/org/apache/stratos/cep/extension/FaultHandlingWindowProcessor.java ---------------------------------------------------------------------- diff --git a/extensions/cep/stratos-cep-extension/src/main/java/org/apache/stratos/cep/extension/FaultHandlingWindowProcessor.java b/extensions/cep/stratos-cep-extension/src/main/java/org/apache/stratos/cep/extension/FaultHandlingWindowProcessor.java index 2d86748..3cb9b9c 100644 --- a/extensions/cep/stratos-cep-extension/src/main/java/org/apache/stratos/cep/extension/FaultHandlingWindowProcessor.java +++ b/extensions/cep/stratos-cep-extension/src/main/java/org/apache/stratos/cep/extension/FaultHandlingWindowProcessor.java @@ -102,7 +102,7 @@ public class FaultHandlingWindowProcessor extends WindowProcessor implements Run while (true) { threadBarrier.pass(); Iterator it = timeStampMap.entrySet().iterator(); - + while ( it.hasNext() ) { Map.Entry pair = (Map.Entry)it.next(); long currentTime = System.currentTimeMillis(); @@ -115,6 +115,12 @@ public class FaultHandlingWindowProcessor extends WindowProcessor implements Run nextProcessor.process(event); } } + + // to avoid cpu spinning when there're no entries in map + try { + Thread.sleep(1000); + } catch (InterruptedException ignore) { + } } } catch (Throwable t) { log.error(t.getMessage(), t);
