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 attachedscreenshot how looks RTDM_MAIN_IO_Activity_Resource properties in this time.
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
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.
I'm was applying recommended properties. Now system work without this errors. Thnx.
The SAS Users Group for Administrators (SUGA) is open to all SAS administrators and architects who install, update, manage or maintain a SAS deployment.