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
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev