On Mon, Jul 23, 2012 at 2:55 PM, Nuwan Dias <[email protected]> wrote:

> Hi,
>
> Need some help on proceeding with this issue. This is the problem we are
> facing.
>
> In a clustered environment, when we create a tenant on the master node,
> the same tenant does not get created on the slaves nodes automatically.
> Therefore, the relevant tenant artifact directories (ex:
> repository/tenants/1) do not get created on the slave nodes. When a tenant
> creates an artifact on the Master node, the deployment synchronizer
> attempts to sync it on the Slave nodes. This results in an error since the
> relevant directories have not been created on the slave nodes.
>
> One possible solution to this is to create the directories (if they are
> missing) on the slave nodes at deployment synchronization. But I doubt that
> this is the proper solution since this will create deployment directories
> for a non-existent tenant.
>

Can't we create the tenant directories when a checkout request comes? Then,
I hope we can get the tenant id from the svn url of the request!

We can send a Cluster message to all the nodes in a cluster when a tenant
is created. When this cluster message is received to other nodes, those
will create the deployment directory. But that's an overkill I think.

--KasunG


>
> The other solution I see is to find a way to synchronize tenant accounts
> across the cluster. This will ensure that deployment directories will be
> created on all instances at the time of tenant creation.
>
> Is there any other better way to solve this?
>
> Thanks,
> NuwanD.
>
> On Fri, Jul 20, 2012 at 5:37 PM, Nuwan Dias <[email protected]> wrote:
>
>> Hi,
>>
>> The deployment synchronizer should be engaged to the relevant directory
>> path. Therefore, it will not work by creating the directory by hand. If the
>> same tenant (3) is created on the slave node, then the directory structure
>> will be created and engaged to the deployment synchronizer as well.
>>
>> Will discuss on this further to decide on the proper solution.
>>
>> Thanks,
>> NuwanD.
>>
>> On Fri, Jul 20, 2012 at 4:15 PM, Lahiru Sandaruwan <[email protected]>wrote:
>>
>>>
>>>
>>> On Fri, Jul 20, 2012 at 3:30 PM, Muhammed Shariq <[email protected]>wrote:
>>>
>>>> I had a look with Lahiru regarding this issue and it seems the tenant
>>>> directory (eg - repository/tenants/3/ ) is not getting created in the slave
>>>> node. Slave node is configured with auto commit false which is correct. So
>>>> I guess this is a deployment synchronizer issue ?!
>>>>
>>>  Yes, it does not sync apps even after i created the directory
>>> "repository/tenants/3/".
>>>
>>>
>>>>
>>>> On Thu, Jul 19, 2012 at 3:32 PM, Lahiru Sandaruwan <[email protected]>wrote:
>>>>
>>>>>  Hi,
>>>>>
>>>>> I have a App server cluster of 2 servers (Beta 2 packs) clustered
>>>>> using 'wka' method.
>>>>>
>>>>> For master node,
>>>>>
>>>>>         <AutoCommit>true</AutoCommit>
>>>>>         <AutoCheckout>true</AutoCheckout>
>>>>>
>>>>> and slave node,
>>>>>
>>>>>         <AutoCommit>false</AutoCommit>
>>>>>         <AutoCheckout>true</AutoCheckout>
>>>>>
>>>>> When i create a new tenant in master node, it commits  all the apps to
>>>>> svn but slave gives following error,
>>>>>
>>>>> [2012-07-19 15:05:50,181] ERROR
>>>>> {org.wso2.carbon.core.deployment.SynchronizeRepositoryRequest} -
>>>>>  Repository update failed for tenant 2
>>>>> java.lang.RuntimeException:
>>>>> org.wso2.carbon.deployment.synchronizer.DeploymentSynchronizerException: A
>>>>> repository synchronizer has not been engaged for the file path:
>>>>> /home/lahiru/work/phpHosting/php/test/wso2as-5.0.0-SNAPSHOT/repository/tenants/2
>>>>>  at
>>>>> org.wso2.carbon.deployment.synchronizer.internal.DeploymentSynchronizerServiceImpl.update(DeploymentSynchronizerServiceImpl.java:78)
>>>>> at
>>>>> org.wso2.carbon.core.deployment.SynchronizeRepositoryRequest.updateDeploymentRepository(SynchronizeRepositoryRequest.java:78)
>>>>>  at
>>>>> org.wso2.carbon.core.deployment.SynchronizeRepositoryRequest.execute(SynchronizeRepositoryRequest.java:55)
>>>>> at
>>>>> org.apache.axis2.clustering.tribes.RpcMessagingHandler.replyRequest(RpcMessagingHandler.java:55)
>>>>>  at
>>>>> org.apache.catalina.tribes.group.RpcChannel.messageReceived(RpcChannel.java:134)
>>>>> at
>>>>> org.apache.axis2.clustering.tribes.Axis2GroupChannel.messageReceived(Axis2GroupChannel.java:79)
>>>>>  at
>>>>> org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>>
>>>>>
>>>>>
>>>>> When the setup is changed to master-master error changes,
>>>>>
>>>>> [2012-07-19 15:16:16,049] ERROR
>>>>> {org.wso2.carbon.deployment.synchronizer.subversion.SVNBasedArtifactRepository}
>>>>> -  Error while committing artifacts to the SVN repository
>>>>> org.tigris.subversion.svnclientadapter.SVNClientException:
>>>>> org.tigris.subversion.svnclientadapter.commandline.CmdLineException: svn:
>>>>> Commit failed (details follow):
>>>>> svn: Server sent unexpected return value (405 Method Not Allowed) in
>>>>> response to MKCOL request for
>>>>> '/svn/!svn/wrk/978da883-294e-4f4c-b930-663d9881a2af/-1234/webapps/example'
>>>>>
>>>>> at
>>>>> org.tigris.subversion.svnclientadapter.SVNClientException.wrapException(SVNClientException.java:93)
>>>>> at
>>>>> org.tigris.subversion.svnclientadapter.commandline.CmdLineClientAdapter.commit(CmdLineClientAdapter.java:583)
>>>>>  at
>>>>> org.tigris.subversion.svnclientadapter.commandline.CmdLineClientAdapter.commit(CmdLineClientAdapter.java:547)
>>>>> at
>>>>> org.wso2.carbon.deployment.synchronizer.subversion.SVNBasedArtifactRepository.commit(SVNBasedArtifactRepository.java:264)
>>>>>  at
>>>>> org.wso2.carbon.deployment.synchronizer.internal.DeploymentSynchronizer.commit(DeploymentSynchronizer.java:132)
>>>>>
>>>>> Please advice.
>>>>> Thank you.
>>>>>
>>>>> --
>>>>> --
>>>>> Lahiru Sandaruwan
>>>>> Software Engineer,
>>>>> Cloud Team,
>>>>> WSO2 Inc., http://wso2.com
>>>>> lean.enterprise.middleware
>>>>>
>>>>> email: [email protected] cell: (+94) 773 325 954
>>>>> blog: http://lahiruwrites.blogspot.com/
>>>>> twitter: http://twitter.com/lahirus
>>>>> linked-in: http://lk.linkedin.com/pub/lahiru-sandaruwan/16/153/146
>>>>>
>>>>> _______________________________________________
>>>>> Dev mailing list
>>>>> [email protected]
>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Thanks,
>>>> Shariq.
>>>> Phone: +94 777 202 225
>>>>
>>>>
>>>
>>>
>>> --
>>> --
>>> Lahiru Sandaruwan
>>> Software Engineer,
>>> Cloud Team,
>>> WSO2 Inc., http://wso2.com
>>> lean.enterprise.middleware
>>>
>>> email: [email protected] cell: (+94) 773 325 954
>>> blog: http://lahiruwrites.blogspot.com/
>>> twitter: http://twitter.com/lahirus
>>> linked-in: http://lk.linkedin.com/pub/lahiru-sandaruwan/16/153/146
>>>
>>> _______________________________________________
>>> Dev mailing list
>>> [email protected]
>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>
>>>
>>
>>
>> --
>> Nuwan Dias
>>
>> Software Engineer - WSO2, Inc.
>> Integration Technologies Team
>> email : [email protected]
>> Phone : +94 777 775 729
>>
>>
>
>
> --
> Nuwan Dias
>
> Software Engineer - WSO2, Inc.
> Integration Technologies Team
> email : [email protected]
> Phone : +94 777 775 729
>
>
> _______________________________________________
> Dev mailing list
> [email protected]
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 
*Kasun Gajasinghe*
Software Engineer;
Development Technologies Team, 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

Reply via email to