[APPM-1141] Inconsistent notifications when unpublishing an app deleted from an external store Created: 08/Dec/15  Updated: 09/Dec/15  Resolved: 09/Dec/15

Status: Resolved
Project: ZZZ-WSO2 App Manager
Component/s: None
Affects Version/s: 1.1.0
Fix Version/s: 1.1.0

Type: Bug Priority: Normal
Reporter: Asanthi Kulasinghe Assignee: Jenananthan Yogendran
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

All datasources pointed to MySQL
wso2appm-1.1.0-SNAPSHOT-07-12-2015
JDK 1.7
Ubuntu 13.04


Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Add an app to an external store
Delete the app from the external store.
Try to save external store configurations after unticking the relevant external store.

  • The UI indicates that the external store were updated successfully.
    But since the delete app no longer exists on the store the following error is thrown.
    The errors and notification should be consistent.
    
    [2015-12-08 16:16:27,774]  INFO - assets_router:jag Emitting event : login
    [2015-12-08 16:16:30,422]  INFO - assets_router:jag Emitting event : login
    [2015-12-08 16:16:37,622]  INFO - authenticate:jag Emitting event : login
    [2015-12-08 16:16:37,631]  INFO - authenticate:jag Emitting event : login
    [2015-12-08 16:16:37,666]  INFO - CarbonAuthenticationUtil 'tenant2@tenant2.com [2]' logged in at [2015-12-08 16:16:37,665+0530]
    [2015-12-08 16:16:37,822] ERROR - UserAwareAPIProvider Could not delete app :null from external store :Tenant2
    org.wso2.carbon.appmgt.api.AppManagementException: Error while getting UUID of APP - sss from the external  AppStore - for provider tenant2@tenant2.com.Reason -{"error" : true, "uuid" : null}
    	at org.wso2.carbon.appmgt.impl.publishers.WSO2ExternalAppStorePublisher.getUUID(WSO2ExternalAppStorePublisher.java:185)
    	at org.wso2.carbon.appmgt.impl.publishers.WSO2ExternalAppStorePublisher.deleteFromExternalStore(WSO2ExternalAppStorePublisher.java:211)
    	at org.wso2.carbon.appmgt.impl.publishers.WSO2ExternalAppStorePublisher.deleteFromStore(WSO2ExternalAppStorePublisher.java:140)
    	at org.wso2.carbon.appmgt.impl.APIProviderImpl.deleteFromExternalAppStores(APIProviderImpl.java:1885)
    	at org.wso2.carbon.appmgt.impl.APIProviderImpl.updateAppsInExternalAppStores(APIProviderImpl.java:1781)
    	at org.wso2.carbon.appmgt.impl.UserAwareAPIProvider.updateAppsInExternalAppStores(UserAwareAPIProvider.java:36)
    	at org.wso2.carbon.appmgt.hostobjects.APIProviderHostObject.jsFunction_updateExternalAppStores(APIProviderHostObject.java:3550)
    	at sun.reflect.GeneratedMethodAccessor310.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:606)
    	at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126)
    	at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:386)
    	at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:52)
    	at org.jaggeryjs.rhino.publisher.apis.v_1.c1._c_anonymous_28(/publisher/apis/v1/asset_api_router.jag:871)
    	at org.jaggeryjs.rhino.publisher.apis.v_1.c1.call(/publisher/apis/v1/asset_api_router.jag)
    	at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)
    	at org.jaggeryjs.rhino.publisher.modules.c4._c_anonymous_12(/publisher/modules/router-g.js:183)
    	at org.jaggeryjs.rhino.publisher.modules.c4.call(/publisher/modules/router-g.js)
    	at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42)
    	at org.jaggeryjs.rhino.publisher.apis.v_1.c1._c_anonymous_1(/publisher/apis/v1/asset_api_router.jag:1261)
    	at org.jaggeryjs.rhino.publisher.apis.v_1.c1.call(/publisher/apis/v1/asset_api_router.jag)
    	at org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430)
    	at org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269)
    	at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97)
    	at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42)
    	at org.jaggeryjs.rhino.publisher.modules.c6._c_anonymous_17(/publisher/modules/publisher.js:438)
    	at org.jaggeryjs.rhino.publisher.modules.c6.call(/publisher/modules/publisher.js)
    	at org.mozilla.javascript.optimizer.OptRuntime.call0(OptRuntime.java:23)
    	at org.mozilla.javascript.gen._store__server_js_11._c_anonymous_17([store]/server.js:273)
    	at org.mozilla.javascript.gen._store__server_js_11.call([store]/server.js)
    	at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42)
    	at org.jaggeryjs.rhino.publisher.modules.c6._c_anonymous_16(/publisher/modules/publisher.js:433)
    	at org.jaggeryjs.rhino.publisher.modules.c6.call(/publisher/modules/publisher.js)
    	at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:52)
    	at org.jaggeryjs.rhino.publisher.apis.v_1.c1._c_script_0(/publisher/apis/v1/asset_api_router.jag:17)
    	at org.jaggeryjs.rhino.publisher.apis.v_1.c1.call(/publisher/apis/v1/asset_api_router.jag)
    	at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394)
    	at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091)
    	at org.jaggeryjs.rhino.publisher.apis.v_1.c1.call(/publisher/apis/v1/asset_api_router.jag)
    	at org.jaggeryjs.rhino.publisher.apis.v_1.c1.exec(/publisher/apis/v1/asset_api_router.jag)
    	at org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:567)
    	at org.jaggeryjs.scriptengine.engine.RhinoEngine.exec(RhinoEngine.java:273)
    	at org.jaggeryjs.jaggery.core.manager.WebAppManager.execute(WebAppManager.java:536)
    	at org.jaggeryjs.jaggery.core.JaggeryServlet.doPost(JaggeryServlet.java:29)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748)
    	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486)
    	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:378)
    	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338)
    	at org.jaggeryjs.jaggery.core.JaggeryFilter.doFilter(JaggeryFilter.java:21)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    	at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:178)
    	at org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47)
    	at org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:56)
    	at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)
    	at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:141)
    	at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156)
    	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
    	at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:52)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
    	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
    	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736)
    	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1695)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    	at java.lang.Thread.run(Thread.java:744)
    
    
    


 Comments   
Comment by Jenananthan Yogendran [ 09/Dec/15 ]

Fixed in [1]
1.https://wso2.org/jira/browse/APPM-1147

Generated at Sun Nov 29 11:57:22 PST 2020 using Jira 8.13.0#813000-sha1:8c68d8036d917652ef7564456d59d80184b5a77e.