+1 On Mon, Nov 7, 2016 at 12:40 PM, Anjana Fernando <anj...@wso2.com> wrote:
> Hi Ramith, > > Sure. Actually, I was talking with SameeraR to take over this and create a > common component which has the required coordination functionality. The > idea is to create a component, where the providers can be plugged in, such > as the RDBMS based one, ZK, or any other container specific provider that > maybe out there. > > Cheers, > Anjana. > > On Mon, Nov 7, 2016 at 12:38 PM, Ramith Jayasinghe <ram...@wso2.com> > wrote: > >> this might require some work.. shall we have a chat? >> >> On Thu, Nov 3, 2016 at 3:52 PM, Anjana Fernando <anj...@wso2.com> wrote: >> >>> Ping! .. >>> >>> On Wed, Nov 2, 2016 at 5:03 PM, Anjana Fernando <anj...@wso2.com> wrote: >>> >>>> Hi, >>>> >>>> On Wed, Nov 2, 2016 at 3:14 PM, Asanka Abeyweera <asank...@wso2.com> >>>> wrote: >>>> >>>>> Hi Anjana, >>>>> >>>>> Currently, the implementation is part of the MB code (not a common >>>>> component). >>>>> >>>> >>>> Okay, can we please get it as a common component. >>>> >>>> Cheers, >>>> Anjana. >>>> >>>> >>>>> >>>>> On Wed, Nov 2, 2016 at 3:00 PM, Anjana Fernando <anj...@wso2.com> >>>>> wrote: >>>>> >>>>>> Hi Asanka/Ramith, >>>>>> >>>>>> So for C5 based Streaming Analytics solution, we need coordination >>>>>> functionality there as well. Is the functionality mentioned here created >>>>>> as >>>>>> a common component or baked in to the MB code? .. if so, can we please >>>>>> get >>>>>> it implemented it as a generic component, so other products can also use >>>>>> it. >>>>>> >>>>>> Cheers, >>>>>> Anjana. >>>>>> >>>>>> On Tue, Aug 9, 2016 at 3:10 PM, Anjana Fernando <anj...@wso2.com> >>>>>> wrote: >>>>>> >>>>>>> Great! .. >>>>>>> >>>>>>> Cheers, >>>>>>> Anjana. >>>>>>> >>>>>>> On Tue, Aug 9, 2016 at 1:49 PM, Asanka Abeyweera <asank...@wso2.com> >>>>>>> wrote: >>>>>>> >>>>>>>> Hi Anjana, >>>>>>>> >>>>>>>> Thank you for the suggestion. We have already done a similar thing. >>>>>>>> We have added a backoff time after creating the leader entry and check >>>>>>>> if >>>>>>>> the leader entry is the entry created by self before informing the >>>>>>>> leader >>>>>>>> change. >>>>>>>> >>>>>>>> On Tue, Aug 9, 2016 at 12:27 PM, Anjana Fernando <anj...@wso2.com> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> I see, thanks for the clarification, looks good! .. I think small >>>>>>>>> thing to consider is, to avoid the situation where, the current >>>>>>>>> leader goes >>>>>>>>> away, and two other competes to become the leader, and the first one >>>>>>>>> and >>>>>>>>> the second one checks (reads) the table to check the last heartbeat >>>>>>>>> and >>>>>>>>> figures out that the leader is outdated at the same time, and then >>>>>>>>> first >>>>>>>>> one delete the entry and puts his one, and after that, second one >>>>>>>>> will also >>>>>>>>> delete the existing one and put his one, so both will think they >>>>>>>>> became the >>>>>>>>> leader, due to the condition that both succeeded in adding the entry >>>>>>>>> without an error. So this can probably be fixed by checking back >>>>>>>>> after a >>>>>>>>> bit of time if the current node is actually me, which >>>>>>>>> probabilistically >>>>>>>>> will work well, if that time period is sufficient big enough than a >>>>>>>>> typical >>>>>>>>> database transaction required by a node to do the earlier operations. >>>>>>>>> Or >>>>>>>>> else, we should make sure the database transaction level used in this >>>>>>>>> scenario is at least REPEATABLE_READ, where when we read the record, >>>>>>>>> it >>>>>>>>> will lock it throughout the transaction. So some DBMSs does not >>>>>>>>> support >>>>>>>>> REPEATABLE_READ, where in that case, we should be able to use >>>>>>>>> SERIALIZABLE, >>>>>>>>> which most of them support. >>>>>>>>> >>>>>>>>> Cheers, >>>>>>>>> Anjana. >>>>>>>>> >>>>>>>>> On Tue, Aug 9, 2016 at 11:11 AM, Maninda Edirisooriya < >>>>>>>>> mani...@wso2.com> wrote: >>>>>>>>> >>>>>>>>>> Hi Anjana, >>>>>>>>>> >>>>>>>>>> After having an offline chat with Asanka what I understood was >>>>>>>>>> that the leader election was done completely via the database but >>>>>>>>>> with no >>>>>>>>>> network communication. The leader is mentioned in the database >>>>>>>>>> first. Then >>>>>>>>>> the leader updates the node data periodically in the database. If >>>>>>>>>> some node >>>>>>>>>> realizes the data in the DB are outdated that means the leader was >>>>>>>>>> disconnected. Then that node will look at the created timestamp of >>>>>>>>>> the >>>>>>>>>> leader entry. If that is not very recent that means there was no new >>>>>>>>>> leader >>>>>>>>>> elected recently. So he will try to update the leader entry with his >>>>>>>>>> ID. As >>>>>>>>>> I understand there the leader entry is using the leader ID and the >>>>>>>>>> timestamp as the primary key. Even several nodes try to do it >>>>>>>>>> simultaneously only one node will successfully be able to update the >>>>>>>>>> entry >>>>>>>>>> with the help of atomicity provided by the DB. Others members will >>>>>>>>>> note the >>>>>>>>>> timestamp of the leader was updated so will accept the first one who >>>>>>>>>> updates as the leader. Even after the leader is elected, the leader >>>>>>>>>> will >>>>>>>>>> only notify node data via updating DB instead of network calls. >>>>>>>>>> Other nodes >>>>>>>>>> will just observe it and check the latest timestmps of the entry. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> *Maninda Edirisooriya* >>>>>>>>>> Senior Software Engineer >>>>>>>>>> >>>>>>>>>> *WSO2, Inc.*lean.enterprise.middleware. >>>>>>>>>> >>>>>>>>>> *Blog* : http://maninda.blogspot.com/ >>>>>>>>>> *E-mail* : mani...@wso2.com >>>>>>>>>> *Skype* : @manindae >>>>>>>>>> *Twitter* : @maninda >>>>>>>>>> >>>>>>>>>> On Tue, Aug 9, 2016 at 10:13 AM, Anjana Fernando <anj...@wso2.com >>>>>>>>>> > wrote: >>>>>>>>>> >>>>>>>>>>> Hi, >>>>>>>>>>> >>>>>>>>>>> I just noticed this thread. I've some concerns on this >>>>>>>>>>> implementations. First of all, I don't think the statement >>>>>>>>>>> mentioned here >>>>>>>>>>> saying an external service such as ZooKeeper doesn't work, is >>>>>>>>>>> correct. >>>>>>>>>>> Because, if you have a ZK cluster (it is suppose to be used as a >>>>>>>>>>> cluster), >>>>>>>>>>> you will not have any issues. All the nodes have a list of >>>>>>>>>>> endpoints to all >>>>>>>>>>> the ZK nodes and they connect to those, and ZK has a quorum based >>>>>>>>>>> mechanism >>>>>>>>>>> in keeping its state. So this makes sure, all the users have a >>>>>>>>>>> single >>>>>>>>>>> version of the ZK data. >>>>>>>>>>> >>>>>>>>>>> Also, I guess the fundamental problem here in the split brain >>>>>>>>>>> situation is, we need one external entity taking the decision (e.g. >>>>>>>>>>> ZK >>>>>>>>>>> cluster), because it should have oversight to the whole >>>>>>>>>>> environment. I >>>>>>>>>>> don't see how this RDBMS mechanism would solve that. Because, what >>>>>>>>>>> it gives >>>>>>>>>>> is a central location of state persistence. But the decisions of >>>>>>>>>>> making who >>>>>>>>>>> is the leader is taken by the users, which can be problematic. >>>>>>>>>>> Where when >>>>>>>>>>> we have a network partition scenario in that occasion, two groups >>>>>>>>>>> of users >>>>>>>>>>> will be overriding each other in the centralized RDBMS data >>>>>>>>>>> repeatedly and >>>>>>>>>>> it will go on forever, where in the ZK situation, there will be >>>>>>>>>>> only one >>>>>>>>>>> leader, and the guys in the other partition simply won't be able to >>>>>>>>>>> reach >>>>>>>>>>> the leader, until its network issues are sorted. >>>>>>>>>>> >>>>>>>>>>> So I also think, as Imesh mentioned, creating a coordination >>>>>>>>>>> algorithm from scratch may not be a wise decision, and we should >>>>>>>>>>> use proven >>>>>>>>>>> technology/libraries to do that. And on a side note, the main >>>>>>>>>>> reason for >>>>>>>>>>> not using ZK for this earlier was because of the hassle of bringing >>>>>>>>>>> up >>>>>>>>>>> another set of servers when our products are clustered, and we knew >>>>>>>>>>> that >>>>>>>>>>> the split brain scenario will occur in HZ, but maybe now we should >>>>>>>>>>> give an >>>>>>>>>>> extension point probably to plug into an external service if for >>>>>>>>>>> some >>>>>>>>>>> applications the split brain scenario is a show stopper. >>>>>>>>>>> >>>>>>>>>>> Cheers, >>>>>>>>>>> Anjana. >>>>>>>>>>> >>>>>>>>>>> On Tue, Aug 9, 2016 at 4:45 AM, Kasun Indrasiri <ka...@wso2.com> >>>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>>> Hi Ramith/Asanka, >>>>>>>>>>>> >>>>>>>>>>>> ESB/DSS natask impl is also based on HZ. I guess if this model >>>>>>>>>>>> works for the MB, we should make it generic for all such >>>>>>>>>>>> coordination >>>>>>>>>>>> requirements. (Thinking about using this in ESB 5.1)? >>>>>>>>>>>> >>>>>>>>>>>> On Fri, Aug 5, 2016 at 3:58 AM, Sajini De Silva < >>>>>>>>>>>> saj...@wso2.com> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hi Maninda, >>>>>>>>>>>>> >>>>>>>>>>>>> Locking the database will be supported by some databases but >>>>>>>>>>>>> there will be huge performance impact. So we cannot use that >>>>>>>>>>>>> approach. If >>>>>>>>>>>>> this approach cannot be adapted the only thing we can do is >>>>>>>>>>>>> queue wise >>>>>>>>>>>>> load balancing through slot coordinator. But in this case we >>>>>>>>>>>>> cannot >>>>>>>>>>>>> guarantee that load balance will be equally distributed since >>>>>>>>>>>>> some queues >>>>>>>>>>>>> can be loaded while some will be idle. Also we cannot have >>>>>>>>>>>>> multiple slot >>>>>>>>>>>>> coordinators having same queue as it may cause several >>>>>>>>>>>>> complications such >>>>>>>>>>>>> as, same slot is assigned to two nodes by different subscribers, >>>>>>>>>>>>> message >>>>>>>>>>>>> duplication etc. Actually this slot architecture was discussed in >>>>>>>>>>>>> a >>>>>>>>>>>>> separate mail thread before it is implemented. >>>>>>>>>>>>> >>>>>>>>>>>>> Thanks >>>>>>>>>>>>> >>>>>>>>>>>>> On Fri, Aug 5, 2016 at 3:12 PM, Maninda Edirisooriya < >>>>>>>>>>>>> mani...@wso2.com> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> Hi Sajini, >>>>>>>>>>>>>> >>>>>>>>>>>>>> Yes that is what I meant. As the number of slots are >>>>>>>>>>>>>> proportional to the number of messages passing through the >>>>>>>>>>>>>> cluster, slot >>>>>>>>>>>>>> delivery should not be handled by the coordinator when there is >>>>>>>>>>>>>> only one >>>>>>>>>>>>>> coordinator in the cluster which is a bottleneck for scaling >>>>>>>>>>>>>> messages >>>>>>>>>>>>>> passing through the cluster. If there is only a single >>>>>>>>>>>>>> coordinator, it >>>>>>>>>>>>>> should handle operations that are not proportional to messages >>>>>>>>>>>>>> throughput >>>>>>>>>>>>>> of the cluster. Then only the tasks like subscriber adding / >>>>>>>>>>>>>> removing >>>>>>>>>>>>>> should be handled by the coordinator. As this is not the current >>>>>>>>>>>>>> implementation, we can consider multiple coordinator approach. >>>>>>>>>>>>>> Then the >>>>>>>>>>>>>> number of coordinators should be scalable with the message >>>>>>>>>>>>>> throughout. I am >>>>>>>>>>>>>> not sure whether locking the database per transaction would >>>>>>>>>>>>>> achieve this >>>>>>>>>>>>>> coordinator scalability in the multiple coordinator >>>>>>>>>>>>>> implementation. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Thanks. >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> *Maninda Edirisooriya* >>>>>>>>>>>>>> Senior Software Engineer >>>>>>>>>>>>>> >>>>>>>>>>>>>> *WSO2, Inc.*lean.enterprise.middleware. >>>>>>>>>>>>>> >>>>>>>>>>>>>> *Blog* : http://maninda.blogspot.com/ >>>>>>>>>>>>>> *E-mail* : mani...@wso2.com >>>>>>>>>>>>>> *Skype* : @manindae >>>>>>>>>>>>>> *Twitter* : @maninda >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Fri, Aug 5, 2016 at 2:42 PM, Sajini De Silva < >>>>>>>>>>>>>> saj...@wso2.com> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Hi Maninda, >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Fri, Aug 5, 2016 at 2:28 PM, Maninda Edirisooriya < >>>>>>>>>>>>>>> mani...@wso2.com> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> @Sajini, >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> But the number of slots are proportional to the number of >>>>>>>>>>>>>>>> messages pass through the MB which needs to be handled by the >>>>>>>>>>>>>>>> coordinator. >>>>>>>>>>>>>>>> That is what I meant by "information related to meta data of >>>>>>>>>>>>>>>> messages pass >>>>>>>>>>>>>>>> through a single coordinator". Ideally after the senders and >>>>>>>>>>>>>>>> receivers are >>>>>>>>>>>>>>>> subscribed to the cluster, coordinator should have nothing to >>>>>>>>>>>>>>>> do until they >>>>>>>>>>>>>>>> are removed or changed. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Even though it is possible to have multiple coordinators >>>>>>>>>>>>>>> after having en effort (Lock the database for a whole >>>>>>>>>>>>>>> transaction or the >>>>>>>>>>>>>>> work load distribution as described by Ramith) , coordinator >>>>>>>>>>>>>>> may have >>>>>>>>>>>>>>> different work to do other than subscriber adding and removing. >>>>>>>>>>>>>>> As I said >>>>>>>>>>>>>>> earlier our MB message distribution system is based on slot >>>>>>>>>>>>>>> architecture >>>>>>>>>>>>>>> and slots will managed by the coordinator. You can read [1] to >>>>>>>>>>>>>>> understand >>>>>>>>>>>>>>> more about slot architecture in MB. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> [1] http://sajinid.blogspot.com/2015/03/wso2-message-broker- >>>>>>>>>>>>>>> 300-slot-based.html >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Thanks >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> @Ramith, >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> +1 for multiple coordinators by partitioning the cluster >>>>>>>>>>>>>>>> which maintains the simplicity and correctness of the >>>>>>>>>>>>>>>> algorithm than >>>>>>>>>>>>>>>> compromising simplicity with a less important factor like >>>>>>>>>>>>>>>> "delivering a >>>>>>>>>>>>>>>> good mix of messages". >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Thanks. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> *Maninda Edirisooriya* >>>>>>>>>>>>>>>> Senior Software Engineer >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> *WSO2, Inc.*lean.enterprise.middleware. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> *Blog* : http://maninda.blogspot.com/ >>>>>>>>>>>>>>>> *E-mail* : mani...@wso2.com >>>>>>>>>>>>>>>> *Skype* : @manindae >>>>>>>>>>>>>>>> *Twitter* : @maninda >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Fri, Aug 5, 2016 at 2:05 PM, Ramith Jayasinghe < >>>>>>>>>>>>>>>> ram...@wso2.com> wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> @Imesh, >>>>>>>>>>>>>>>>> We can prove that doing leader election using >>>>>>>>>>>>>>>>> a lib (where we maintain cluster state in another place, >>>>>>>>>>>>>>>>> a.k.a DB) will not >>>>>>>>>>>>>>>>> solve our original problem (this also relates to our past >>>>>>>>>>>>>>>>> experience with >>>>>>>>>>>>>>>>> both the zookeeper and hazelcast). >>>>>>>>>>>>>>>>> We can make this implementation a common component if >>>>>>>>>>>>>>>>> other products have a use of it. BPS might be able to use it >>>>>>>>>>>>>>>>> since their >>>>>>>>>>>>>>>>> data is also in the database. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> @Malaka: >>>>>>>>>>>>>>>>> VFS scenario can't be solved by relying on this >>>>>>>>>>>>>>>>> implementation. why? you can have the access to DB but not VFS >>>>>>>>>>>>>>>>> resources/file (and vice versa). this is the same point we >>>>>>>>>>>>>>>>> explained before. >>>>>>>>>>>>>>>>> in Ntask implementation, if tasks are stored in the >>>>>>>>>>>>>>>>> database then using this implementation makes sense. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> @Akila, >>>>>>>>>>>>>>>>> implementing (distributed) a queue algorithm is >>>>>>>>>>>>>>>>> non-trivial. Having one coordinator (single source of truth) >>>>>>>>>>>>>>>>> keeps things >>>>>>>>>>>>>>>>> simple hence it's a conscious design decision we agreed >>>>>>>>>>>>>>>>> during the initial >>>>>>>>>>>>>>>>> stages. However, possible extension to this scheme is to have >>>>>>>>>>>>>>>>> multiple >>>>>>>>>>>>>>>>> coordinators ( each responsible for coordinating a subset of >>>>>>>>>>>>>>>>> queues in the >>>>>>>>>>>>>>>>> cluster), that will be some what similar to kafka. >>>>>>>>>>>>>>>>> Even if its preferable to have no coordinator at-all, (to >>>>>>>>>>>>>>>>> decide how messages are disseminated in the cluster) that >>>>>>>>>>>>>>>>> will make us >>>>>>>>>>>>>>>>> give up desired behaviour such as delivering a good mix of >>>>>>>>>>>>>>>>> messages (from >>>>>>>>>>>>>>>>> different publishers) to consumers in a cluster. having said >>>>>>>>>>>>>>>>> this, we have >>>>>>>>>>>>>>>>> an ongoing research on how to improve the algorithm and we >>>>>>>>>>>>>>>>> like to try out >>>>>>>>>>>>>>>>> both these approaches. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On Fri, Aug 5, 2016 at 1:31 PM, Malaka Silva < >>>>>>>>>>>>>>>>> mal...@wso2.com> wrote: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> The same issue with Hazelcast can be experienced with ESB >>>>>>>>>>>>>>>>>> inbounds (running on top of NTASK) and VFS distribution >>>>>>>>>>>>>>>>>> locks. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> The idea of only single worker works at a given time >>>>>>>>>>>>>>>>>> breaks if there is a Hazelcast heart beat fails. This will >>>>>>>>>>>>>>>>>> make two workers >>>>>>>>>>>>>>>>>> to work in parallel. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Also with distributed locking there is no guarantee that >>>>>>>>>>>>>>>>>> file is only process only by one worker. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> So in the case of network fail >>>>>>>>>>>>>>>>>> with DB >>>>>>>>>>>>>>>>>> make sense to stop processing until it's recovered. >>>>>>>>>>>>>>>>>> Also making this component generic ESB can reuse. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> On Fri, Aug 5, 2016 at 9:21 AM, Asitha Nanayakkara < >>>>>>>>>>>>>>>>>> asi...@wso2.com> wrote: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Hi Imesh, >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> On Fri, Aug 5, 2016 at 7:33 AM, Imesh Gunaratne < >>>>>>>>>>>>>>>>>>> im...@wso2.com> wrote: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> On Fri, Aug 5, 2016 at 7:31 AM, Imesh Gunaratne < >>>>>>>>>>>>>>>>>>>> im...@wso2.com> wrote: >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> You can see here [3] how K8S has implemented leader >>>>>>>>>>>>>>>>>>>>> election feature for the products deployed on top of that >>>>>>>>>>>>>>>>>>>>> to utilize. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Correction: Please refer [4]. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> On Thu, Aug 4, 2016 at 7:27 PM, Asanka Abeyweera < >>>>>>>>>>>>>>>>>>>>>> asank...@wso2.com> wrote: >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Hi Imesh, >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> We are not implementing this to overcome a >>>>>>>>>>>>>>>>>>>>>>> limitation in the coordination algorithm available in >>>>>>>>>>>>>>>>>>>>>>> the Hazlecast. We are >>>>>>>>>>>>>>>>>>>>>>> implementing this since we need an RDBMS based >>>>>>>>>>>>>>>>>>>>>>> coordination algorithm (not >>>>>>>>>>>>>>>>>>>>>>> a network based algorithm). >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> Are you saying that database connections do not use >>>>>>>>>>>>>>>>>>>>> the same network used by Hazelcast? >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> The reason is, a network based election algorithm >>>>>>>>>>>>>>>>>>>>>>> will always elect multiple leaders when the network is >>>>>>>>>>>>>>>>>>>>>>> partitioned. But if >>>>>>>>>>>>>>>>>>>>>>> we use a RDBMS based algorithm this will not happen. >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> I do not think your argument is correct. If there is >>>>>>>>>>>>>>>>>>>>> a problem with the network, it may apply to both >>>>>>>>>>>>>>>>>>>>> Hazelcast based solution >>>>>>>>>>>>>>>>>>>>> and database based solution. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Yes, if the same network interface is used network >>>>>>>>>>>>>>>>>>> partion will cause all types of connections to be >>>>>>>>>>>>>>>>>>> partitioned. But user can >>>>>>>>>>>>>>>>>>> use multiple network interfaces for database, Hazelcast and >>>>>>>>>>>>>>>>>>> thrift. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Following is the scenario we are trying to solve in MB. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> In MB all the details related to messages, >>>>>>>>>>>>>>>>>>> subscriptions, queues, topics etc are stored in database. >>>>>>>>>>>>>>>>>>> And we operate >>>>>>>>>>>>>>>>>>> depending on that information. If the MB node can't connect >>>>>>>>>>>>>>>>>>> to the database >>>>>>>>>>>>>>>>>>> that means the node is ineffective in the cluster until it >>>>>>>>>>>>>>>>>>> can make a >>>>>>>>>>>>>>>>>>> database connection. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> We have seen instances where Hazelcast cluster get >>>>>>>>>>>>>>>>>>> partitioned for some time period in networks, Reasons were, >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> 1. Due to heavy load Hazelcast couldn't process or >>>>>>>>>>>>>>>>>>> send (some times both) hearbeats, hence a network >>>>>>>>>>>>>>>>>>> partition for Hazelcast >>>>>>>>>>>>>>>>>>> cluster >>>>>>>>>>>>>>>>>>> 2. An actual network partition of Hazelcast cluster >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> In both scenarios the database connection was working. >>>>>>>>>>>>>>>>>>> In that case we get two coordinators elected through >>>>>>>>>>>>>>>>>>> Hazelcast and working >>>>>>>>>>>>>>>>>>> on the same database to deliver the messages. this leads to >>>>>>>>>>>>>>>>>>> inconsistencies >>>>>>>>>>>>>>>>>>> in the cluster behavior (for instances duplicate message >>>>>>>>>>>>>>>>>>> delivery, >>>>>>>>>>>>>>>>>>> corrupred subscription states etc) . >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Since the point of interest for MB is the database, we >>>>>>>>>>>>>>>>>>> decided to do the coordinator election through database as >>>>>>>>>>>>>>>>>>> well. If the >>>>>>>>>>>>>>>>>>> node can't connect to the database, then the MB won't >>>>>>>>>>>>>>>>>>> operate anyway. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>>>>>>> Asitha >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> [4] http://blog.kubernetes.io/ >>>>>>>>>>>>>>>>>>>>> 2016/01/simple-leader-election-with-Kubernetes.html >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> Thanks >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> On Thu, Aug 4, 2016 at 7:16 PM, Imesh Gunaratne < >>>>>>>>>>>>>>>>>>>>>>> im...@wso2.com> wrote: >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Hi Asanka, >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Do we really need to implement a leader election >>>>>>>>>>>>>>>>>>>>>>>> algorithm on our own? AFAIU this is a complex problem >>>>>>>>>>>>>>>>>>>>>>>> which has been >>>>>>>>>>>>>>>>>>>>>>>> already solved by several algorithms [1]. IMO it would >>>>>>>>>>>>>>>>>>>>>>>> be better to go >>>>>>>>>>>>>>>>>>>>>>>> ahead with an existing well established implementation >>>>>>>>>>>>>>>>>>>>>>>> on etcd [1] or >>>>>>>>>>>>>>>>>>>>>>>> Consul [2]. >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Those provide HTTP APIs for clients to make leader >>>>>>>>>>>>>>>>>>>>>>>> election calls. [3] is a client library written in >>>>>>>>>>>>>>>>>>>>>>>> Node.js for etcd based >>>>>>>>>>>>>>>>>>>>>>>> leader election. >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> [1] https://www.projectcalico. >>>>>>>>>>>>>>>>>>>>>>>> org/using-etcd-for-elections >>>>>>>>>>>>>>>>>>>>>>>> [2] https://www.consul.io/docs >>>>>>>>>>>>>>>>>>>>>>>> /guides/leader-election.html >>>>>>>>>>>>>>>>>>>>>>>> [3] https://www.npmjs.com/package/etcd-leader >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Thanks >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> On Wed, Aug 3, 2016 at 5:12 PM, Asanka Abeyweera < >>>>>>>>>>>>>>>>>>>>>>>> asank...@wso2.com> wrote: >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> Hi Maninda, >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> Since we are using RDBMS to poll the node status, >>>>>>>>>>>>>>>>>>>>>>>>> the cluster will not end up in situation 1,2 or 3. >>>>>>>>>>>>>>>>>>>>>>>>> With this approach we >>>>>>>>>>>>>>>>>>>>>>>>> consider a node unreachable when it cannot access the >>>>>>>>>>>>>>>>>>>>>>>>> database. Therefore >>>>>>>>>>>>>>>>>>>>>>>>> an unreachable node can never be the leader. >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> As you have mentioned, we are currently using the >>>>>>>>>>>>>>>>>>>>>>>>> RDBMS as an atomic global variable to create the >>>>>>>>>>>>>>>>>>>>>>>>> coordinator entry. >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> On Tue, Aug 2, 2016 at 5:22 PM, Maninda >>>>>>>>>>>>>>>>>>>>>>>>> Edirisooriya <mani...@wso2.com> wrote: >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>> Hi Asanka, >>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>> As I understand the accuracy of electing the >>>>>>>>>>>>>>>>>>>>>>>>>> leader correctly is dependent on the election >>>>>>>>>>>>>>>>>>>>>>>>>> mechanism with RDBMS because >>>>>>>>>>>>>>>>>>>>>>>>>> there can be edge cases like, >>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1. Unreachable leader activates during the >>>>>>>>>>>>>>>>>>>>>>>>>> election process: Then who becomes the leader? >>>>>>>>>>>>>>>>>>>>>>>>>> 2. The elected leader becomes unreachable before >>>>>>>>>>>>>>>>>>>>>>>>>> the election is completed: Then will there be a >>>>>>>>>>>>>>>>>>>>>>>>>> situation where there is no >>>>>>>>>>>>>>>>>>>>>>>>>> leader? >>>>>>>>>>>>>>>>>>>>>>>>>> 3. A leader and a set of nodes are disconnected >>>>>>>>>>>>>>>>>>>>>>>>>> from the other part of the cluster and while the >>>>>>>>>>>>>>>>>>>>>>>>>> leader is trying to remove >>>>>>>>>>>>>>>>>>>>>>>>>> unreachable members other part is calling an >>>>>>>>>>>>>>>>>>>>>>>>>> election to make a leader: Who >>>>>>>>>>>>>>>>>>>>>>>>>> will win? >>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>> RDBMS based election algorithm should handle such >>>>>>>>>>>>>>>>>>>>>>>>>> cases without bringing the cluster to an >>>>>>>>>>>>>>>>>>>>>>>>>> inconsistent state or dead lock in >>>>>>>>>>>>>>>>>>>>>>>>>> all concurrent cases. If all these kind of cases >>>>>>>>>>>>>>>>>>>>>>>>>> cannot be handled isn't it >>>>>>>>>>>>>>>>>>>>>>>>>> better to keep the current hazelcast clustering and >>>>>>>>>>>>>>>>>>>>>>>>>> use the RDBMS only to >>>>>>>>>>>>>>>>>>>>>>>>>> handle the split brain scenario? In other words when >>>>>>>>>>>>>>>>>>>>>>>>>> a new hazelcast leader >>>>>>>>>>>>>>>>>>>>>>>>>> is elected it should be updated in the RDBMS. If >>>>>>>>>>>>>>>>>>>>>>>>>> another split party has >>>>>>>>>>>>>>>>>>>>>>>>>> already elected a leader, the node who is going to >>>>>>>>>>>>>>>>>>>>>>>>>> write it to RDBMS should >>>>>>>>>>>>>>>>>>>>>>>>>> avoid updating it. Simply, the RDBMS can be used as >>>>>>>>>>>>>>>>>>>>>>>>>> an atomic global >>>>>>>>>>>>>>>>>>>>>>>>>> variable to keep the leader name by modifying the >>>>>>>>>>>>>>>>>>>>>>>>>> hazelcast clustering. >>>>>>>>>>>>>>>>>>>>>>>>>> WDYT? >>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>> Thanks. >>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>> *Maninda Edirisooriya* >>>>>>>>>>>>>>>>>>>>>>>>>> Senior Software Engineer >>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>> *WSO2, Inc.*lean.enterprise.middleware. >>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>> *Blog* : http://maninda.blogspot.com/ >>>>>>>>>>>>>>>>>>>>>>>>>> *E-mail* : mani...@wso2.com >>>>>>>>>>>>>>>>>>>>>>>>>> *Skype* : @manindae >>>>>>>>>>>>>>>>>>>>>>>>>> *Twitter* : @maninda >>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Jul 28, 2016 at 4:38 PM, Asanka Abeyweera >>>>>>>>>>>>>>>>>>>>>>>>>> <asank...@wso2.com> wrote: >>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Akila, >>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> Let me explain the issue in a different way. >>>>>>>>>>>>>>>>>>>>>>>>>>> Let's assume the MB nodes are using two different >>>>>>>>>>>>>>>>>>>>>>>>>>> network interfaces for >>>>>>>>>>>>>>>>>>>>>>>>>>> Hazelcast communication and database communication. >>>>>>>>>>>>>>>>>>>>>>>>>>> With such a >>>>>>>>>>>>>>>>>>>>>>>>>>> configuration, there can be failures only in the >>>>>>>>>>>>>>>>>>>>>>>>>>> network interface used for >>>>>>>>>>>>>>>>>>>>>>>>>>> Hazelcast communication in some nodes. When this >>>>>>>>>>>>>>>>>>>>>>>>>>> happens, there will be two >>>>>>>>>>>>>>>>>>>>>>>>>>> or more Hazelcast clusters due to the network >>>>>>>>>>>>>>>>>>>>>>>>>>> segmentation, and as a result >>>>>>>>>>>>>>>>>>>>>>>>>>> there will be multiple coordinators. Since every >>>>>>>>>>>>>>>>>>>>>>>>>>> node still have access to >>>>>>>>>>>>>>>>>>>>>>>>>>> the database, multiple coordinators can affect the >>>>>>>>>>>>>>>>>>>>>>>>>>> correctness of the data >>>>>>>>>>>>>>>>>>>>>>>>>>> stored in the DB. But if we used a RDBMS based >>>>>>>>>>>>>>>>>>>>>>>>>>> approach we won't have >>>>>>>>>>>>>>>>>>>>>>>>>>> multiple coordinators due to a network partition in >>>>>>>>>>>>>>>>>>>>>>>>>>> Hazelcast. This is one >>>>>>>>>>>>>>>>>>>>>>>>>>> advantage we get from this approach. >>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> Even when we use Zookeeper or RAFT the same >>>>>>>>>>>>>>>>>>>>>>>>>>> issue will be there since we are using different >>>>>>>>>>>>>>>>>>>>>>>>>>> interfaces for Hazelcast >>>>>>>>>>>>>>>>>>>>>>>>>>> communication and DB communication. >>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Jul 28, 2016 at 2:56 PM, Akila Ravihansa >>>>>>>>>>>>>>>>>>>>>>>>>>> Perera <raviha...@wso2.com> wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>> What's the advantage of using RDBMS (even as an >>>>>>>>>>>>>>>>>>>>>>>>>>>> alternative) to implement a leader/coordinator >>>>>>>>>>>>>>>>>>>>>>>>>>>> election? If the network >>>>>>>>>>>>>>>>>>>>>>>>>>>> connection to DB fails then this will be a single >>>>>>>>>>>>>>>>>>>>>>>>>>>> point of failure. I don't >>>>>>>>>>>>>>>>>>>>>>>>>>>> think we can scale RDBMS instances and expect the >>>>>>>>>>>>>>>>>>>>>>>>>>>> election algorithm to >>>>>>>>>>>>>>>>>>>>>>>>>>>> work. That would be reducing this problem to >>>>>>>>>>>>>>>>>>>>>>>>>>>> another problem (electing >>>>>>>>>>>>>>>>>>>>>>>>>>>> coordinator RDBMS instance). >>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>> IMHO it would be better to look at Zookeeper >>>>>>>>>>>>>>>>>>>>>>>>>>>> Atomic Broadcast (ZAB) [1] or RAFT leader election >>>>>>>>>>>>>>>>>>>>>>>>>>>> [2] algorithms which >>>>>>>>>>>>>>>>>>>>>>>>>>>> have already proven results. >>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>> [1] https://cwiki.apache.org/c >>>>>>>>>>>>>>>>>>>>>>>>>>>> onfluence/display/ZOOKEEPER/Zab1.0 >>>>>>>>>>>>>>>>>>>>>>>>>>>> [2] http://libraft.io/ >>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks. >>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Jul 28, 2016 at 1:42 PM, Nandika >>>>>>>>>>>>>>>>>>>>>>>>>>>> Jayawardana <nand...@wso2.com> wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>> +1 to make it a common component . We have the >>>>>>>>>>>>>>>>>>>>>>>>>>>>> clustering implementation for BPEL component >>>>>>>>>>>>>>>>>>>>>>>>>>>>> based on hazelcast. If the >>>>>>>>>>>>>>>>>>>>>>>>>>>>> coordination is available at RDBMS level, we can >>>>>>>>>>>>>>>>>>>>>>>>>>>>> remove hazelcast >>>>>>>>>>>>>>>>>>>>>>>>>>>>> dependancy. >>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>> Regards >>>>>>>>>>>>>>>>>>>>>>>>>>>>> Nandika >>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Jul 28, 2016 at 1:28 PM, Hasitha >>>>>>>>>>>>>>>>>>>>>>>>>>>>> Aravinda <hasi...@wso2.com> wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Can we make it a common component, which is >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> not hard coupled with MB. BPS has the same >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> requirement. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks, >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hasitha. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Jul 28, 2016 at 9:47 AM, Asanka >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Abeyweera <asank...@wso2.com> wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi All, >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> In MB, we have used a coordinator based >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> approach to manage distributed messaging >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> algorithm in the cluster. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Currently Hazelcast is used to elect the >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> coordinator. But one issue we >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> faced with Hazelcast is, during a network >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> segmentation (split brain), >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hazelcast can elect two or more coordinators in >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the cluster. This affects >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the correctness of the distributed messaging >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> algorithm since there are some >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tables in the database that should only be >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> edited by a single node (i.e. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> coordinator). >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> As a solution to this problem we have >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> implemented minimum node count based approach >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> [1] to deactivate set of >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> partitioned nodes to stop multiple nodes >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> becoming coordinators until the >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> network segmentation issue is fixed. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> As an alternative solution, we are thinking >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> of implementing an RDBMS based approach to >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> elect the coordinator node in >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the cluster. By doing this we can make sure >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that even during a network >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> segmentation only one node will be elected as >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the coordinator node since >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the election is happening through the database. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> The algorithm will use a polling mechanism >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to check the validity of the nodes. To make the >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> election algorithm >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> scalable, only the coordinator node will be >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> checking status of all the >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> nodes in the cluster and it will inform other >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> nodes through database when a >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> member is added/left. The nodes will be only >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> checking for the status of the >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> coordinator node. When a node detect that >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> coordinator is invalid it will go >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> for a election to elect a new coordinator. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> We are currently working on a POC to test >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> how this works with MB's slot based messaging >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> algorithm. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> thoughts? >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> [1] https://wso2.org/jira/browse/MB-1664 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Asanka Abeyweera >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Senior Software Engineer >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> WSO2 Inc. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Phone: +94 712228648 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Blog: a5anka.github.io >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> <https://wso2.com/signature> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ______________________________ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> _________________ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Architecture mailing list >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Architecture@wso2.org >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> mailman/listinfo/architecture >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hasitha Aravinda, >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Associate Technical Lead, >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> WSO2 Inc. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Email: hasi...@wso2.com >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Mobile : +94 718 210 200 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ______________________________ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> _________________ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Architecture mailing list >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Architecture@wso2.org >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> mailman/listinfo/architecture >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>>>>>>>>>> Nandika Jayawardana >>>>>>>>>>>>>>>>>>>>>>>>>>>>> WSO2 Inc ; http://wso2.com >>>>>>>>>>>>>>>>>>>>>>>>>>>>> lean.enterprise.middleware >>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>> ______________________________ >>>>>>>>>>>>>>>>>>>>>>>>>>>>> _________________ >>>>>>>>>>>>>>>>>>>>>>>>>>>>> Architecture mailing list >>>>>>>>>>>>>>>>>>>>>>>>>>>>> Architecture@wso2.org >>>>>>>>>>>>>>>>>>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/ >>>>>>>>>>>>>>>>>>>>>>>>>>>>> mailman/listinfo/architecture >>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>>>>>>>>> Akila Ravihansa Perera >>>>>>>>>>>>>>>>>>>>>>>>>>>> WSO2 Inc.; http://wso2.com/ >>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>> Blog: http://ravihansa3000.blogspot.com >>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>>>>>>>>>>>>>>> Architecture mailing list >>>>>>>>>>>>>>>>>>>>>>>>>>>> Architecture@wso2.org >>>>>>>>>>>>>>>>>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/ >>>>>>>>>>>>>>>>>>>>>>>>>>>> mailman/listinfo/architecture >>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>>>>>>>> Asanka Abeyweera >>>>>>>>>>>>>>>>>>>>>>>>>>> Senior Software Engineer >>>>>>>>>>>>>>>>>>>>>>>>>>> WSO2 Inc. >>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> Phone: +94 712228648 >>>>>>>>>>>>>>>>>>>>>>>>>>> Blog: a5anka.github.io >>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> <https://wso2.com/signature> >>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>>>>>>>>>>>>>> Architecture mailing list >>>>>>>>>>>>>>>>>>>>>>>>>>> Architecture@wso2.org >>>>>>>>>>>>>>>>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/ >>>>>>>>>>>>>>>>>>>>>>>>>>> mailman/listinfo/architecture >>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>>>>>> Asanka Abeyweera >>>>>>>>>>>>>>>>>>>>>>>>> Senior Software Engineer >>>>>>>>>>>>>>>>>>>>>>>>> WSO2 Inc. >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> Phone: +94 712228648 >>>>>>>>>>>>>>>>>>>>>>>>> Blog: a5anka.github.io >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> <https://wso2.com/signature> >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>>>>>>>>>>>> Architecture mailing list >>>>>>>>>>>>>>>>>>>>>>>>> Architecture@wso2.org >>>>>>>>>>>>>>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/ >>>>>>>>>>>>>>>>>>>>>>>>> mailman/listinfo/architecture >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>>>>> *Imesh Gunaratne* >>>>>>>>>>>>>>>>>>>>>>>> Software Architect >>>>>>>>>>>>>>>>>>>>>>>> WSO2 Inc: http://wso2.com >>>>>>>>>>>>>>>>>>>>>>>> T: +94 11 214 5345 M: +94 77 374 2057 >>>>>>>>>>>>>>>>>>>>>>>> W: https://medium.com/@imesh TW: @imesh >>>>>>>>>>>>>>>>>>>>>>>> lean. enterprise. middleware >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>>>>>>>>>>> Architecture mailing list >>>>>>>>>>>>>>>>>>>>>>>> Architecture@wso2.org >>>>>>>>>>>>>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/ >>>>>>>>>>>>>>>>>>>>>>>> mailman/listinfo/architecture >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>>>> Asanka Abeyweera >>>>>>>>>>>>>>>>>>>>>>> Senior Software Engineer >>>>>>>>>>>>>>>>>>>>>>> WSO2 Inc. >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Phone: +94 712228648 >>>>>>>>>>>>>>>>>>>>>>> Blog: a5anka.github.io >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> <https://wso2.com/signature> >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>>>>>>>>>> Architecture mailing list >>>>>>>>>>>>>>>>>>>>>>> Architecture@wso2.org >>>>>>>>>>>>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/ >>>>>>>>>>>>>>>>>>>>>>> mailman/listinfo/architecture >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>>> Ramith Jayasinghe >>>>>>>>>>>>>>>>>>>>>> Technical Lead >>>>>>>>>>>>>>>>>>>>>> WSO2 Inc., http://wso2.com >>>>>>>>>>>>>>>>>>>>>> lean.enterprise.middleware >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> E: ram...@wso2.com >>>>>>>>>>>>>>>>>>>>>> P: +94 772534930 >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>>>>>>>>> Architecture mailing list >>>>>>>>>>>>>>>>>>>>>> Architecture@wso2.org >>>>>>>>>>>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/ >>>>>>>>>>>>>>>>>>>>>> mailman/listinfo/architecture >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>> *Imesh Gunaratne* >>>>>>>>>>>>>>>>>>>>> Software Architect >>>>>>>>>>>>>>>>>>>>> WSO2 Inc: http://wso2.com >>>>>>>>>>>>>>>>>>>>> T: +94 11 214 5345 M: +94 77 374 2057 >>>>>>>>>>>>>>>>>>>>> W: https://medium.com/@imesh TW: @imesh >>>>>>>>>>>>>>>>>>>>> lean. enterprise. middleware >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>> *Imesh Gunaratne* >>>>>>>>>>>>>>>>>>>> Software Architect >>>>>>>>>>>>>>>>>>>> WSO2 Inc: http://wso2.com >>>>>>>>>>>>>>>>>>>> T: +94 11 214 5345 M: +94 77 374 2057 >>>>>>>>>>>>>>>>>>>> W: https://medium.com/@imesh TW: @imesh >>>>>>>>>>>>>>>>>>>> lean. enterprise. middleware >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>>>>>>> Architecture mailing list >>>>>>>>>>>>>>>>>>>> Architecture@wso2.org >>>>>>>>>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/ >>>>>>>>>>>>>>>>>>>> mailman/listinfo/architecture >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>> *Asitha Nanayakkara* <http://asitha.github.io/> >>>>>>>>>>>>>>>>>>> Senior Software Engineer >>>>>>>>>>>>>>>>>>> WSO2, Inc. <http://wso2.com/> >>>>>>>>>>>>>>>>>>> Mob: +94 77 853 0682 >>>>>>>>>>>>>>>>>>> [image: https://wso2.com/signature] >>>>>>>>>>>>>>>>>>> <https://wso2.com/signature> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>>>>>> Architecture mailing list >>>>>>>>>>>>>>>>>>> Architecture@wso2.org >>>>>>>>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/ >>>>>>>>>>>>>>>>>>> mailman/listinfo/architecture >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Best Regards, >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Malaka Silva >>>>>>>>>>>>>>>>>> Senior Technical Lead >>>>>>>>>>>>>>>>>> M: +94 777 219 791 >>>>>>>>>>>>>>>>>> Tel : 94 11 214 5345 >>>>>>>>>>>>>>>>>> Fax :94 11 2145300 >>>>>>>>>>>>>>>>>> Skype : malaka.sampath.silva >>>>>>>>>>>>>>>>>> LinkedIn : http://www.linkedin.com/pub/ >>>>>>>>>>>>>>>>>> malaka-silva/6/33/77 >>>>>>>>>>>>>>>>>> Blog : http://mrmalakasilva.blogspot.com/ >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> WSO2, Inc. >>>>>>>>>>>>>>>>>> lean . enterprise . middleware >>>>>>>>>>>>>>>>>> https://wso2.com/signature >>>>>>>>>>>>>>>>>> http://www.wso2.com/about/team/malaka-silva/ >>>>>>>>>>>>>>>>>> <http://wso2.com/about/team/malaka-silva/> >>>>>>>>>>>>>>>>>> https://store.wso2.com/store/ >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Don't make Trees rare, we should keep them with care >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>>>>> Architecture mailing list >>>>>>>>>>>>>>>>>> Architecture@wso2.org >>>>>>>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/ >>>>>>>>>>>>>>>>>> mailman/listinfo/architecture >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>> Ramith Jayasinghe >>>>>>>>>>>>>>>>> Technical Lead >>>>>>>>>>>>>>>>> WSO2 Inc., http://wso2.com >>>>>>>>>>>>>>>>> lean.enterprise.middleware >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> E: ram...@wso2.com >>>>>>>>>>>>>>>>> P: +94 772534930 >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>>>> Architecture mailing list >>>>>>>>>>>>>>>>> Architecture@wso2.org >>>>>>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/ >>>>>>>>>>>>>>>>> mailman/listinfo/architecture >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>> Sajini De SIlva >>>>>>>>>>>>>>> Senior Software Engineer; WSO2 Inc.; http://wso2.com , >>>>>>>>>>>>>>> Email: saj...@wso2.com >>>>>>>>>>>>>>> Blog: http://sajinid.blogspot.com/ >>>>>>>>>>>>>>> Git hub profile: https://github.com/sajinidesilva >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Phone: +94 712797729 >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> Sajini De SIlva >>>>>>>>>>>>> Senior Software Engineer; WSO2 Inc.; http://wso2.com , >>>>>>>>>>>>> Email: saj...@wso2.com >>>>>>>>>>>>> Blog: http://sajinid.blogspot.com/ >>>>>>>>>>>>> Git hub profile: https://github.com/sajinidesilva >>>>>>>>>>>>> >>>>>>>>>>>>> Phone: +94 712797729 >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>> Architecture mailing list >>>>>>>>>>>>> Architecture@wso2.org >>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Kasun Indrasiri >>>>>>>>>>>> Director, Integration Technologies >>>>>>>>>>>> WSO2, Inc.; http://wso2.com >>>>>>>>>>>> lean.enterprise.middleware >>>>>>>>>>>> >>>>>>>>>>>> cell: +1 650 450 2293 >>>>>>>>>>>> Blog : http://kasunpanorama.blogspot.com/ >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> *Anjana Fernando* >>>>>>>>>>> Associate Director / Architect >>>>>>>>>>> WSO2 Inc. | http://wso2.com >>>>>>>>>>> lean . enterprise . middleware >>>>>>>>>>> >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> Architecture mailing list >>>>>>>>>>> Architecture@wso2.org >>>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> *Anjana Fernando* >>>>>>>>> Associate Director / Architect >>>>>>>>> WSO2 Inc. | http://wso2.com >>>>>>>>> lean . enterprise . middleware >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Asanka Abeyweera >>>>>>>> Senior Software Engineer >>>>>>>> WSO2 Inc. >>>>>>>> >>>>>>>> Phone: +94 712228648 >>>>>>>> Blog: a5anka.github.io >>>>>>>> >>>>>>>> <https://wso2.com/signature> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> *Anjana Fernando* >>>>>>> Associate Director / Architect >>>>>>> WSO2 Inc. | http://wso2.com >>>>>>> lean . enterprise . middleware >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> *Anjana Fernando* >>>>>> Associate Director / Architect >>>>>> WSO2 Inc. | http://wso2.com >>>>>> lean . enterprise . middleware >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Asanka Abeyweera >>>>> Senior Software Engineer >>>>> WSO2 Inc. >>>>> >>>>> Phone: +94 712228648 >>>>> Blog: a5anka.github.io >>>>> >>>>> <https://wso2.com/signature> >>>>> >>>> >>>> >>>> >>>> -- >>>> *Anjana Fernando* >>>> Associate Director / Architect >>>> WSO2 Inc. | http://wso2.com >>>> lean . enterprise . middleware >>>> >>> >>> >>> >>> -- >>> *Anjana Fernando* >>> Associate Director / Architect >>> WSO2 Inc. | http://wso2.com >>> lean . enterprise . middleware >>> >> >> >> >> -- >> Ramith Jayasinghe >> Technical Lead >> WSO2 Inc., http://wso2.com >> lean.enterprise.middleware >> >> E: ram...@wso2.com >> P: +94 772534930 >> > > > > -- > *Anjana Fernando* > Associate Director / Architect > WSO2 Inc. | http://wso2.com > lean . enterprise . middleware > -- Ramith Jayasinghe Technical Lead WSO2 Inc., http://wso2.com lean.enterprise.middleware E: ram...@wso2.com P: +94 772534930
_______________________________________________ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture