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

Reply via email to