On Mon, Apr 23, 2012 at 1:08 PM, Kasun Gajasinghe <[email protected]> wrote:
> > On Mon, Apr 23, 2012 at 12:23 PM, Afkham Azeez <[email protected]> wrote: > >> A solution to this came to my mind just now. We can handle this by making >> the DeploymentInterceptor aware of the DeploymentSynchronizer. >> >> If the DeploymentInterceptor detects that a newly added artifact has been >> added through an update done by the DepSync, it should refrain from >> creating the metafiles. This is because, the assumption is there will be >> corresponding metafiles for the newly added artifacts will also exist. If >> the DeploymentInterceptor detects that the newly added artifact has been >> created locally, and not yet committed by the DepSync, then it can go ahead >> with creating local metafiles. >> >> > Great. I'll have a look at this. Handling this from Deployment Interceptor > seems to be the correct solution. I'm not sure whether detecting the newly > created artifacts isn't committed by DepSync as a check is correct though. > That's because the services are not deployed immediately after uploading. > DepSync may run within the time period of service upload time to service > deployment time! > DeploymentSynchronization & call to Axis2 DeploymentEngine run in the same thread. > > Thanks, > --KasunG > > >> >> On Mon, Apr 23, 2012 at 12:13 PM, Kasun Gajasinghe <[email protected]>wrote: >> >>> >>> Hi, >>> I've been looking at how the service metadata files propagate to other >>> cluster nodes. I'm using SVN-based depsync. But I've faced to an issue. >>> Here, what happens is that Deployment Synchronizer propagates the >>> service archives to the other nodes. And then DeploymentInterceptor creates >>> service metadata files in the master node. After that slave nodes' DI also >>> creates service metafiles by themselves. This causes an issue when one node >>> committed these metadata files, and another tried to checkout it because >>> those have unversioned metadata files in their working copy. >>> >>> Following is the error I get for one metadata file named Version.xml. >>> >>> [2012-04-23 11:53:52,731] ERROR >>> {org.wso2.carbon.deployment.synchronizer.subversion.SVNBasedArtifactRepository} >>> - Error while checking out or updating artifacts from the SVN repository >>> org.tigris.subversion.svnclientadapter.SVNClientException: >>> org.tigris.subversion.svnclientadapter.commandline.CmdLineException: svn: >>> Failed to add file >>> '/wso2/cluster-test/cluster-manager/wso2as-4.5.0-SNAPSHOT/repository/deployment/server/servicemetafiles/Version.xml': >>> *an unversioned file of the same name already exists* >>> >>> at >>> org.tigris.subversion.svnclientadapter.SVNClientException.wrapException(SVNClientException.java:93) >>> at >>> org.tigris.subversion.svnclientadapter.commandline.CmdLineClientAdapter.update(CmdLineClientAdapter.java:596) >>> at >>> org.wso2.carbon.deployment.synchronizer.subversion.SVNBasedArtifactRepository.checkout(SVNBasedArtifactRepository.java:231) >>> at >>> org.wso2.carbon.deployment.synchronizer.internal.DeploymentSynchronizer.checkout(DeploymentSynchronizer.java:144) >>> at >>> org.wso2.carbon.deployment.synchronizer.internal.DeploymentSynchronizerServiceImpl.update(DeploymentSynchronizerServiceImpl.java:59) >>> at >>> org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.doDeploymentSynchronization(CarbonDeploymentSchedulerTask.java:101) >>> at >>> org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.run(CarbonDeploymentSchedulerTask.java:70) >>> at >>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) >>> at >>> java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) >>> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) >>> at >>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98) >>> at >>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180) >>> at >>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204) >>> at >>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) >>> at >>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) >>> at java.lang.Thread.run(Thread.java:662) >>> Caused by: >>> org.tigris.subversion.svnclientadapter.commandline.CmdLineException: svn: >>> Failed to add file >>> '/wso2/cluster-test/cluster-manager/wso2as-4.5.0-SNAPSHOT/repository/deployment/server/servicemetafiles/Version.xml': >>> an unversioned file of the same name already exists >>> >>> at >>> org.tigris.subversion.svnclientadapter.commandline.CommandLine.execString(CommandLine.java:239) >>> at >>> org.tigris.subversion.svnclientadapter.commandline.SvnCommandLine.update(SvnCommandLine.java:802) >>> at >>> org.tigris.subversion.svnclientadapter.commandline.CmdLineClientAdapter.update(CmdLineClientAdapter.java:593) >>> ... 14 more >>> [2012-04-23 11:53:52,732] ERROR >>> {org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask} - >>> Deployment synchronization for tenant 0 failed >>> java.lang.RuntimeException: >>> org.wso2.carbon.deployment.synchronizer.DeploymentSynchronizerException: >>> Error while checking out or updating artifacts from the SVN repository >>> at >>> org.wso2.carbon.deployment.synchronizer.internal.DeploymentSynchronizerServiceImpl.update(DeploymentSynchronizerServiceImpl.java:62) >>> at >>> org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.doDeploymentSynchronization(CarbonDeploymentSchedulerTask.java:101) >>> at >>> org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.run(CarbonDeploymentSchedulerTask.java:70) >>> at >>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) >>> at >>> java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) >>> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) >>> at >>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98) >>> at >>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180) >>> at >>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204) >>> at >>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) >>> at >>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) >>> at java.lang.Thread.run(Thread.java:662) >>> Caused by: >>> org.wso2.carbon.deployment.synchronizer.DeploymentSynchronizerException: >>> Error while checking out or updating artifacts from the SVN repository >>> at >>> org.wso2.carbon.deployment.synchronizer.subversion.SVNBasedArtifactRepository.handleException(SVNBasedArtifactRepository.java:318) >>> at >>> org.wso2.carbon.deployment.synchronizer.subversion.SVNBasedArtifactRepository.checkout(SVNBasedArtifactRepository.java:240) >>> at >>> org.wso2.carbon.deployment.synchronizer.internal.DeploymentSynchronizer.checkout(DeploymentSynchronizer.java:144) >>> at >>> org.wso2.carbon.deployment.synchronizer.internal.DeploymentSynchronizerServiceImpl.update(DeploymentSynchronizerServiceImpl.java:59) >>> ... 11 more >>> Caused by: org.tigris.subversion.svnclientadapter.SVNClientException: >>> org.tigris.subversion.svnclientadapter.commandline.CmdLineException: svn: >>> Failed to add file >>> '/wso2/cluster-test/cluster-manager/wso2as-4.5.0-SNAPSHOT/repository/deployment/server/servicemetafiles/Version.xml': >>> an unversioned file of the same name already exists >>> >>> at >>> org.tigris.subversion.svnclientadapter.SVNClientException.wrapException(SVNClientException.java:93) >>> at >>> org.tigris.subversion.svnclientadapter.commandline.CmdLineClientAdapter.update(CmdLineClientAdapter.java:596) >>> at >>> org.wso2.carbon.deployment.synchronizer.subversion.SVNBasedArtifactRepository.checkout(SVNBasedArtifactRepository.java:231) >>> ... 13 more >>> Caused by: >>> org.tigris.subversion.svnclientadapter.commandline.CmdLineException: svn: >>> Failed to add file >>> '/wso2/cluster-test/cluster-manager/wso2as-4.5.0-SNAPSHOT/repository/deployment/server/servicemetafiles/Version.xml': >>> an unversioned file of the same name already exists >>> >>> at >>> org.tigris.subversion.svnclientadapter.commandline.CommandLine.execString(CommandLine.java:239) >>> at >>> org.tigris.subversion.svnclientadapter.commandline.SvnCommandLine.update(SvnCommandLine.java:802) >>> at >>> org.tigris.subversion.svnclientadapter.commandline.CmdLineClientAdapter.update(CmdLineClientAdapter.java:593) >>> ... 14 more >>> >>> >>> -- >>> *Kasun Gajasinghe* >>> Software Engineer; WSO2 Inc.; http://wso2.com >>> >>> , >>> *email: **kasung AT spamfree wso2.com** cell: **+94 (77) 678-0813* >>> *linked-in: *http://lk.linkedin.com/in/gajasinghe* >>> * >>> *blog: **http://blog.kasunbg.org* <http://blog.kasunbg.org> >>> >>> * >>> twitter: **http://twitter.com/kasunbg* <http://twitter.com/kasunbg> >>> >>> * >>> * >>> >>> >> >> >> -- >> *Afkham Azeez* >> Director of Architecture; WSO2, Inc.; http://wso2.com >> Member; Apache Software Foundation; http://www.apache.org/ >> * <http://www.apache.org/>** >> email: **[email protected]* <[email protected]>* cell: +94 77 3320919 >> blog: **http://blog.afkham.org* <http://blog.afkham.org>* >> twitter: **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> >> * >> linked-in: **http://lk.linkedin.com/in/afkhamazeez* >> * >> * >> *Lean . Enterprise . Middleware* >> >> > > > -- > *Kasun Gajasinghe* > Software Engineer; WSO2 Inc.; http://wso2.com > > , > *email: **kasung AT spamfree wso2.com** cell: **+94 (77) 678-0813* > *linked-in: *http://lk.linkedin.com/in/gajasinghe* > * > *blog: **http://blog.kasunbg.org* <http://blog.kasunbg.org> > > * > twitter: **http://twitter.com/kasunbg* <http://twitter.com/kasunbg> > > * > * > > -- *Afkham Azeez* Director of Architecture; WSO2, Inc.; http://wso2.com Member; Apache Software Foundation; http://www.apache.org/ * <http://www.apache.org/>** email: **[email protected]* <[email protected]>* cell: +94 77 3320919 blog: **http://blog.afkham.org* <http://blog.afkham.org>* twitter: **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> * linked-in: **http://lk.linkedin.com/in/afkhamazeez* * * *Lean . Enterprise . Middleware*
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
