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)
    at
org.apache.axis2.deployment.DeploymentEngine.unDeploy(DeploymentEngine.java:906)
    at
org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:143)
    at
org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:371)
    at
org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254)
    at
org.apache.axis2.deployment.RepositoryListener.startListener(RepositoryListener.java:365)
    at
org.apache.axis2.deployment.scheduler.SchedulerTask.checkRepository(SchedulerTask.java:59)
    at
org.apache.axis2.deployment.scheduler.SchedulerTask.run(SchedulerTask.java:67)
    at
org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.run(CarbonDeploymentSchedulerTask.java:66)
    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:705)
[2012-01-25 05:51:57,470] @3000.abw [6451] [WSO2 Stratos Application
Server]ERROR {org.wso2.carbon.core.deployment.DeploymentInterceptor} -
Exception occurred while handling service update event. {3000.abw[6451]}
org.wso2.carbon.CarbonException: Could not get the Service resource from
Config Registry
    at
org.wso2.carbon.core.persistence.AbstractPersistenceManager.handleException(AbstractPersistenceManager.java:479)
    at
org.wso2.carbon.core.persistence.ServicePersistenceManager.getService(ServicePersistenceManager.java:110)
    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)
    at
org.apache.axis2.deployment.DeploymentEngine.unDeploy(DeploymentEngine.java:906)
    at
org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:143)
    at
org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:371)
    at
org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254)
    at
org.apache.axis2.deployment.RepositoryListener.startListener(RepositoryListener.java:365)
    at
org.apache.axis2.deployment.scheduler.SchedulerTask.checkRepository(SchedulerTask.java:59)
    at
org.apache.axis2.deployment.scheduler.SchedulerTask.run(SchedulerTask.java:67)
    at
org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.run(CarbonDeploymentSchedulerTask.java:66)
    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:705)
Caused by:
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)
    ... 21 more
[2012-01-25 05:51:57,485]  INFO
{org.apache.axis2.deployment.ServiceDeployer} -  Undeploying Web service:
Chad


Thank you.
Regards,
Pradeeban.

-- 
Kathiravelu Pradeeban.
Software Engineer.
Cloud Technologies Team.
WSO2 Inc.

Blog: [Llovizna] http://kkpradeeban.blogspot.com/
M: +94 776 477 976
_______________________________________________
Carbon-dev mailing list
[email protected]
http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev

Reply via email to