Hi, I was on leave on 1st of October so I couldn't reach your message.I'm really sorry for that. I can give you an update today.
Thank you. On Thu, Oct 1, 2015 at 7:52 AM, Srinath Perera <srin...@wso2.com> wrote: > Can we have an update today 1.30pm @Trace? > > --Srinath > > On Sat, Aug 29, 2015 at 12:26 AM, Lasantha Fernando <lasan...@wso2.com> > wrote: > >> That's great!... >> >> On 28 August 2015 at 18:25, Lakini Senanayaka <lak...@wso2.com> wrote: >> >>> Hi Lasantha, >>> >>> I have corrected the issue you mentioned above.Now the events are >>> processing correctly. >>> >>> Thank you. >>> >>> On Tue, Aug 25, 2015 at 11:38 PM, Lasantha Fernando <lasan...@wso2.com> >>> wrote: >>> >>>> Hi Lakini, >>>> >>>> I earlier assumed that you would be using the latest Siddhi-3.0.0 which >>>> has the concept of different ExecutionPlanRuntimes. But looking at the >>>> code, it seems you are using Siddhi-2.1.0.wso2v1. In that case, my >>>> explanation about ExecutionPlanRuntime would be incorrect since >>>> Siddhi-2.1.0 did not have ExecutionPlanRuntimes. For Siddhi-2.1.0, >>>> >>>> 1. Multi-threading when sending events would work. But Siddhi itself >>>> would not streamline the events coming from different threads and handover >>>> the work to Siddhi's own threads. i.e. the thread that sends the event >>>> would be involved in processing and send the output event (unless >>>> siddhi-windows were involved). The Siddhi engine itself was not >>>> multithreaded, but it can handle events coming in from multiple threads. It >>>> is thread-safe. >>>> >>>> 2. When modifying queries using multiple threads, the queries were >>>> tracked by the query-id which involved a generated UUID. So if you added >>>> similar queries to the same SiddhiManager instance, it would be added as >>>> two different queries. To edit a query, you would have to remove the old >>>> query first using its query id and add the modified query. >>>> >>>> But looking at your code, it seems the two client apps are calling the >>>> IEdgeAnalyticsService.Stub.getService() method and in that method you are >>>> creating a new CEP instance each time, which in turn creates a new Siddhi >>>> manager. Given that, your two client apps would deploy their queries on two >>>> different Siddhi instances. >>>> >>>> However, if there is only one instance of the service itself, calling >>>> the RemoteService.getService() method simply creates a new CEP instance and >>>> assigns that to the instance variable. i.e. the second call would overwrite >>>> the reference to the CEP instance created by the first call. So definitely >>>> when you call the RemoteService.sendData() method, it would send those >>>> events to the CEP/Siddhi instance that was created by the second call, even >>>> if it is the first client that is sending the events. >>>> >>>> I think there is an issue in simply assigning a new instance to the >>>> 'cep' variable >>>> in com.example.lakini.edgeanalyticsservice.EdgeAnalyticsService >>>> IEdgeAnalyticsService.Stub.getService() method. >>>> >>>> Can you please correct this issue and see whether events are being >>>> processed correctly? >>>> >>>> Thanks, >>>> Lasantha >>>> >>>> On 25 August 2015 at 18:53, Lakini Senanayaka <lak...@wso2.com> wrote: >>>> >>>>> Hi all, >>>>> >>>>> As per request I have shared my source code.You can find my sample >>>>> project [1] from this link and I have point out the place[2][3][4] it will >>>>> be easier to you to understand. >>>>> >>>>> [1] - sample edgeAnalyticsService >>>>> <https://github.com/Lakini/EdgeAnalyticServiceSample/> >>>>> [2] - EdgeAnalyticsService >>>>> <https://github.com/Lakini/EdgeAnalyticServiceSample/blob/master/EdgeAnalyticsService/app/src/main/java/com/example/lakini/edgeanalyticsservice/CEP.java#L37> >>>>> [3] - ClientApp1 >>>>> <https://github.com/Lakini/EdgeAnalyticServiceSample/blob/master/ClientApp/app/src/main/java/com/example/lakini/edgeanalyticsservice/MainActivity.java#L58> >>>>> [4] -ClientApp2 >>>>> <https://github.com/Lakini/EdgeAnalyticServiceSample/blob/master/Second/app/src/main/java/com/example/lakini/edgeanalyticsservice/MainActivity.java#L58> >>>>> >>>>> Thank you. >>>>> >>>>> On Tue, Aug 25, 2015 at 4:30 PM, Lasantha Fernando <lasan...@wso2.com> >>>>> wrote: >>>>> >>>>>> Hi Srinath, Lakini, >>>>>> >>>>>> Siddhi is thread safe when sending events. You can send events via >>>>>> multiple threads without any issue. >>>>>> >>>>>> When changing queries via multiple threads, the execution plan >>>>>> runtime of the previous query would have to be shutdown manually. Looking >>>>>> at the current code, it seems that an ExecutionPlanRuntime instance would >>>>>> be created after the query is parsed and that would be put to a >>>>>> ConcurrentHashMap with the execution plan name (specified via >>>>>> annotations) >>>>>> as the key. So if you do not shutdown that old runtime, it will still >>>>>> keep >>>>>> running. But if you shutdown the execution plan from the client code, you >>>>>> should not encounter any issue. @Suho, please correct if my understanding >>>>>> is incorrect on this. >>>>>> >>>>>> @Lakini, if you are having two execution plans with different names >>>>>> and still it seems that one query is overriding the other, that is wrong. >>>>>> Can you share the execution plan syntax you are using for the two queries >>>>>> and also point to the code? Based on the scenario described above, it >>>>>> seems >>>>>> there is a conflict on the execution plan names or the output streams of >>>>>> the execution plans. >>>>>> >>>>>> Thanks, >>>>>> Lasantha >>>>>> >>>>>> On 25 August 2015 at 16:09, Srinath Perera <srin...@wso2.com> wrote: >>>>>> >>>>>>> Please point to your code. >>>>>>> >>>>>>> CEP team, please help. >>>>>>> >>>>>>> On Tue, Aug 25, 2015 at 4:00 PM, Lakini Senanayaka <lak...@wso2.com> >>>>>>> wrote: >>>>>>> >>>>>>>> Srinath,thank you for your prompt reply. >>>>>>>> >>>>>>>> My Client and Service run separately in 2 different processes.I >>>>>>>> have just developed 2 simple apps which send random data and I >>>>>>>> controlled >>>>>>>> it using a timer.I have set 2 different rules for the 2 apps.one >>>>>>>> client has >>>>>>>> a rule like notify when the value>50 and the second client has a rule >>>>>>>> like >>>>>>>> notify when the value>20.When running two clients in the same time ,the >>>>>>>> first client get notification for value>20,although it's rule is >>>>>>>> value>50. >>>>>>>> >>>>>>>> So the SiddhiManager has overrides the 1st client's query by second >>>>>>>> client's query. >>>>>>>> >>>>>>>> On Tue, Aug 25, 2015 at 3:36 PM, Srinath Perera <srin...@wso2.com> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Suho is Siddhi engine thread safe >>>>>>>>> 1. send events >>>>>>>>> 2. to change queries. >>>>>>>>> >>>>>>>>> Lakini answer depends on above. >>>>>>>>> >>>>>>>>> Could u explain how two clients override the same query? are they >>>>>>>>> running the same query? >>>>>>>>> >>>>>>>>> Thanks >>>>>>>>> Srinath >>>>>>>>> >>>>>>>>> On Tue, Aug 25, 2015 at 3:24 PM, Lakini Senanayaka < >>>>>>>>> lak...@wso2.com> wrote: >>>>>>>>> >>>>>>>>>> Hi Srinath, >>>>>>>>>> >>>>>>>>>> As an small introduction to my project,it is about EdgeAnalytics >>>>>>>>>> Service which is an android service and it does edge analytic using >>>>>>>>>> Siddhi >>>>>>>>>> queries. There are 2 types of clients for the service.I have >>>>>>>>>> developed Type >>>>>>>>>> 1 client which sends it's own data to analyse with user define >>>>>>>>>> streams,rule >>>>>>>>>> and a callback.I'm using AIDL interface method for the Client-Service >>>>>>>>>> connection. >>>>>>>>>> >>>>>>>>>> I have a copy of working project now.In here I used a single >>>>>>>>>> thread to develop service as you told me in the meeting ,where we >>>>>>>>>> discussed >>>>>>>>>> the Architecture of Edge Analytic Service.But in my application when >>>>>>>>>> we are >>>>>>>>>> running 2 or more client apps in the same time the siddhimanager in >>>>>>>>>> the >>>>>>>>>> service overrides the the 1st rule of the first running client with >>>>>>>>>> the >>>>>>>>>> rule of second client.(in here rule mean the Logic)So for first >>>>>>>>>> client it >>>>>>>>>> gives wrong results.So to overcome from that we have to use multi >>>>>>>>>> threading >>>>>>>>>> and I discussed this issue with Shan and he told me that this >>>>>>>>>> problem can >>>>>>>>>> be solve by using multi threading.So Could you please advice me >>>>>>>>>> how to overcome this issue,although you told me not to use >>>>>>>>>> multithreading. >>>>>>>>>> Suggestions would be appreciate. >>>>>>>>>> >>>>>>>>>> I have attached a documentation about Edge Analytic s Service. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Thank you. >>>>>>>>>> -- >>>>>>>>>> *Intern-Engineering* >>>>>>>>>> Lakini S.Senanayaka >>>>>>>>>> Mobile: +94 712295444 >>>>>>>>>> Email: lak...@wso2.com >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> ============================ >>>>>>>>> Blog: http://srinathsview.blogspot.com twitter:@srinath_perera >>>>>>>>> Site: http://people.apache.org/~hemapani/ >>>>>>>>> Photos: http://www.flickr.com/photos/hemapani/ >>>>>>>>> Phone: 0772360902 >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> *Intern-Engineering* >>>>>>>> Lakini S.Senanayaka >>>>>>>> Mobile: +94 712295444 >>>>>>>> Email: lak...@wso2.com >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> ============================ >>>>>>> Blog: http://srinathsview.blogspot.com twitter:@srinath_perera >>>>>>> Site: http://people.apache.org/~hemapani/ >>>>>>> Photos: http://www.flickr.com/photos/hemapani/ >>>>>>> Phone: 0772360902 >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Dev mailing list >>>>>>> Dev@wso2.org >>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> *Lasantha Fernando* >>>>>> Senior Software Engineer - Data Technologies Team >>>>>> WSO2 Inc. http://wso2.com >>>>>> >>>>>> email: lasan...@wso2.com >>>>>> mobile: (+94) 71 5247551 >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> *Intern-Engineering* >>>>> Lakini S.Senanayaka >>>>> Mobile: +94 712295444 >>>>> Email: lak...@wso2.com >>>>> >>>> >>>> >>>> >>>> -- >>>> *Lasantha Fernando* >>>> Senior Software Engineer - Data Technologies Team >>>> WSO2 Inc. http://wso2.com >>>> >>>> email: lasan...@wso2.com >>>> mobile: (+94) 71 5247551 >>>> >>> >>> >>> >>> -- >>> *Intern-Engineering* >>> Lakini S.Senanayaka >>> Mobile: +94 712295444 >>> Email: lak...@wso2.com >>> >> >> >> >> -- >> *Lasantha Fernando* >> Senior Software Engineer - Data Technologies Team >> WSO2 Inc. http://wso2.com >> >> email: lasan...@wso2.com >> mobile: (+94) 71 5247551 >> > > > > -- > ============================ > Blog: http://srinathsview.blogspot.com twitter:@srinath_perera > Site: http://people.apache.org/~hemapani/ > Photos: http://www.flickr.com/photos/hemapani/ > Phone: 0772360902 > -- *Intern-Engineering* Lakini S.Senanayaka Mobile: +94 712295444 Email: lak...@wso2.com
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev