This is very simple to reproduce and an absolute blocker in standalone H2 based deployment because if API provider mistakenly give inaccessible or wrong WSDL url, whole registry becomes unusable.
1. In API manager, login to API publisher app 2. Add a new API with a WSDL and make sure to specify a wsdl which is not accessible 3. Submit the form, you will get an error 4. Now, correct the WSDL url and resubmit. Registry will be dead locked. After this, you will not be able to do any registry related task. TID: [-1234] [WSO2 API Manager] [2012-07-13 18:48:34,054] ERROR {org.wso2.carbon.governance.api.util.GovernanceUtils} - Error in getting the result for media type: application/vnd.wso2.registry-ext-type+xml. {org.wso2.carbon.governance.api.util.GovernanceUtils} org.wso2.carbon.registry.core.exceptions.RegistryException: Timeout trying to lock table "REG_RESOURCE"; SQL statement: SELECT DISTINCT REG_PATH_ID, REG_NAME FROM REG_RESOURCE WHERE (REG_RESOURCE.REG_TENANT_ID=?) AND REG_MEDIA_TYPE=? [50200-140] at org.wso2.carbon.registry.core.jdbc.dataaccess.SQLQueryProcessor.executeQuery(SQLQueryProcessor.java:240) at org.wso2.carbon.registry.core.jdbc.queries.QueryProcessorManager.executeQuery(QueryProcessorManager.java:137) at org.wso2.carbon.registry.core.jdbc.EmbeddedRegistry.executeQuery(EmbeddedRegistry.java:2271) at org.wso2.carbon.registry.core.caching.CacheBackedRegistry.executeQuery(CacheBackedRegistry.java:305) at org.wso2.carbon.registry.core.session.UserRegistry.executeQuery(UserRegistry.java:1246) at org.wso2.carbon.governance.api.util.GovernanceUtils.getResultPaths(GovernanceUtils.java:171) at org.wso2.carbon.governance.api.util.GovernanceUtils.findGovernanceArtifacts(GovernanceUtils.java:114) at org.wso2.carbon.governance.api.util.GovernanceUtils.findGovernanceArtifactConfigurations(GovernanceUtils.java:383) at org.wso2.carbon.governance.api.util.GovernanceUtils.findGovernanceArtifactConfiguration(GovernanceUtils.java:144) at org.wso2.carbon.governance.api.generic.GenericArtifactManager.<init>(GenericArtifactManager.java:83) at org.wso2.carbon.apimgt.impl.AbstractAPIManager.isContextExist(AbstractAPIManager.java:260) at org.wso2.carbon.apimgt.hostobjects.APIProviderHostObject.jsFunction_isContextExist(APIProviderHostObject.java:1213) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:160) at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:411) at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:76) at org.wso2.carbon.rhino.modules.api.c3._c2(/publisher/modules/api/add.jag:31) at org.wso2.carbon.rhino.modules.api.c3.call(/publisher/modules/api/add.jag) at org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2347) at org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:272) at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:127) at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:76) at org.wso2.carbon.rhino.modules.api.c0._c3(/publisher/modules/api/module.jag:12) at org.wso2.carbon.rhino.modules.api.c0.call(/publisher/modules/api/module.jag) at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:76) at org.wso2.carbon.rhino.site.blocks.item_add.ajax.c0._c1(/publisher/site/blocks/item-add/ajax/add.jag:73) at org.wso2.carbon.rhino.site.blocks.item_add.ajax.c0.call(/publisher/site/blocks/item-add/ajax/add.jag) at org.mozilla.javascript.optimizer.OptRuntime.call0(OptRuntime.java:57) at org.wso2.carbon.rhino.site.blocks.item_add.ajax.c0._c0(/publisher/site/blocks/item-add/ajax/add.jag:4) at org.wso2.carbon.rhino.site.blocks.item_add.ajax.c0.call(/publisher/site/blocks/item-add/ajax/add.jag) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:401) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3003) at org.wso2.carbon.rhino.site.blocks.item_add.ajax.c0.call(/publisher/site/blocks/item-add/ajax/add.jag) at org.wso2.carbon.rhino.site.blocks.item_add.ajax.c0.exec(/publisher/site/blocks/item-add/ajax/add.jag) at org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:443) at org.jaggeryjs.scriptengine.engine.RhinoEngine.exec(RhinoEngine.java:202) at org.jaggeryjs.jaggery.core.manager.WebAppManager.execute(WebAppManager.java:223) at org.jaggeryjs.jaggery.core.JaggeryServlet.doPost(JaggeryServlet.java:51) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:133) at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:49) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653) 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) TID: [-1234] [WSO2 API Manager] [2012-07-13 18:48:34,074] ERROR {org.wso2.carbon.apimgt.impl.UserAwareAPIProvider} - Failed to check context availability : /aaa {org.wso2.carbon.apimgt.impl.UserAwareAPIProvider} org.wso2.carbon.governance.api.exception.GovernanceException: Unable to obtain governance artifact configuration at org.wso2.carbon.governance.api.generic.GenericArtifactManager.<init>(GenericArtifactManager.java:93) at org.wso2.carbon.apimgt.impl.AbstractAPIManager.isContextExist(AbstractAPIManager.java:260) at org.wso2.carbon.apimgt.hostobjects.APIProviderHostObject.jsFunction_isContextExist(APIProviderHostObject.java:1213) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:160) at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:411) at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:76) at org.wso2.carbon.rhino.modules.api.c3._c2(/publisher/modules/api/add.jag:31) at org.wso2.carbon.rhino.modules.api.c3.call(/publisher/modules/api/add.jag) at org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2347) at org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:272) at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:127) at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:76) at org.wso2.carbon.rhino.modules.api.c0._c3(/publisher/modules/api/module.jag:12) at org.wso2.carbon.rhino.modules.api.c0.call(/publisher/modules/api/module.jag) at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:76) at org.wso2.carbon.rhino.site.blocks.item_add.ajax.c0._c1(/publisher/site/blocks/item-add/ajax/add.jag:73) at org.wso2.carbon.rhino.site.blocks.item_add.ajax.c0.call(/publisher/site/blocks/item-add/ajax/add.jag) at org.mozilla.javascript.optimizer.OptRuntime.call0(OptRuntime.java:57) at org.wso2.carbon.rhino.site.blocks.item_add.ajax.c0._c0(/publisher/site/blocks/item-add/ajax/add.jag:4) at org.wso2.carbon.rhino.site.blocks.item_add.ajax.c0.call(/publisher/site/blocks/item-add/ajax/add.jag) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:401) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3003) at org.wso2.carbon.rhino.site.blocks.item_add.ajax.c0.call(/publisher/site/blocks/item-add/ajax/add.jag) at org.wso2.carbon.rhino.site.blocks.item_add.ajax.c0.exec(/publisher/site/blocks/item-add/ajax/add.jag) at org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:443) at org.jaggeryjs.scriptengine.engine.RhinoEngine.exec(RhinoEngine.java:202) at org.jaggeryjs.jaggery.core.manager.WebAppManager.execute(WebAppManager.java:223) at org.jaggeryjs.jaggery.core.JaggeryServlet.doPost(JaggeryServlet.java:51) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:133) at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:49) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653) 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.governance.api.exception.GovernanceException: Error in getting the result for media type: application/vnd.wso2.registry-ext-type+xml. at org.wso2.carbon.governance.api.util.GovernanceUtils.getResultPaths(GovernanceUtils.java:175) at org.wso2.carbon.governance.api.util.GovernanceUtils.findGovernanceArtifacts(GovernanceUtils.java:114) at org.wso2.carbon.governance.api.util.GovernanceUtils.findGovernanceArtifactConfigurations(GovernanceUtils.java:383) at org.wso2.carbon.governance.api.util.GovernanceUtils.findGovernanceArtifactConfiguration(GovernanceUtils.java:144) at org.wso2.carbon.governance.api.generic.GenericArtifactManager.<init>(GenericArtifactManager.java:83) ... 52 more Caused by: org.wso2.carbon.registry.core.exceptions.RegistryException: Timeout trying to lock table "REG_RESOURCE"; SQL statement: SELECT DISTINCT REG_PATH_ID, REG_NAME FROM REG_RESOURCE WHERE (REG_RESOURCE.REG_TENANT_ID=?) AND REG_MEDIA_TYPE=? [50200-140] at org.wso2.carbon.registry.core.jdbc.dataaccess.SQLQueryProcessor.executeQuery(SQLQueryProcessor.java:240) at org.wso2.carbon.registry.core.jdbc.queries.QueryProcessorManager.executeQuery(QueryProcessorManager.java:137) at org.wso2.carbon.registry.core.jdbc.EmbeddedRegistry.executeQuery(EmbeddedRegistry.java:2271) at org.wso2.carbon.registry.core.caching.CacheBackedRegistry.executeQuery(CacheBackedRegistry.java:305) at org.wso2.carbon.registry.core.session.UserRegistry.executeQuery(UserRegistry.java:1246) at org.wso2.carbon.governance.api.util.GovernanceUtils.getResultPaths(GovernanceUtils.java:171) ... 56 more Apparently, this seems to be a known issue and reported multiple times(e.g: https://wso2.org/jira/browse/CARBON-11409), the suggested workaround is to use mysql. However, in API manager scenario, the error is very prominent.
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev