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
<<eventTenant.png>>
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
