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>
*
*
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev