Nandika, I very well understand what you have put across, but it's secondary to me now.
Sudharma, My primary concern is to understand at a high level the deployment architecture and how would master-slave configuration fit in. Are there any restrictions imposed by the in-progress design? Firstly, how would ODE process deployment work under these cluster configurations? Sample Cluster configurations: A load balancer is frontending the servers. 1) Cluster consisting of 2 nodes all Active-Active. 2) Cluster consisting of 2 nodes Active-Passive. 3) Cluster with 2+ nodes with additional nodes either in Active or Passive. regards, sathwik On Wed, May 27, 2015 at 3:04 PM, Nandika Jayawardana <jayaw...@gmail.com> wrote: > Hi Sathwik, > > According to my understanding, in the clustering scenario, the master node > should perform all the deployment actions and the slave nodes also need to > perform some deployment actions. For example, the slave nodes also should > handle the process ACTIVATED event so that the process configuration is > added to the engine and necessary web services are created so that when the > load balancer send requests to any node in the cluster, it is ready to > accept those requests. > > Regards > Nandika > > > > > On Wed, May 27, 2015 at 12:30 PM, Sathwik B P <sathwik...@gmail.com> > wrote: > > > Sudharma, > > > > Where are you going to configure the master-slaves, is it in the web > > application level or at the load balancer? > > > > regards, > > sathwik > > > > On Tue, May 26, 2015 at 7:42 PM, sudharma subasinghe < > > suba...@cse.mrt.ac.lk> > > wrote: > > > > > Hi Tammo, > > > > > > Can you suggest the best method from these to implement? As first I > > > suggested the master-slaves scenario I think it is easy to implement > than > > > distributed lock scenario. However if you can suggest one from these > two, > > > then I can think about it. > > > > > > Thank you > > > > > > On 21 May 2015 at 12:40, Sathwik B P <sathwik...@gmail.com> wrote: > > > > > > > With respect to the hotdeployment, > > > > > > > > We can drop the deployment archive onto the deployment folder. Since > > the > > > > DeploymentPoller are acquiring the distributed lock for the > > > DeploymentUnit, > > > > only one of the nodes will get the lock and initiate the deployment. > > > > DeploymentPollers on other nodes will fail in acquiring the lock and > > > hence > > > > will silently ignore it. > > > > > > > > On Thu, May 21, 2015 at 12:30 PM, Sathwik B P <sathwik...@gmail.com> > > > > wrote: > > > > > > > > > Hi Tammo, > > > > > > > > > > The distributed lock acquisition on the DeploymentUnit should be > > added > > > to > > > > > both DeploymentWebService and DeploymentPoller. > > > > > > > > > > When a deployment operation is initiated through the > > > > DeploymentWebService, > > > > > The load balancer routes it to any of the available nodes. > > > > > > > > > > On the routed node, the DeploymentWebService acquires the > Distributed > > > > > lock. On the remaining nodes the DeploymentPoller will try to > acquire > > > the > > > > > distributed lock and will not get it and hence will silently ignore > > it. > > > > > > > > > > Once the routed node completes the deployment, it will release the > > > lock. > > > > > This way we don't have to stall the DeploymentPoller in other > nodes. > > > > > > > > > > Does it answer the concerns? > > > > > > > > > > > > > > > Now, if we give the responsibility of identifying the master node > to > > > the > > > > > hazelcast, how do we plan to intimate the load balancer to change > > it's > > > > > configuration about the master node? > > > > > Assuming there are 3 nodes in the cluster, > > > > > node1 -master > > > > > node2 - slave > > > > > node3 - slave > > > > > > > > > > Node1 goes down, the LB will promote Node2 as master node, but > > > hazelcast > > > > > might promote Node3 as master node. They are out of sync. > > > > > > > > > > Is this argument valid? > > > > > > > > > > regards, > > > > > sathwik > > > > > > > > > > On Wed, May 20, 2015 at 1:51 PM, Tammo van Lessen < > > > tvanles...@gmail.com> > > > > > wrote: > > > > > > > > > >> Hi Sudharma, > > > > >> > > > > >> what do you expect from the "other nodes deployment"? Compilation > is > > > not > > > > >> needed since the CBP file is written to the (shared) FS. > > Registration > > > is > > > > >> also not needed, since it is done via the shared database. So the > > only > > > > >> thing that might be needed is to tell the engine that there is a > new > > > > >> deployment. I'd need to check that. If this is needed, I revert my > > > last > > > > >> statement, then it is perhaps better to just send an event over > > > > Hazelcast > > > > >> to all nodes that the deployment has changed. > > > > >> > > > > >> Best, > > > > >> Tammo > > > > >> > > > > >> On Wed, May 20, 2015 at 10:13 AM, sudharma subasinghe < > > > > >> suba...@cse.mrt.ac.lk > > > > >> > wrote: > > > > >> > > > > >> > Hi Tammo, > > > > >> > > > > > >> > The master node writes meta data. But runtime information must > be > > > > >> available > > > > >> > in all nodes.Since the folder is shared, all nodes will see the > > > > >> > availability of a new process. My idea is for master node to > write > > > the > > > > >> meta > > > > >> > data and other nodes to just read the meta data and load > > process.So > > > we > > > > >> need > > > > >> > a small delay between master node deployment and other nodes > > > > deployment. > > > > >> > > > > > >> > Is there anyway to set the delay between master node and slaves > > > until > > > > >> > master node finish the deployment? > > > > >> > > > > > >> > Thank you > > > > >> > Sudharma > > > > >> > > > > > >> > > > > > >> > On 20 May 2015 at 13:01, Tammo van Lessen <tvanles...@gmail.com > > > > > > wrote: > > > > >> > > > > > >> > > Hi Sathwik, > > > > >> > > > > > > >> > > On Wed, May 20, 2015 at 6:40 AM, Sathwik B P < > > > sathwik...@gmail.com> > > > > >> > wrote: > > > > >> > > > > > > >> > > > Sudharma/Tammo, > > > > >> > > > > > > > >> > > > 1) How do we plan to decide which is the master node in the > > > > cluster? > > > > >> > > > > > > > >> > > > > > > >> > > I think the easiest approach is to always elect the oldest > node > > in > > > > the > > > > >> > > cluster to be the master. AFAIK Hazelcast can easily asked for > > > this > > > > >> > > information. > > > > >> > > > > > > >> > > > > > > >> > > > > > > >> > > > 2) Don't we need to stall the Deployment Pollers in the > slave > > > > nodes? > > > > >> > > > > > > > >> > > > > > > > >> > > Absolutely. > > > > >> > > > > > > >> > > Suggestion: > > > > >> > > > I am not sure whether do we need Master-SLaves. Why not give > > > every > > > > >> node > > > > >> > > in > > > > >> > > > the cluster the same status (Active-Active). > > > > >> > > > > > > > >> > > > When a new deployment is made, the load balancer can push it > > to > > > > any > > > > >> of > > > > >> > > the > > > > >> > > > available nodes. That node will probably acquire a > distributed > > > > lock > > > > >> on > > > > >> > > the > > > > >> > > > deployment unit and acts as master for that deployment. This > > > > ensures > > > > >> > > > optimum usage of the cluster nodes. Probably no static > > > > >> configuration of > > > > >> > > > Master-Slave in the load balancer nor in the hazelcast. > > > > >> > > > > > > > >> > > > > > > >> > > But this would not allow to have the hotdeployment via > > filesystem > > > > >> still > > > > >> > > enabled, right? > > > > >> > > > > > > >> > > Best, > > > > >> > > Tammo > > > > >> > > > > > > >> > > > > > > >> > > -- > > > > >> > > Tammo van Lessen - http://www.taval.de > > > > >> > > > > > > >> > > > > > >> > > > > >> > > > > >> > > > > >> -- > > > > >> Tammo van Lessen - http://www.taval.de > > > > >> > > > > > > > > > > > > > > > > > > > >