On Mon, Jul 9, 2012 at 3:21 PM, Srinath Perera <[email protected]> wrote:
> Hi Isuru, > > In a review we talked about possibility of not deploying artifacts inside > the CApp back to repo, but deploying them by extracting them into a temp > directory and invoking the respective deployers directly, without using the > hot deployment. IMHO, that is the clean way to handle CApp deployments. > > I think we agreed for the above. > Yes, actually I implemented it more than month ago and I still have the patches attached to [1]. As I described during the meeting, the issue with that approach is handling ESB artifacts. The solution proposed for that was to lock the ESB UI if there's a C-App deployed. But in addition to that, there can be many edge cases of that approach. As we are at the end of the release cycle, after a discussion with Azeez, I just thought of handling it in the manner described above. Because it will need only C-App related fixes. Thanks, ~Isuru [1] https://wso2.org/jira/browse/CARBON-13078 > > Can we solve this problem by doing the above? > > --Srinath > > On Fri, Jul 6, 2012 at 6:05 PM, Isuru Suriarachchi <[email protected]> wrote: > >> Hi all, >> >> I'm trying to fix [1]. Here's the root cause for this issue.. >> >> Imagine a Carbon cluster with 2 nodes where the svn based deployment >> synchronizer (DS) is configured. When a C-App is deployed to node1, it is >> extracted and individual artifacts are copied into respective hot >> directories. When the DS runs for the first time, it copies the C-App into >> node2 and it will be deployed there. When the DS runs again in node1, it >> will try to copy the individual artifacts to node2. But node2 already has >> those artifacts as the C-App id already deployed in node2. Therefore an svn >> conflict occurs. >> >> To resolve this issue, there are two possible options.. >> >> 1. Keeping all artifacts coming from C-Apps out of the repository >> (repository/deployment/server) >> 2. Keeping the original C-App out of the repository >> >> Initially I tried option 1 above and programetically called the relevant >> deployers for individual artifacts. But this creates lot of problems with >> some artifacts (Ex: ESB stuff). Therefore, I'm trying to solve the initial >> problem using option 2 above. >> >> I've taken the carbonapps directory out of repository/deployment/server >> directory and kept it as repository/carbonapps (we can change this if >> needed). Still the carbonapps directory has hot deployment capabilities. >> But it won't be synchronized by the DS. So when a C-App is deployed into >> node 1, it will be extracted and only the individual artifacts will be >> copied into the repository. When the DS runs, all needed artifacts will be >> synced to node 2. Therefore, functionality wise, there won't be any issues >> on node 2. >> >> But if someone logs into the management console of node 2 and go to the >> C-App list, nothing will be listed. Is this something we have to fix? >> Because anyway in a RW/RO cluster, user can't use the management console of >> the slave node. >> >> WDYT?? >> >> Thanks, >> ~Isuru >> >> [1] https://wso2.org/jira/browse/CARBON-13598 >> >> -- >> Isuru Suriarachchi >> Senior Technical Lead >> WSO2 Inc. http://wso2.com >> email : [email protected] >> blog : http://isurues.wordpress.com/ >> >> lean . enterprise . middleware >> >> >> _______________________________________________ >> Dev mailing list >> [email protected] >> http://wso2.org/cgi-bin/mailman/listinfo/dev >> >> > > > -- > ============================ > Srinath Perera, Ph.D. > http://www.cs.indiana.edu/~hperera/ > http://srinathsview.blogspot.com/ > -- Isuru Suriarachchi Senior Technical Lead WSO2 Inc. http://wso2.com email : [email protected] blog : http://isurues.wordpress.com/ lean . enterprise . middleware
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
