on 06-30-2016 10:28 AM
Dear SAP,
We are using SAP BI Platform 4.1 SP6 Patch 3 on Windows Platform. Here to schedule reports we use JAVA RESTFul SDK code to generate instances. The issue here is, our code usually works well, but intermittently it is not generating instances for all members in a user groups for which it was scheduled.
For example, if there are 500 users exists in a group, then I would expect 500 successful instances; however it generates apprx 300 instances only. Next time works for the failed ones. Sometimes it process all instances, and sometimes partial instances only.
Here are few test cases shows number of instances generated out of expected:
150/150 = all instances generated successfully
239/300 = Partial
350/500 = Partial
558/800 = Partial
Is my script getting overloaded, or any limit from Webi processing Server side? Or any other setting is stopping script in generating instances?
Found below errors recorded in WACS logs. Could someone advise on cause of the issue?
==== WACS LOGS ====
at com.sap.bip.rs.cxf.providers.exceptions.RestRuntimeExceptionMapper.toResponse(RestRuntimeExceptionMapper.java:16)
|6C54F171AE65406CB03BA1CED45DF77E5|2016 06 27 13:33:32.936|+0300|Debug|Error|<<| | |wacs_BIQA.WebApplicationContainerServer|10280|11508|http-bio-0.0.0.0-6405-exec-146| |0|0|0|0|-|-|-|-|-|-|CvpppMMiZUQLjI4u1xRIVPc2fb7|||||||||com.sap.bip.rs.cxf.providers.exceptions.RestRuntimeExceptionMapper||The resource of type "Document" with identifier "2432254" does not exist.
com.sap.webi.raylight.RaylightException: The resource of type "Document" with identifier "2432254" does not exist.
at com.sap.webi.raylight.context.Messenger.resourceNotFound(Messenger.java:176)
at com.sap.webi.raylight.context.RaylightContext.openDocument(RaylightContext.java:468)
at com.sap.webi.raylight.context.RaylightContext.getDocument(RaylightContext.java:427)
at com.sap.webi.raylight.context.RaylightContext.getDocument(RaylightContext.java:391)
at com.sap.webi.raylight.context.RaylightContext.getDocument(RaylightContext.java:125)
at com.sap.webi.raylight.business.ParameterHelper.getWorkspace(ParameterHelper.java:88)
at com.sap.webi.raylight.business.ParameterHelper.<init>(ParameterHelper.java:107)
at com.sap.webi.raylight.actions.parameter.GetDocumentParametersAction.execute(GetDocumentParametersAction.java:25)
at sun.reflect.GeneratedMethodAccessor99.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sap.webi.raylight.actions.ActionInvoker.invokeWith(ActionInvoker.java:123)
at com.sap.webi.raylight.actions.ActionDispatcher.invoke(ActionDispatcher.java:105)
at com.sap.webi.raylight.RaylightServiceDocumentParameters.getParameters(RaylightServiceDocumentParameters.java:155)
at sun.reflect.GeneratedMethodAccessor149.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:173)
at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:89)
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:164)
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:242)
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:242)
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:242)
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:91)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:113)
at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:102)
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:464)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:149)
at com.sap.bip.rs.server.servlet.BIPServletController.invoke(BIPServletController.java:93)
at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:148)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:108)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.businessobjects.sdk.actionfilter.WorkflowFilter.doFilter(WorkflowFilter.java:45)
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.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
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.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:763)
Caused by: com.businessobjects.sdk.core.server.CommunicationException$MaxConnectionReachedException: The maximum connection limit has been reached. (Error: RWI 00239)
at com.businessobjects.sdk.core.exception.ExceptionBuilder.make(ExceptionBuilder.java:152)
at com.businessobjects.sdk.core.exception.ExceptionBuilder.make(ExceptionBuilder.java:109)
at com.businessobjects.sdk.core.server.internal.corba.AbstractServerConnector.init(AbstractServerConnector.java:140)
at com.businessobjects.rebean.wi.newserver.WebiServerConnector.init(WebiServerConnector.java:79)
at com.businessobjects.sdk.core.server.internal.corba.CorbaServerContext.init(CorbaServerContext.java:65)
at com.businessobjects.sdk.core.server.internal.corba.CorbaServerImpl.createServerContext(CorbaServerImpl.java:53)
at com.businessobjects.sdk.core.server.internal.AbstractServer.init(AbstractServer.java:69)
at com.businessobjects.sdk.core.server.internal.InstanceServer.init(InstanceServer.java:73)
at com.businessobjects.sdk.core.server.internal.InstanceServerServiceImpl.createServer(InstanceServerServiceImpl.java:95)
at com.businessobjects.rebean.wi.impl.services.DocumentInstanceManagementServiceImpl.createServerCallerReader(DocumentInstanceManagementServiceImpl.java:798)
at com.businessobjects.rebean.wi.impl.services.DocumentInstanceManagementServiceImpl.openDocument(DocumentInstanceManagementServiceImpl.java:166)
at com.businessobjects.rebean.wi.impl.services.DocumentInstanceManagementServiceImpl.openDocument(DocumentInstanceManagementServiceImpl.java:81)
at com.sap.webi.raylight.context.RaylightContext.openDocument(RaylightContext.java:456)
... 59 more
Caused by: com.crystaldecisions.enterprise.ocaframework.OCAFrameworkException$ServiceConnection: Unable to connect to service WebiPlugin.WebiSession from server BIQA.com:6400 via CMS osca:iiop://BIQA.com:6400;SI_SESSIONID=5599139J5odqBF4HseU2OyLurFrdcy,SI_TENANT_ID=0 (FWM 01006)
cause:com.businessobjects.corba.generic.container.proxy.MaxConnectionException: com.crystaldecisions.enterprise.ocaframework.OCAFrameworkException$ServerError: A problem occurred while talking to the server BIQA.WebIntelligenceProcessingServer (FWM 01001)
cause:com.crystaldecisions.enterprise.ocaframework.idl.OCA.oca_abuse: IDL:img.seagatesoftware.com/OCA/oca_abuse:3.2
detail:A problem occurred while talking to the server BIQA.WebIntelligenceProcessingServer (FWM 01001) IDL:img.seagatesoftware.com/OCA/oca_abuse:3.2
detail:Unable to connect to service WebiPlugin.WebiSession from server BIQA.com:6400 via CMS osca:iiop://BIQA.com:6400;SI_SESSIONID=5599139J5odqBF4HseU2OyLurFrdcy,SI_TENANT_ID=0 (FWM 01006) com.crystaldecisions.enterprise.ocaframework.OCAFrameworkException$ServerError: A problem occurred while talking to the server BIQA.WebIntelligenceProcessingServer (FWM 01001)
cause:com.crystaldecisions.enterprise.ocaframework.idl.OCA.oca_abuse: IDL:img.seagatesoftware.com/OCA/oca_abuse:3.2
detail:A problem occurred while talking to the server BIQA.WebIntelligenceProcessingServer (FWM 01001) IDL:img.seagatesoftware.com/OCA/oca_abuse:3.2
at com.businessobjects.corba.generic.container.proxy.internal.remote.WorkSessionProxyBuilder.connect(Unknown Source)
at com.businessobjects.corba.generic.container.proxy.internal.remote.WorkEntityFactory.getWorkSessionProxy(Unknown Source)
at com.businessobjects.corba.generic.container.proxy.internal.remote.RemoteGenericContainerProxy.getSessionProxy(Unknown Source)
at com.businessobjects.corba.generic.container.proxy.internal.remote.RemoteGenericContainerProxy.getSessionProxy(Unknown Source)
at com.businessobjects.corba.generic.container.proxy.internal.remote.RemoteGenericContainerProxy.getSessionProxy(Unknown Source)
at com.businessobjects.corba.generic.container.proxy.internal.remote.RemoteGenericContainerProxy.getEntityProxy(Unknown Source)
at com.businessobjects.sdk.core.server.internal.corba.AbstractServerConnector.init(AbstractServerConnector.java:99)
... 69 more
Caused by: com.businessobjects.corba.generic.container.proxy.MaxConnectionException: com.crystaldecisions.enterprise.ocaframework.OCAFrameworkException$ServerError: A problem occurred while talking to the server BIQA.WebIntelligenceProcessingServer (FWM 01001)
cause:com.crystaldecisions.enterprise.ocaframework.idl.OCA.oca_abuse: IDL:img.seagatesoftware.com/OCA/oca_abuse:3.2
detail:A problem occurred while talking to the server BIQA.WebIntelligenceProcessingServer (FWM 01001) IDL:img.seagatesoftware.com/OCA/oca_abuse:3.2
... 76 more
Regards,
Anamika
Hi Anamika,
Not sure how your script looks like, but one thing you could check is if your properly close the documents you're working with by updating document with <state>Unused</state> to force it to be unloaded.
Check "document life cycle" section in the official documentation for more information about how Webi documents are managed into RESTful API memory.
Best regards,
Anthony
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks Antony,
Yes, I also think this needs to be implemented in the code. However not sure if this is going to solve the issue. That's the reason I wanted to understand background activities, so enabled trace on WACS. I googled some of errors recorded but couldn't find scenarios matching to mine.
Does above shared log gives additional information?
Regards,
Anamika
Hello Anamika,
This kind of error (document doesn't exist) could come from several reasons...
1) the document doesn't exist, really
2) in some versions of the API, this error was raised when the maximum connection was reached (Webi server can not open more documents)
3) the security rights forbid the document to be opened by the user
Best regards,
Anthony
Hello Anthony,
Correct, I agree with you.
Given error message is generic and has many other reasons. Still if we tried to rule-out above possibilities one by one as below:
1. Document is certainly exists , other wise none of the instance would have generated.
2. I can see in above logs Max Conn limit reached (Error: RWI 00239) error also recorded. We made sure Webi processing server's "Max Connections" are adequate to perform operation. So, not sure if it relevant to this issue or not.
3. If we execute the script next time it works for last failed users; so permissions issue are out of the questions.
Any other possibilities or suggestions please?
Regards,
Anamika
Thanks Daniel for the inputs. I will certainly implement the changes suggested, but the strange thing was we run this script every quarter and it worked fine last time. Also there are no changes made in the script since gone live. That's the only reason I was wondering and didn't concentrated on document state; but clear now
Thanks again!!
Regards,
Anamika
User | Count |
---|---|
84 | |
24 | |
12 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.