Repository: stratos
Updated Branches:
  refs/heads/master d77e16128 -> 8105f276e


checking whether member is in the topology when updating memberTimeStampMap


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

Branch: refs/heads/master
Commit: d33ae46a748af953304cc6e1d9195b4fefbc959c
Parents: be94843
Author: R-Rajkumar <[email protected]>
Authored: Mon Oct 13 13:27:37 2014 +0530
Committer: R-Rajkumar <[email protected]>
Committed: Mon Oct 13 13:27:37 2014 +0530

----------------------------------------------------------------------
 .../stratos/cep/extension/FaultHandlingWindowProcessor.java | 9 +++++++++
 1 file changed, 9 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/d33ae46a/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 34333ad..f3ab64d 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,6 +102,15 @@ public class FaultHandlingWindowProcessor extends 
WindowProcessor implements Run
      */
     protected void addDataToMap(InEvent event) {
         String id = (String) event.getData()[memberIdAttrIndex];
+        //checking whether this member is the topology.
+        //sometimes there can be a delay between publishing member terminated 
events
+        //and actually terminating instances. Hence CEP might get events for 
already terminated members
+        //so we are checking the topology for the member existence
+        Member member = getMemberFromId(id);
+        if (null == member) {
+                       log.debug("Member not found in the toplogy. Event 
rejected");
+                       return;
+               }
         if (StringUtils.isNotEmpty(id)) {
             memberTimeStampMap.put(id, event.getTimeStamp());
         } else {

Reply via email to