Hi Senaka,

Does that mean, configRegistry.resourceExists(serviceResourcePath)
takes from cache and resource =
configRegistry.get(serviceResourcePath); takes from database? That
doesn't sound right to me. If this is the case, why we are caching
only the path, but not the resource?

If above two succeed when the resource is not actually in the
database, or above two failed when the resource is in the database,
then it is due to the caching. If one of the above succeed and the
other fails, then we need to fix it.

Shankar

On Sun, Jan 29, 2012 at 3:10 PM, Senaka Fernando <sen...@wso2.com> wrote:
> Hi Dimuthu,
>
> Well that probably explains my point. If you test something across two nodes
> you need to turn off caching in registry or properly setup distributed or
> replicated caching. If not each node caches locally, and will not sync until
> timeout.
>
> Thanks,
> Senaka.
>
>
> On Thursday, January 26, 2012, Dimuthu Leelarathne <dimut...@wso2.com>
> wrote:
>> Hi Senaka,
>>
>> On Thu, Jan 26, 2012 at 5:26 AM, Senaka Fernando <sen...@wso2.com> wrote:
>>>
>>> Hi Pradeeban,
>>>
>>> Probably, due to caching not properly setup.
>>>
>>
>> AFAIK registry reads from database when it is not in the cache. From my
>> experience Registry worked perfectly when multicasting ports were closed in
>> the switch as well.
>>
>> thanks,
>> dimuthu
>>
>>>
>>> Thanks,
>>> Senaka.
>>>
>>> On Wed, Jan 25, 2012 at 11:39 PM, Kathiravelu Pradeeban
>>> <pradee...@wso2.com> wrote:
>>>
>>> The deployment was with the SVN based deployment synchronizer. Ghost
>>> deployer is disabled.
>>>
>>> Regards,
>>> Pradeeban.
>>>
>>> On Wed, Jan 25, 2012 at 7:43 PM, Kathiravelu Pradeeban
>>> <pradee...@wso2.com> wrote:
>>>
>>> Hi,
>>> Azeez and I were testing a Stratos deployment with 2 nodes of Appserver.
>>> We did a minor modification in the getService() of ServicePersistenceManager
>>> as below.
>>>
>>> Then we uploaded a service; accessed it from two browsers; and deleted
>>> it.
>>> Interestingly the highlighted code-segment is executed, and prints true,
>>> in the terminal of the other node.
>>>
>>> That means, the resourceExists, but the ResourceNotFoundException is
>>> thrown. Can someone explains this behavior?
>>>
>>>
>>>     public Resource getService(AxisService axisService) throws Exception
>>> {
>>>         try {
>>>             String serviceResourcePath =
>>> PersistenceUtils.getResourcePath(axisService);
>>>             if (configRegistry.resourceExists(serviceResourcePath)) {
>>>                 Resource resource = null;
>>>                 try {
>>>                     resource = configRegistry.get(serviceResourcePath);
>>>                 } catch (ResourceNotFoundException e) {
>>>
>>> System.out.println("++++++++++++++++++++++++++++++++++" +
>>> configRegistry.resourceExists(serviceResourcePath));
>>>
>>> if(configRegistry.resourceExists(serviceResourcePath)){
>>>                         throw e;
>>>                     }
>>>                 }
>>> ....
>>>
>>>     }
>>>
>>>
>>> Complete log for the interested:
>>> Node 1:
>>> [2012-01-25 05:52:04,562] @3000.abw [6451] [WSO2 Stratos Application
>>> Server] INFO {org.wso2.carbon.service.mgt.ServiceAdmin} -  Undeploying Web
>>> service:
>>> /mnt/209.126.198.68/wso2stratos-as-1.5.2/repository/tenants/6451/axis2services/Chad.aar
>>> [2012-01-25 05:52:10,101]  INFO
>>> {org.apache.axis2.deployment.DeploymentEngine} -
>>> org.apache.axis2.deployment.DeploymentException: The Chad service group name
>>> is not valid.
>>>
>>>
>>> Node2:
>>> ++++++++++++++++++++++++++++++++++true
>>> [2012-01-25 05:51:57,467] @3000.abw [6451] [WSO2 Stratos Application
>>> Server]ERROR {org.wso2.carbon.core.persistence.AbstractPersistenceManager}
>>> -  Could not get the Service resource from Config Registry
>>> org.wso2.carbon.registry.core.exceptions.ResourceNotFoundException:
>>> Resource does not exist at path
>>> /_system/config/repository/axis2/service-groups/Chad/services/Chad
>>>     at
>>> org.wso2.carbon.registry.core.jdbc.handlers.builtin.MountHandler.get(MountHandler.java:426)
>>>     at
>>> org.wso2.carbon.registry.core.jdbc.handlers.HandlerManager.get(HandlerManager.java:2378)
>>>     at
>>> org.wso2.carbon.registry.core.jdbc.handlers.UserDefinedHandlerManager.get(UserDefinedHandlerManager.java:200)
>>>     at
>>> org.wso2.carbon.registry.core.jdbc.handlers.HandlerLifecycleManager.get(HandlerLifecycleManager.java:814)
>>>     at
>>> org.wso2.carbon.registry.core.jdbc.EmbeddedRegistry.get(EmbeddedRegistry.java:512)
>>>     at
>>> org.wso2.carbon.registry.core.caching.CacheBackedRegistry.get(CacheBackedRegistry.java:133)
>>>     at
>>> org.wso2.carbon.registry.core.session.UserRegistry.get(UserRegistry.java:528)
>>>     at
>>> org.wso2.carbon.core.persistence.ServicePersistenceManager.getService(ServicePersistenceManager.java:89)
>>>     at
>>> org.wso2.carbon.core.deployment.DeploymentInterceptor.serviceUpdate(DeploymentInterceptor.java:254)
>>>     at
>>> org.apache.axis2.engine.AxisConfiguration.notifyObservers(AxisConfiguration.java:652)
>>>     at
>>> org.apache.axis2.engine.AxisConfiguration.removeServiceGroup(AxisConfiguration.java:516)
>>>     at
>>> org.apache.axis2.deployment.ServiceDeployer.undeploy(ServiceDeployer.java:188)
>>>
>>>
>>> _______________________________________________
>>> Carbon-dev mailing list
>>> Carbon-dev@wso2.org
>>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>>
>>
>>
>>
>> --
>> Dimuthu Leelarathne
>> Technical Lead
>>
>> WSO2, Inc. (http://wso2.com)
>> email: dimut...@wso2.com
>>
>> Lean . Enterprise . Middleware
>>
>
> --
> Senaka Fernando
> Product Manager - WSO2 Governance Registry;
> Associate Technical Lead; WSO2 Inc.; http://wso2.com
> Member; Apache Software Foundation; http://apache.org
>
> E-mail: senaka AT wso2.com
> P: +1 408 754 7388; ext: 51736; M: +94 77 322 1818
> Linked-In: http://linkedin.com/in/senakafernando
>
> Lean . Enterprise . Middleware
>
>
> _______________________________________________
> Carbon-dev mailing list
> Carbon-dev@wso2.org
> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>



-- 
S.Uthaiyashankar
Senior Architect & Senior Manager
WSO2 Inc.
http://wso2.com/ - "lean . enterprise . middleware"

Phone: +94 714897591
_______________________________________________
Carbon-dev mailing list
Carbon-dev@wso2.org
http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev

Reply via email to