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

Reply via email to