Hi Harsha, I see your point. If you follow tenant creation bpel you may see initializeBuildManager and initializeRepositoryManager happens one after the other in a row. If it got failed in any step the process won't continue. But in last step of bpel you can see that initializeCloudManager is called for all 3 environments at the same time. In order to consider tenant creation as "successfull" we need to have all 3 subscriptions successful. I think thats why this fault tolerance mechanism is more important in this step than others. Anyway I will discuss more with the team and will update this thread.
On Wed, Dec 17, 2014 at 2:45 PM, Harsha Thirimanna <[email protected]> wrote: > > Hi Mahesh, > > What about the other failure situation within BPEL, like > initializeBuildManager and initializeRepositoryManager. Can we do that also > consuming this topics ? Because that also mandatory for the tenant creation > flow. WDYT ? > > thanks > > > > *Harsha Thirimanna* > Senior Software Engineer; WSO2, Inc.; http://wso2.com > * <http://www.apache.org/>* > *email: **[email protected]* <[email protected]>* cell: +94 71 5186770 , > +94 * > *774617784twitter: **http://twitter.com/ > <http://twitter.com/afkham_azeez>* > *harshathirimannlinked-in: **http: > <http://lk.linkedin.com/in/afkhamazeez>**//www.linkedin.com/pub/harsha-thirimanna/10/ab8/122 > <http://www.linkedin.com/pub/harsha-thirimanna/10/ab8/122>* > > *Lean . Enterprise . Middleware* > > > On Wed, Dec 17, 2014 at 1:31 PM, Mahesh Chinthaka <[email protected]> > wrote: > >> Hi all, >> >> Im working on Making the tenants subscription to stratos environments >> fault tolerant [1] >> >> This has been discussed in mail thread with subject - "[Architecture] >> [AF] Tenant subscribing to stratos environments - making it fault tolerant" >> >> *Issue* >> >> *====* >> >> There are some possible failure points in AF, hence in App Cloud. One >> such critical point is making the tenants subscribed to the dev, test and >> prod stratos environments. Due to any reason, if this step fails, then, >> thats the end of story for that tenant. >> >> >> Actually in appfactory tenant creation, >> >> When a tenant creation request is made, appfactory sends REST calls to >> stratos environments (dev,prod,test) to create tenants. At the moment there >> is no way to overcome a situation where tenant creation fails in one or >> more stratos environments. >> >> *Proposal* >> >> *=======* >> >> Here what I'm going to do is, integrate WSO2 Message Broker to take >> tenant creation requests to a durable topic and manipulate the process >> in a fault tolerant manner. The durable topic will keep messages around >> persistently for any suitable consumer to consume them. >> >> >> Appfactory will have a publisher who publishes messages in the topic >> inside MB when a tenant creation is requested. >> >> >> There will be a subscriber for each stratos environment who is listening >> to above topic(create_teanant). If subscription is successfull then >> subscriber will acknowledge to MB and MB will not send that particular >> request to same subscriber again. If subscription got failed subscriber >> will not ack. and MB will take care of sending that request until it >> becomes successful. >> >> >> At the moment we have 3 stratos environments therefore we will have 3 >> subscribers listening to that particular topic(create_teanant) in MB. In a >> case of AF having more stratos environments in future, it is possible to >> add more subscribers. Durable topic subscribers[2] will be used here since >> it will persist the subscription on behalf of the client subscription when >> client is not online. >> >> >> This step is not synchronous therefore above changes will not effect >> the tenant creation flow. >> >> >> *Architectural diagram * >> >> *=================* >> >> Architectural diagram can be found in [3] >> >> >> >> >> >> >> [1] - https://wso2.org/jira/browse/APPFAC-2436 >> >> [2] - >> https://docs.wso2.com/display/MB220/Creating+a+Durable+Topic+Subscription >> >> [3] - >> https://docs.google.com/a/wso2.com/drawings/d/15CmM3rCTwjUUu4V6lp2WX32nRzufraDXawALNYIoTek/edit >> >> -- >> *Mahesh Chinthaka Vidanagama* | Software Engineer >> WSO2, Inc | lean. enterprise. middleware. >> #20, Palm Grove, Colombo 03, Sri Lanka >> Mobile: +94 71 63 63 083 | Work: +94 112 145 345 >> Email: [email protected] | Web: www.wso2.com >> >> _______________________________________________ >> Architecture mailing list >> [email protected] >> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >> >> > _______________________________________________ > Architecture mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > -- *Mahesh Chinthaka Vidanagama* | Software Engineer WSO2, Inc | lean. enterprise. middleware. #20, Palm Grove, Colombo 03, Sri Lanka Mobile: +94 71 63 63 083 | Work: +94 112 145 345 Email: [email protected] | Web: www.wso2.com
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
