On Fri, Aug 1, 2014 at 12:21 PM, Sachini Jayasekara <[email protected]>
wrote:

> Hi all,
>
> Partition implementation update,
>
> When  a partition is added to an execution plan, for all the queries
> inside the partition, list of query-runtime objects will get created.
> When an event comes, partition instance will get created based on the
> partition key.
> Partition instance will duplicate the list of query runtimes of the
> partition and necessary stream junctions will be added accordingly.
>
> Inner-stream support is implemented using the above mentioned approach.
>
>
> According to the offline discussion with suho,
>
> In a partition where partitioning is done by stream 'A', we also allow to
> define queries from stream 'C' and all the events of stream C will be sent
> to all the partition instances. This was not supported in previous Siddhi
> implementation.
>
> In such cases do we allow queries like follows inside a partition?
>                from stream 'C' to stream 'D'   (no partitioning is done
> for C and D and they are not inner streams)
>
> If we allow that, then each partition instance will have C->D query and it
> would give wrong results.
>
> If I am correct then we should only allow queries where streams like
> 'C'(no partitioning) will be joined with inner-streams or 'C' joined with a
> stream to which a partitioning is defined(e.g:stream A)
>
>
> What would be the correct approach to handle above scenarios?
>
>
Thanks for the update and for the very good progress.

Yes you are correct, we have to only allow queires which will at least have
one partitionedStream e.g. 'A' in your case or innerStream e.g. '#B'

Regards
Suho



Thanks
>
>
> On Fri, Jul 25, 2014 at 12:09 PM, Sriskandarajah Suhothayan <[email protected]
> > wrote:
>
>>
>>
>>
>> On Fri, Jul 25, 2014 at 10:56 AM, Sachini Jayasekara <[email protected]>
>> wrote:
>>
>>> Hi all,
>>>
>>> I have started working on the $subject.
>>>
>>> In current Siddhi implementation, for a partition query execution will
>>> be carried  out for each partition key separately and results will be
>>> directed to a single stream. Ones the results of the partition query is
>>> sent to the output stream there is no way to identify from which partition
>>> key the event was generated and carry out operations to events generated by
>>> each partition key separately.
>>>
>>> To overcome that we are introducing inner streams. Inner streams reside
>>> inside a partition and they are only visible to the queries in that
>>> partition. Inner stream allows carrying out same operation to results of
>>> each partition key separately. If an inner stream is used as the output
>>> stream of a query inside a partition, then events generated by each
>>> partition key will be directed to a different stream with same stream
>>> definition.
>>>
>>> As shown in the diagram for query1, stream A will get partitioned based
>>> on a partition key and operations are carried out separately for each
>>> partition key. Using an inner stream we can further carryout operations to
>>> results of each partition key individually. Queries outside the partition
>>> will not have any knowledge about stream B as it is an inner stream.
>>>
>>>
>>> ​
>>>
>>
>> +1 for the approach
>>
>> In the Siddhi Query syntax we are thing of calling inner-stream B as "#B"
>>
>> Regards
>> Suho
>>
>>
>>> Thanks
>>>
>>>
>>> --
>>>
>>>
>>>
>>> *Thanks & Regards, Sachini JayasekaraSoftware Engineer; **WSO2 Inc. *
>>>
>>> *lean . enterprise . middleware |  http://wso2.com <http://wso2.com> *
>>>
>>
>>
>>
>> --
>>
>> *S. Suhothayan*
>> Technical Lead & Team Lead of WSO2 Complex Event Processor
>>  *WSO2 Inc. *http://wso2.com
>> * <http://wso2.com/>*
>> lean . enterprise . middleware
>>
>>
>>
>> *cell: (+94) 779 756 757 <%28%2B94%29%20779%20756%20757> | blog:
>> http://suhothayan.blogspot.com/ <http://suhothayan.blogspot.com/> twitter:
>> http://twitter.com/suhothayan <http://twitter.com/suhothayan> | linked-in:
>> http://lk.linkedin.com/in/suhothayan <http://lk.linkedin.com/in/suhothayan>*
>>
>
>
>
> --
>
>
>
> *Thanks & Regards,Sachini JayasekaraSoftware Engineer; **WSO2 Inc. *
>
> *lean . enterprise . middleware |  http://wso2.com <http://wso2.com> *
>



-- 

*S. Suhothayan*
Technical Lead & Team Lead of WSO2 Complex Event Processor
 *WSO2 Inc. *http://wso2.com
* <http://wso2.com/>*
lean . enterprise . middleware


*cell: (+94) 779 756 757 | blog: http://suhothayan.blogspot.com/
<http://suhothayan.blogspot.com/>twitter: http://twitter.com/suhothayan
<http://twitter.com/suhothayan> | linked-in:
http://lk.linkedin.com/in/suhothayan <http://lk.linkedin.com/in/suhothayan>*
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to