cancel
Showing results for 
Search instead for 
Did you mean: 

JAVA Iview performance issue

Former Member
0 Kudos

Hi,

we are experiencing some issue with one iview, we have a very high load of user accessing this iview lately and there is lots of dumps in my logs. When the iview is access by one 10-20 users, there no issue. When we have lots of user trying to acces this iview, we get lots of dumps. It is an appraisal iview, when there is an high load of user accessing this iview our CPU on the cluster are running 90-100%.

If you have any suggestions, please let me know.

Thanks

Jean Seguin

Component class : editAppraisal.Controller

User : JXM240

at com.sapportals.portal.prt.core.PortalRequestManager.handlePortalComponentException(PortalRequestManager.java:853)

at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:311)

at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)

at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)

at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:217)

at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:601)

at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)

at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)

at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)

at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:670)

at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:229)

at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:555)

at java.security.AccessController.doPrivileged(Native Method)

at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:415)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.inqmy.services.servlets_jsp.server.InvokerServlet.service(InvokerServlet.java:126)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.inqmy.services.servlets_jsp.server.RunServlet.runSerlvet(RunServlet.java:149)

at com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.startServlet(ServletsAndJspImpl.java:833)

at com.inqmy.services.httpserver.server.RequestAnalizer.checkFilename(RequestAnalizer.java:672)

at com.inqmy.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:314)

at com.inqmy.services.httpserver.server.Response.handle(Response.java:173)

at com.inqmy.services.httpserver.server.HttpServerFrame.request(HttpServerFrame.java:1288)

at com.inqmy.core.service.context.container.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:36)

at com.inqmy.core.cluster.impl5.ParserRunner.run(ParserRunner.java:55)

at com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46)

at java.security.AccessController.doPrivileged(Native Method)

at com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:148)

Caused by: java.lang.IllegalStateException

at com.sapportals.portal.prt.component.PortalComponentRequest.getNode(PortalComponentRequest.java:373)

at com.sapportals.portal.prt.component.PortalComponentRequest.getResource(PortalComponentRequest.java:565)

at com.sapportals.portal.htmlb.page.JSPDynPage.doOutput(JSPDynPage.java:75)

at com.sapportals.htmlb.page.PageProcessor.handleRequest(PageProcessor.java:109)

at com.sapportals.portal.htmlb.page.PageProcessorComponent.doContent(PageProcessorComponent.java:135)

at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)

at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)

at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)

at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)

at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)

at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:217)

at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:601)

at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)

at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)

at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)

at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:670)

at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:229)

at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:555)

at java.security.AccessController.doPrivileged(Native Method)

at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:415)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.inqmy.services.servlets_jsp.server.InvokerServlet.service(InvokerServlet.java:126)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.inqmy.services.servlets_jsp.server.RunServlet.runSerlvet(RunServlet.java:149)

at com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.startServlet(ServletsAndJspImpl.java:833)

at com.inqmy.services.httpserver.server.RequestAnalizer.checkFilename(RequestAnalizer.java:672)

at com.inqmy.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:314)

at com.inqmy.services.httpserver.server.Response.handle(Response.java:173)

at com.inqmy.services.httpserver.server.HttpServerFrame.request(HttpServerFrame.java:1288)

at com.inqmy.core.service.context.container.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:36)

at com.inqmy.core.cluster.impl5.ParserRunner.run(ParserRunner.java:55)

at com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46)

at java.security.AccessController.doPrivileged(Native Method)

at com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:148)

com.sapportals.portal.prt.connection.ContentExceptionHandler@323ec3 #

Error in getValue

java.lang.NullPointerException

at com.sapportals.portal.prt.component.PortalComponentSession.getHttpSession(PortalComponentSession.java:144)

at com.sapportals.portal.prt.component.PortalComponentSession.getSession(PortalComponentSession.java:46)

at com.sapportals.portal.prt.component.PortalComponentSession.getValue(PortalComponentSession.java:202)

at com.sapportals.portal.prt.component.PortalComponentSession.getValue(PortalComponentSession.java:188)

at editAppraisal.ProcessFormDynPage.loadBeansFromSession(ProcessFormDynPage.java:708)

at cra.portal.common.AbstractProcessFormDynPage.doProcessInit(AbstractProcessFormDynPage.java:116)

at editAppraisal.ProcessFormDynPage.doInitialization(ProcessFormDynPage.java:60)

at com.sapportals.htmlb.page.PageProcessor.handleRequest(PageProcessor.java:94)

at com.sapportals.portal.htmlb.page.PageProcessorComponent.doContent(PageProcessorComponent.java:135)

at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)

at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)

at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)

at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)

at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)

at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:217)

at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:601)

at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)

at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)

at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)

at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:670)

at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:229)

at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:555)

at java.security.AccessController.doPrivileged(Native Method)

at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:415)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.inqmy.services.servlets_jsp.server.InvokerServlet.service(InvokerServlet.java:126)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.inqmy.services.servlets_jsp.server.RunServlet.runSerlvet(RunServlet.java:149)

at com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.startServlet(ServletsAndJspImpl.java:833)

at com.inqmy.services.httpserver.server.RequestAnalizer.checkFilename(RequestAnalizer.java:672)

at com.inqmy.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:314)

at com.inqmy.services.httpserver.server.Response.handle(Response.java:173)

at com.inqmy.services.httpserver.server.HttpServerFrame.request(HttpServerFrame.java:1288)

at com.inqmy.core.service.context.container.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:36)

at com.inqmy.core.cluster.impl5.ParserRunner.run(ParserRunner.java:55)

at com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46)

at java.security.AccessController.doPrivileged(Native Method)

