Hi Andres,

On Mon, Nov 18, 2013 at 3:16 AM, andresgomez92 <[email protected]>wrote:

> Hi all,
>
> I have a doubt about the operating mode "Clustered Deployment" of complex
> event processing.
>
> I have the following scenario:
>
> * 2 nodes
> *
>    [ node 1 ]        [node 2]
> 192.168.1.50    192.168.1.49*
>
> I get to the multicast join :)
>
> On node 1 comes a stream and on node 2 comes another, different.
>
> *stream A -> [node 1]
>
> stream B -> [node 2]*
>
> Same inputEventAdaptor, but different envetBuilder.
>
> I have a eventFormmatters and outputeventBuilder, different on each node.
> But the same stream.
>
> *                                 |   [node 1]       -> streamA  |
> |
> inputEventAdaptor  -> | eventBuilder                     | eventProcessor
> ->
> streamC | ----->
>                                  |   [node 2]       -> streamB  |
> |
>
>               [node 1]           -> email "subject: A"  |
> -----> eventFormatters                                     |
> outPuteventAdaptor --> Email A & EmailB
>               [node 2]           -> email "subject: B"  |
> *
> This is my scenario!!
>
> The bug that I have, is that the streamC is the same for eventFormatters
> but
> but it only works an email.
>
> My eventProcessor is like:
>
> *from every a1=streamA[¿true?] ->
>           b1=streamB[¿true?]
>         within 30 sec
> select a1.x, a1.y, b1.z
> insert into streamC;
> *
> The cluster works because it is able to correlate the information from the
> two stream. But then only works eventFormatters a [node 2] only. (email
> "subject: B").
>
> Can anyone help me?
>
>
The reason for this behaviour is that the query gets triggered when the
correct event arrives from stream B, which comes only to Node2. So only the
Node2 emits the resulting event.

To explain it a bit more, in a clustered CEP deployment, all nodes will not
be emitting resulting events when a query gets triggered inside one node.
Only the nodes where query gets triggered will emit the events (according
to your query, only the node2 which has streamB will emit events here, coz
node1 doesn't receive events from stream B). But all nodes will properly
synchronize the state here. i.e. when node2 updates its state, it is
synchronized with node1's state as well.
If you have symmetric setup you can send event interchangeably and will get
the expected results from either node.


Thanks
Rajeev


Thanks!!
>
> Andrés Gómez
>
>
>
> --
> View this message in context:
> http://wso2-oxygen-tank.10903.n7.nabble.com/CEP-Clustered-Deployment-CEP-3-0-0-Problem-tp88557.html
> Sent from the WSO2 Architecture mailing list archive at Nabble.com.
> _______________________________________________
> Architecture mailing list
> [email protected]
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>



-- 
Rajeev Sampath
Senior Software Engineer
WSO2, Inc.; http://www.wso2.com.

Mobile:
* +94716265766*
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to