On Wed, Jan 31, 2018 at 4:56 PM Nirmal Fernando <nir...@wso2.com> wrote:

> Suho,
>
> Thanks for the reply. What I am thinking is why we need a receiver queue,
> if we made DAS1->DAS2 async?
>
How will this fix the issue?

>
>
> On Wednesday, January 31, 2018, Sriskandarajah Suhothayan <s...@wso2.com>
> wrote:
>
>> AFAIR the event queue is used for buffering the events when states are
>> being synced, else there will be back pressure on the clients.
>> I think the rationale for using the same thread with synchronous call and
>> performing operations in both DAS1 and DAS2 ( in the order DAS1 -> DAS2 ->
>> DAS2-Siddhi -> DAS1-Siddhi) is to make sure both nodes have processed the
>> same events at the same time.
>>
>> I think event processing can be made asynchronous, such that the DAS1's
>> threads send the event to DAS2 and then returns (DAS1 -> DAS2 -> DAS1), and
>> a separate thread pool can handle sending events into DAS2-Siddhi.
>> One possible option is depicted in the image attached.
>>
>> WDYT?
>>
>> On Wed, Jan 31, 2018 at 1:15 PM, Nirmal Fernando <nir...@wso2.com> wrote:
>>
>>> Thanks, Grainier. Please see my comments inline.
>>>
>>> On Wed, Jan 31, 2018 at 1:07 PM, Grainier Perera <grain...@wso2.com>
>>> wrote:
>>>
>>>> InputEventDispatcher will send the event to the callback immediately
>>>> while QueueInputEventDispatcher will queue events first and there will be
>>>> an internal worker (QueueInputEventDispatcherWorker) which send the events
>>>> to the callback.
>>>>
>>> The reason to accumulate events in a queue in HA is to be used for event
>>>> syncing. If the event duplicated in the cluster is set to false, then this
>>>> queue will be used for the event sync among other nodes in the HA
>>>> deployment.
>>>>
>>>
>>> Actually it's the same QueueInputEventDispatcherWorker which will do
>>> the event sync too, AFAIU. But why a queue? Is it because event sync is a
>>> synchronous operation (DAS1 -> DAS2 -> DAS2-Siddhi -> DAS1)? If so, then my
>>> next question is, why does the event sync has to be synchronous?
>>>
>>>
>>>> Regards,
>>>> Grainier
>>>>
>>>> On Wed, Jan 31, 2018 at 6:31 AM, Nirmal Fernando <nir...@wso2.com>
>>>> wrote:
>>>>
>>>>> Hi All,
>>>>>
>>>>> Can any of you remember the reason for using a receiver queue in HA
>>>>> mode?
>>>>>
>>>>> if (mode == Mode.HA) {
>>>>>     HAConfiguration haConfiguration = 
>>>>> EventReceiverServiceValueHolder.getEventManagementService()
>>>>>             .getManagementModeInfo().getHaConfiguration();
>>>>>     Lock readLock = 
>>>>> EventReceiverServiceValueHolder.getCarbonEventReceiverManagementService().getReadLock();
>>>>>     inputEventDispatcher = new QueueInputEventDispatcher(tenantId,
>>>>>             EventManagementUtil.constructEventSyncId(tenantId,
>>>>>                     eventReceiverConfiguration.getEventReceiverName(), 
>>>>> Manager.ManagerType.Receiver),
>>>>>             readLock, exportedStreamDefinition, 
>>>>> haConfiguration.getEventSyncReceiverMaxQueueSizeInMb(),
>>>>>             haConfiguration.getEventSyncReceiverQueueSize());
>>>>>     inputEventDispatcher.setSendToOther(!isEventDuplicatedInCluster);
>>>>>     EventReceiverServiceValueHolder.getEventManagementService()
>>>>>             .registerEventSync((EventSync) inputEventDispatcher, 
>>>>> Manager.ManagerType.Receiver);
>>>>> } else {
>>>>>     inputEventDispatcher = new InputEventDispatcher();
>>>>> }
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> Thanks & regards,
>>>>> Nirmal
>>>>>
>>>>> Technical Lead, WSO2 Inc.
>>>>> Mobile: +94715779733 <+94%2071%20577%209733>
>>>>> Blog: http://nirmalfdo.blogspot.com/
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Grainier Perera
>>>> Senior Software Engineer
>>>> Mobile : +94716122384 <+94%2071%20612%202384>
>>>> WSO2 Inc. | http://wso2.com
>>>> lean.enterprise.middleware
>>>>
>>>
>>>
>>>
>>> --
>>>
>>> Thanks & regards,
>>> Nirmal
>>>
>>> Technical Lead, WSO2 Inc.
>>> Mobile: +94715779733 <071%20577%209733>
>>> Blog: http://nirmalfdo.blogspot.com/
>>>
>>>
>>>
>>
>>
>> --
>>
>> *S. Suhothayan*
>> Director
>> *WSO2 Inc. *
>> http://wso2.com  <http://wso2.com/>
>>
>>
>> *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>*
>>
>
>
> --
>
> Thanks & regards,
> Nirmal
>
> Technical Lead, WSO2 Inc.
> Mobile: +94715779733
> Blog: http://nirmalfdo.blogspot.com/
>
>
>
> --

*S. Suhothayan*
Director
*WSO2 Inc. *
http://wso2.com  <http://wso2.com/>


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

Reply via email to