Hi All, Thanks for your ideas...
Look OK as long as we do not make non-tenant case complicated. > Yes, I think it will not make much complicate.. > > When you list streams, would you see the tenantA part? what happen when > people debug things? > What would happen with super tenant? > Yes.. Since streams are stored in registry, It will only display the tenant specific streams.. Yes debug will happen with super tenant.. But We have thought of another approach which is more good.. *Solution* We can check the credentials of an event (for adaptors which could authenticate) and route event to tenant specific stream at adaptor level itself.. But this can be only done for adaptors like http, WSO2Event (thrift) and other adaptors which can authenticate.. If events send through jms (adaptor which cannot authenticate) then event will goes to other tenants as well.. WDYT?? @Eranda - Yes, I don't think publishing events in cross tenant manner will not be a valid usecase (but not sure).. But adding tenant id when publishing events makes things complex.. @Maninda - Yes that also a good approach but we need to refactor complete databridge component which affect many products.. Thanks, Mohan > --Srinath > > > > On Wed, Jan 22, 2014 at 6:10 PM, Mohanadarshan Vivekanandalingam < > [email protected]> wrote: > >> Hi All, >> >> As you already knew that CEP & BAM works based on stream concept. We are >> defining the streams in a strict format. Here streams are uniquely >> identified by combination of StreamName and Stream Version (Simply >> StreamId). If an event comes to CEP or BAM, we check the streamId of the >> event and do processing accordingly. But here we found that, there are some >> issues occurred when dispatching events in multiple tenant environment. >> >> *Issue* >> >> For example - If says Tenant-A created a stream called testStream with >> the version is 1.0.0 (streamId:1.0.0), again Tenant-B also creating a >> stream called testStream with version 1.0.0. Then there are two streams >> defined in CEP with the same streamId in different tenants since it is >> possible to do. Then if says there is an event coming to CEP, then CEP only >> checks the streamId of the event and redirect to specific stream. In this >> case since two tenants are registered a stream with same streamId, it will >> process the execution plans of both tenants. Then It will leads to >> un-acceptable situation. >> >> If Tenant-A send events for its' execution, then these events leads to >> execution of both Tenant-A & Tenant-B. We can detect the tenant id for some >> input transports (Thrift, Http and etc) but not for all (jms can send >> events without authentication). Then it is not possible for CEP to derive >> the tenant specific information from events at all the time. >> >> [image: Inline image 4] >> >> >> *Solution* >> >> If we make the streamId unique across multiple tenants then we can >> overcome this issue. That means prefixing the tenant domain with streamId. >> >> For example - If Tenant-A (tenant domain is tenantA) created a stream >> called testStream with version 1.0.0 then streamId is defined as >> *tenantA:testStream:1.0.0 >> *, If a super tenant created a stream then it defined as >> *testStream:1.0.0* without any prefix. By this approach we can make >> streamId unique across multiple tenants. >> >> >> WDYT ?? Appreciate any ideas or feedback on this.. >> >> >> >> Thanks & Regards, >> Mohan >> >> -- >> *V. Mohanadarshan* >> *Software Engineer,* >> *Data Technologies Team,* >> *WSO2, Inc. http://wso2.com <http://wso2.com> * >> *lean.enterprise.middleware.* >> >> email: [email protected] >> phone:(+94) 771117673 >> > > > > -- > ============================ > Srinath Perera, Ph.D. > Director, Research, WSO2 Inc. > Visiting Faculty, University of Moratuwa > Member, Apache Software Foundation > Research Scientist, Lanka Software Foundation > Blog: http://srinathsview.blogspot.com/ > Photos: http://www.flickr.com/photos/hemapani/ > Phone: 0772360902 > -- *V. Mohanadarshan* *Software Engineer,* *Data Technologies Team,* *WSO2, Inc. http://wso2.com <http://wso2.com> * *lean.enterprise.middleware.* email: [email protected] phone:(+94) 771117673
<<eventTenant.png>>
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
