BookmarkSubscribeRSS Feed
Loshadka
Fluorite | Level 6

 

Hello!

I have a problem in SAS RTDM, sometimes when loan application processing I catch errors like this:

<doc>   <ErrorType>SUBDIAGRAM_ERROR</ErrorType>   <ErrorCode>999</ErrorCode>

In web application log (server 7_1) I find next messages :

Spoiler
com.sas.analytics.ph.RTDMException: JDBC Connection Pool is not initialized and cannot be used.
 at com.sas.rtdm.implementation.resource.JDBCConnectionPool.getConnectionPools(JDBCConnectionPool.java:378)
 at com.sas.rtdm.implementation.resource.JDBCConnectionHandle.getConnectionPools(JDBCConnectionHandle.java:61)
 at com.sas.rtdm.implementation.JDBCConnectionResourceContext.setConnectionPools(JDBCConnectionResourceContext.java:65)
 at com.sas.rtdm.implementation.JDBCConnectionResourceContext.<init>(JDBCConnectionResourceContext.java:50)
 at com.sas.rtdm.implementation.TableAccessManager.dbInsert(TableAccessManager.java:369)
 at com.sas.rtdm.implementation.TableAccessManager.insert(TableAccessManager.java:353)
 at com.sas.rtdm.implementation.activity.generalio.GeneralIOExec.writeInsert(GeneralIOExec.java:435)
 at com.sas.rtdm.implementation.activity.generalio.GeneralIOExec.execute(GeneralIOExec.java:138)
 at com.sas.rtdm.implementation.EventExecutor.execute(EventExecutor.java:243)
 at com.sas.rtdm.implementation.engine.ActivityNode._execute(ActivityNode.java:58)
 at com.sas.rtdm.implementation.engine.ActivityNode._execute(ActivityNode.java:18)
 at com.sas.rtdm.implementation.engine.SchedulableNode$1.call(SchedulableNode.java:89)
 at com.sas.rtdm.implementation.engine.SchedulableNode$1.call(SchedulableNode.java:82)
 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
 at java.util.concurrent.FutureTask.run(FutureTask.java:166)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
 at java.lang.Thread.run(Thread.java:722)


I have no idea that's this errors means. First time I think is was mean a large load on SAS servers, but this errors

appears not only in the afternoon and evening,  it appears early morning and night when we have  a minimal load on SAS servers.
 
Now I have over 8k loan application is being processed in day in SAS RTDM. Maybe,is necessary change RTDM_MAIN_IO_Activity_Resource?

I attached
screenshot how looks RTDM_MAIN_IO_Activity_Resource properties in this time.
screen.jpg
I was recommended to change to:
MaxActive 16
MaxIdle 20
MaxTotal 20
MinIdle 4
NumTestsPerEvictionRun 4
TimeBetweenEvictionRunsMillis 1000 * 60 * 20
MinEvictableIdleTimeMillis 1000 * 60 * 20
TestWhileIdle - true
 
Thanks!
3 REPLIES 3
Andy547
SAS Employee

Loshadka,

 

The java traceback in the SASServer7 log means the JDBC connection failed earlier.  The pool failed to start so you see the:

com.sas.analytics.ph.RTDMException: JDBC Connection Pool is not initialized and cannot be used.
  

I would look back in the log for any other messages about JDBC or GeneralIO. That should help find the issue. 

 

Setting MaxActive to a larger number is good.  I would recommend 2 times the number of CPU threads on the mid tier.  So if there are 8 cores then 16 is a good MaxActive.  If there are 20 cores then MaxActive of 40.  

 

Andy

Loshadka
Fluorite | Level 6

Hi, Andy.

 

Thanks for answer.
I'll will try to do it.

Loshadka
Fluorite | Level 6

I'm was applying recommended properties. Now system work without this errors.
Thnx.

suga badge.PNGThe SAS Users Group for Administrators (SUGA) is open to all SAS administrators and architects who install, update, manage or maintain a SAS deployment. 

Join SUGA 

Get Started with SAS Information Catalog in SAS Viya

SAS technical trainer Erin Winters shows you how to explore assets, create new data discovery agents, schedule data discovery agents, and much more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 3 replies
  • 957 views
  • 0 likes
  • 2 in conversation