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 {
