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*

Reply via email to