at com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:148)

Error in putValue

java.lang.NullPointerException

at com.sapportals.portal.prt.component.PortalComponentSession.getHttpSession(PortalComponentSession.java:144)

at com.sapportals.portal.prt.component.PortalComponentSession.getSession(PortalComponentSession.java:46)

at com.sapportals.portal.prt.component.PortalComponentSession.putValue(PortalComponentSession.java:170)

at com.sapportals.portal.prt.component.PortalComponentSession.putValue(PortalComponentSession.java:156)

at editAppraisal.ProcessFormDynPage.storeBeansWithinSession(ProcessFormDynPage.java:714)

at cra.portal.common.AbstractProcessFormDynPage.doProcessFinalize(AbstractProcessFormDynPage.java:143)

at editAppraisal.ProcessFormDynPage.doInitialization(ProcessFormDynPage.java:81)

at com.sapportals.htmlb.page.PageProcessor.handleRequest(PageProcessor.java:94)

at com.sapportals.portal.htmlb.page.PageProcessorComponent.doContent(PageProcessorComponent.java:135)

at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)

at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)

at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)

at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)

at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)

at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:217)

at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:601)

at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)

at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)

at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)

at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:670)

at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:229)

at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:555)

at java.security.AccessController.doPrivileged(Native Method)

at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:415)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.inqmy.services.servlets_jsp.server.InvokerServlet.service(InvokerServlet.java:126)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.inqmy.services.servlets_jsp.server.RunServlet.runSerlvet(RunServlet.java:149)

at com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.startServlet(ServletsAndJspImpl.java:833)

at com.inqmy.services.httpserver.server.RequestAnalizer.checkFilename(RequestAnalizer.java:672)

at com.inqmy.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:314)

at com.inqmy.services.httpserver.server.Response.handle(Response.java:173)

at com.inqmy.services.httpserver.server.HttpServerFrame.request(HttpServerFrame.java:1288)

at com.inqmy.core.service.context.container.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:36)

at com.inqmy.core.cluster.impl5.ParserRunner.run(ParserRunner.java:55)

at com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46)

at java.security.AccessController.doPrivileged(Native Method)

at com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:148)

Error in putValue

java.lang.NullPointerException

at com.sapportals.portal.prt.component.PortalComponentSession.getHttpSession(PortalComponentSession.java:144)

at com.sapportals.portal.prt.component.PortalComponentSession.getSession(PortalComponentSession.java:46)

at com.sapportals.portal.prt.component.PortalComponentSession.putValue(PortalComponentSession.java:170)

at com.sapportals.portal.prt.component.PortalComponentSession.putValue(PortalComponentSession.java:156)

at editAppraisal.ProcessFormDynPage.storeBeansWithinSession(ProcessFormDynPage.java:714)

at cra.portal.common.AbstractProcessFormDynPage.doProcessFinalize(AbstractProcessFormDynPage.java:143)

at editAppraisal.ProcessFormDynPage.doProcessBeforeOutput(ProcessFormDynPage.java:246)

at com.sapportals.htmlb.page.PageProcessor.handleRequest(PageProcessor.java:106)

at com.sapportals.portal.htmlb.page.PageProcessorComponent.doContent(PageProcessorComponent.java:135)

at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)

at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)

at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)

at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)

at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)

at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:217)

at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:601)

at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)

at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)

at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)

at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:670)

at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:229)

at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:555)

at java.security.AccessController.doPrivileged(Native Method)

at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:415)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.inqmy.services.servlets_jsp.server.InvokerServlet.service(InvokerServlet.java:126)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.inqmy.services.servlets_jsp.server.RunServlet.runSerlvet(RunServlet.java:149)

at com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.startServlet(ServletsAndJspImpl.java:833)

at com.inqmy.services.httpserver.server.RequestAnalizer.checkFilename(RequestAnalizer.java:672)

at com.inqmy.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:314)

at com.inqmy.services.httpserver.server.Response.handle(Response.java:173)

at com.inqmy.services.httpserver.server.HttpServerFrame.request(HttpServerFrame.java:1288)

at com.inqmy.core.service.context.container.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:36)

at com.inqmy.core.cluster.impl5.ParserRunner.run(ParserRunner.java:55)

at com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46)

at java.security.AccessController.doPrivileged(Native Method)

at com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:148)

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

the main correction me made (in nearly all MSS iViews) to avoid the

problem you descibed is the following:

In the portal component class of the iView we created an instance

of the application dynpage and stored it as a class member of the

component. This is not allowed an could result in the problem you

described.

Example for EditAppraisalComponent:

Old code:

public class EditAppraisalComponent extends PageProcessorComponent

implements INonCachablePortalComponent{

private EditAppraisalDynPage myPage = null;

public DynPage getPage() {

myPage = new EditAppraisalDynPage();

return myPage;

}

...call some methods on myPage (e.g. to store session data)

New code:

public class EditAppraisalComponent extends PageProcessorComponent

implements INonCachablePortalComponent{

public DynPage getPage() {

return new EditAppraisalDynPage();

}

In case that the refrence to the dynpage was used to call some method in this dynpage, the iView logic has been changed so that this

functionality is handled inside the dynpage (and no longer called from

outside).

Former Member
0 Kudos

Hi,

...could not put value to session when a lot of users - seems like a memory issue to me...

Consider checking/setting the memory heap size at the J2EE.

About memory monitoring this thread should help:

<a href="https://www.sdn.sap.com/irj/sdn/thread?forumID=53&threadID=104188&messageID=1156397">https://www.sdn.sap.com/irj/sdn/thread?forumID=53&threadID=104188&messageID=1156397</a>

hope this helps,

Romano