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

Reply via email to