cancel
Showing results for 
Search instead for 
Did you mean: 

Error in Rule Generation

Former Member
0 Kudos

We are configuring RAR 5.3, and so far we successfully uploaded all text files. But when we try to generete the rules for logical systems in a background job, after 45 minutes the following error is shown:

Nov 4, 2008 9:56:02 AM com.virsa.cc.comp.VirsaXSR3_01Interface execute

WARNING: VIRSAXSR3_01: Cannot execute BAPI RoleList

java.lang.NullPointerException

at com.virsa.cc.common.ModelNodeUtil.copyNodeTreeToModel(ModelNodeUtil.java:42)

at com.virsa.cc.comp.VirsaXSR3_01Interface.execute(VirsaXSR3_01Interface.java:267)

at com.virsa.cc.comp.wdp.InternalVirsaXSR3_01Interface.execute(InternalVirsaXSR3_01Interface.java:1341)

at com.virsa.cc.comp.wdp.InternalVirsaXSR3_01Interface$External.execute(InternalVirsaXSR3_01Interface.java:1376)

at com.virsa.cc.comp.BackendAccessInterface.executeBAPIModel(BackendAccessInterface.java:3314)

at com.virsa.cc.comp.BackendAccessInterface.execBAPI(BackendAccessInterface.java:398)

at com.virsa.cc.comp.BackendAccessInterface.executeBAPI(BackendAccessInterface.java:301)

at com.virsa.cc.comp.wdp.InternalBackendAccessInterface.executeBAPI(InternalBackendAccessInterface.java:4227)

at com.virsa.cc.comp.BackendAccessInterface.searchRole(BackendAccessInterface.java:776)

at com.virsa.cc.comp.wdp.InternalBackendAccessInterface.searchRole(InternalBackendAccessInterface.java:4283)

at com.virsa.cc.comp.wdp.InternalBackendAccessInterface$External.searchRole(InternalBackendAccessInterface.java:4740)

at com.virsa.cc.dataextractor.bo.DataExtractorSAP.searchObj(DataExtractorSAP.java:382)

at com.virsa.cc.xsys.riskanalysis.AnalysisEngine.getObjArray(AnalysisEngine.java:395)

at com.virsa.cc.xsys.riskanalysis.AnalysisEngine.performActPermAnalysis(AnalysisEngine.java:695)

at com.virsa.cc.xsys.riskanalysis.AnalysisEngine.riskAnalysisRE(AnalysisEngine.java:2706)

at com.virsa.cc.xsys.riskanalysis.AnalysisDaemonWS.start(AnalysisDaemonWS.java:78)

at com.virsa.cc.comp.BgJobInvokerView.wdDoModifyView(BgJobInvokerView.java:434)

at com.virsa.cc.comp.wdp.InternalBgJobInvokerView.wdDoModifyView(InternalBgJobInvokerView.java:1223)

at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.doModifyView(DelegatingView.java:78)

at com.sap.tc.webdynpro.progmodel.view.View.modifyView(View.java:337)

at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.doModifyView(ClientComponent.java:480)

at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doModifyView(WindowPhaseModel.java:551)

at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:148)

at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)

at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)

at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:299)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:711)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:665)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:232)

at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:152)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doGet(DispatcherServlet.java:46)

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

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

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)

at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)

at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)

at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)

at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

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

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)

Nov 4, 2008 9:56:02 AM com.virsa.cc.comp.VirsaXSR3_01Interface execute

WARNING: VIRSAXSR3_01: Cannot execute BAPI RoleList

java.lang.NullPointerException

at com.virsa.cc.common.ModelNodeUtil.copyNodeTreeToModel(ModelNodeUtil.java:42)

at com.virsa.cc.comp.VirsaXSR3_01Interface.execute(VirsaXSR3_01Interface.java:267)

at com.virsa.cc.comp.wdp.InternalVirsaXSR3_01Interface.execute(InternalVirsaXSR3_01Interface.java:1341)

at com.virsa.cc.comp.wdp.InternalVirsaXSR3_01Interface$External.execute(InternalVirsaXSR3_01Interface.java:1376)

at com.virsa.cc.comp.BackendAccessInterface.executeBAPIModel(BackendAccessInterface.java:3314)

at com.virsa.cc.comp.BackendAccessInterface.execBAPI(BackendAccessInterface.java:398)

at com.virsa.cc.comp.BackendAccessInterface.executeBAPI(BackendAccessInterface.java:301)

at com.virsa.cc.comp.wdp.InternalBackendAccessInterface.executeBAPI(InternalBackendAccessInterface.java:4227)

at com.virsa.cc.comp.BackendAccessInterface.searchRole(BackendAccessInterface.java:776)

