According to the docs (https://docs.wso2.org/display/CEP310/Clustered+Deployment), you can run Siddhi in distributed mode.
As fas as i understand, all nodes will share the streams definitions and operate over a shared context (streams, queries, events...).
But i can't put it to work:
- Working with 2.0.0-wso2v4 version
- I've coded a simple program that starts two siddhiManagers with distributed processing enabled.
- The program creates a stream and a query in siddhiManager1
- Adds a stream callback that print events in the two managers (previous stream)
- Send an event in siddhiManager1
- Prints streams in siddhiManager1 and siddhiManager2
The result is:
- I can see Hazelcast working, each manager see the other one.
- siddhiManager1 has one stream, one query and prints one event.
- siddhiManager2 does not have anything.
I've tested by using siddhi-distribution (fat-jar), but also using siddhi-api, siddhi-core and siddhi-query jars.
Siddhi-distribution fat-jar has some xml inside related to Hazelcast, but as fas as i can see these configs are not being loaded and in the source code (github) i don't see anything special about these files (siddhiManager).
Any idea about how can i run siddhi in distributed cache mode deployment? what am i doing wrong?