Suho, Thanks for the reply. What I am thinking is why we need a receiver queue, if we made DAS1->DAS2 async?
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/
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev