Hi all, We have written a custom window processor [1] following the same code structure as in [2], and invoked it via [3], as part of a project for improving Apache Stratos prediction techniques. Previously we had assumed that window processors are instantiated one-time when the corresponding execution plan is deployed, so we thought we can maintain the history of health stat information inside the window processors.
However, when testing our implementation on AWS infrastructure with an external CEP instance (v3.1.0) we noticed that the init() method of window processors attached to the same stream is invoked multiple times. It appears that the invocation happens periodically. As a result, the Stratos autoscaler receives multiple health stat events of the same type within a given time interval. We investigated the problem with an existing window processor [2] and observed the same phenomenon. At which stage(s) could the init() method be getting invoked, under our current implementation? Also, it is possible that multiple window processor instances could be getting instantiated in case of exceptions occurring in the window processor? [1] https://github.com/ridwannaruto/stratos/blob/fyp/extensions/cep/modules/stratos-cep-extension/wso2cep-3.1.0/src/main/java/org/apache/stratos/cep/extension/PredictorWindowProcessor.java [2] https://github.com/ridwannaruto/stratos/blob/fyp/extensions/cep/modules/stratos-cep-extension/wso2cep-3.1.0/src/main/java/org/apache/stratos/cep/extension/GradientFinderWindowProcessor.java [3] https://github.com/ridwannaruto/stratos/blob/fyp/extensions/cep/modules/artifacts/wso2cep-3.1.0/executionplans/PredictorOfHealthRequest.xml Thanks, Tharindu -- *Th**a**rindu Munasin**ghe.* *Undergraduate ,Department of Computer **S**cience and Engineering* *University of Moratuwa.* *Contact no. +94770460887*