at com.virsa.cc.comp.wdp.InternalBackendAccessInterface.searchRole(InternalBackendAccessInterface.java:4283)

at com.virsa.cc.comp.wdp.InternalBackendAccessInterface$External.searchRole(InternalBackendAccessInterface.java:4740)

at com.virsa.cc.dataextractor.bo.DataExtractorSAP.searchObj(DataExtractorSAP.java:382)

at com.virsa.cc.xsys.riskanalysis.AnalysisEngine.getObjArray(AnalysisEngine.java:395)

at com.virsa.cc.xsys.riskanalysis.AnalysisEngine.performActPermAnalysis(AnalysisEngine.java:695)

at com.virsa.cc.xsys.riskanalysis.AnalysisEngine.riskAnalysisRE(AnalysisEngine.java:2706)

at com.virsa.cc.xsys.riskanalysis.AnalysisDaemonWS.start(AnalysisDaemonWS.java:78)

at com.virsa.cc.comp.BgJobInvokerView.wdDoModifyView(BgJobInvokerView.java:434)

at com.virsa.cc.comp.wdp.InternalBgJobInvokerView.wdDoModifyView(InternalBgJobInvokerView.java:1223)

at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.doModifyView(DelegatingView.java:78)

at com.sap.tc.webdynpro.progmodel.view.View.modifyView(View.java:337)

at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.doModifyView(ClientComponent.java:480)

at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doModifyView(WindowPhaseModel.java:551)

at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:148)

at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)

at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)

at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:299)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:711)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:665)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:232)

at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:152)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doGet(DispatcherServlet.java:46)

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

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

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)

at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)

at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)

at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)

at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

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

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)

Whe try then to generete the rules in foreground to see what happens and we got a different error:

Error in Rule Generation! Reason:ResourceException in method ConnectionFactoryImpl.getConnection():

com.sap.engine.services.connector.exceptions.BaseResourceException: Cannot get connection for 120 seconds.

Possible reasons:

1) Connections are cached within SystemThread(can be any server service or any code invoked within SystemThread in the SAP J2EE Engine),

2) The pool size of adapter "SAPSR3DB" is not enough according to the current load of the system or

3) The specified time to wait for connection is not enough according to the pool size and current load of the system.

In case 1) the solution is to check for cached connections using the Connector Service list-conns command,

in case 2) to increase the size of the pool and

in case 3) to increase the time to wait for connection property. In case of application thread,

there is an automatic mechanism which detects unclosed connections and unfinished transactions.

Reading the descriptions in both errors, it seems like the RAR application is trying to connect to the back end system during rule generation. Is this correct?

We followed all the recommendations indicated in the post-installation for RAR 5.3.

Any ideas??

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Dear Pablo,

Please check if you have changed your Jco pool configuration as below :

JCo pool configuration Original Change u2013 as per

SAP note

Maximum pool size 50 100

Maximium connections 100 1800

Connection timeout ( milli sec ) 100 10000

Max waiting time ( milli sec ) 30 30000

also check if you have done eisk analysis performance tuning

for :

batch size - 1000,

number of web service threads - 5,

number of background job worker threads - 3,

rfc timeout for web services/background job worker threads ( min) - 1441.

Hope this is useful to you.

Edited by: Yajuvendra Subhash Sonalkar on Nov 7, 2008 9:00 AM

Answers (3)

Answers (3)

hkaur
Advisor
Advisor
0 Kudos

Hi,

Please make sure that you have uploaded the text and auth objects files from backend system and defined the master user source in RAR.

Also, ensure that you have the entries 105, 106 and 107 in the virsa_cc_config table.

Thanks

Harleen

Former Member
0 Kudos

Thank you Yajuvendra for your response.

Indeed we've have done risk analysis performance tuning in RAR and we've also configured the JCo as inidicated in the post-isntallation guide for RAR 5.3. However, I think that the values mentioned there (note 1121978) for "Maximum pool size" and "Maximium connections" are 50 and 100 respectively, not 100 and 1800.

Do you think that increasing these values would probably solve the issue?

Regards,

Pablo

Former Member
0 Kudos

Dear Pablo,

Yes you can change the values for "Maximum pool size" and "Maximium connections" to 100 and 1800 respectively. Check if your problem is solved.

Hope you find it useful.

Former Member
0 Kudos

I would like to add some more info about our problem.

We ran 3 more times the background job to generate the rules, and in all of them we got the first error shown in the previous post.

So we checked the table VIRSA_CC_ACTRULE to see if some rules where generated and we found that indeed this table was populated. So our guess is that at some point the job gets interrupted by this error perhaps due to memory configuration problems or lack of resources.

Based on the error details shown above, what could be the problem?

Any ideas?? We are in desperate need of help!!!!!