Problem Note 65618: An error occurs in SAS® Real-Time Decision Manager when you use a PostgreSQL database as the storage location for your DB2 package
In SAS Real-Time Decision Manager, you might encounter the following error if you use a PostgreSQL database as the storage location for your DS2 package. This error is displayed in the Decision Services design server or engine server log files for a successfully published package.
com.sas.analytics.ph.RTDMException: DS2 Execution failed $SAS_Activity_Resource(jdbc:sastkts://sas-aap.demo.sas.com:24141)
at com.sas.rtdm.implementation.activity.sasactivity.DS2JDBCConnectionResourceContext.handleException(DS2JDBCConnectionResourceContext.java:193)
at com.sas.rtdm.implementation.activity.sasactivity.DS2Activity.execute(DS2Activity.java:234)
. . .more message lines. . .
Caused by: org.apache.commons.dbcp.SQLNestedException: Borrow callableStatement from pool failed
at org.apache.commons.dbcp.PoolingConnection.prepareCall(PoolingConnection.java:155)
at org.apache.commons.dbcp.DelegatingConnection.prepareCall(DelegatingConnection.java:308)
at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.prepareCall(PoolingDataSource.java:303)
at com.sas.rtdm.implementation.activity.sasactivity.DS2Activity.execute(DS2Activity.java:201)
. . .10 more lines. . .
Caused by: java.sql.SQLException: Server error occurred while processing prepareWithNumberOfResultColumns. Error message: [com.sas.tkts.sql.FSException: T_PREPARE: Table Service: Function failed.] SQLSTATE:[42000] MESSAGE:[Function MY_DS2_PACKAGE.EXECUTE(DOUBLE, CHAR, DOUBLE) does not exist] NATIVEERROR:[-2118139636]
at com.sas.tkts.sql.LocalizedErrorHandler.getLocalizedSQLException(LocalizedErrorHandler.java:333)
at com.sas.tkts.sql.LocalizedErrorHandler.createExceptionsInFunction(LocalizedErrorHandler.java:114)
at com.sas.tkts.FedSrvJDBC.createFunctionException(FedSrvJDBC.java:179)
at com.sas.tkts.sql.FSPreparedStatement.prepareWithNumberOfResultColumns(FSPreparedStatement.java:3312)
at com.sas.tkts.sql.FSPreparedStatement.<init>(FSPreparedStatement.java:159)
at com.sas.tkts.sql.FSCallableStatement.<init>(FSCallableStatement.java:85)
at com.sas.tkts.sql.StatementPoolManager.createCallableStatement(StatementPoolManager.java:867)
at com.sas.tkts.sql.StatementPoolManager.getCallableStatement(StatementPoolManager.java:200)
at com.sas.tkts.sql.FSConnection.prepareCall(FSConnection.java:963)
at com.sas.tkts.sql.FSConnection.prepareCall(FSConnection.java:917)
at com.sas.rtdm.implementation.resource.dbcp.DSPoolingConnection.makeObject(DSPoolingConnection.java:218)
at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:1179)
at org.apache.commons.dbcp.PoolingConnection.prepareCall(PoolingConnection.java:149)
. . .13 more lines. . .
This error occurs under the following conditions:
- You configure your PostgreSQL Federation Server data service using the PostgreSQL service type and a native PostgreSQL driver.
- Your DS2 package is large (for example, 50,000 lines of code).
-
You believe you have published a DS2 package successfully (via a model process definition or a SAS process definition) based on logging lines in your Decision Services logs that are similar to the following lines:
YYYY-MM-DD HH:MM:SS,SSS INFO sasdemo SASDSDesignRepository com.sas.rtdm.implementation.ds2.DS2Publisher - Attempting to publish DS2 code for SAS activity "MY_DS_PACKAGE".
YYYY-MM-DD HH:MM:SS,SSS INFO sasdemo SASDSDesignRepository com.sas.rtdm.implementation.ds2.DS2Publisher - Successfully published DS2 code for SAS activity "MY_DS_PACKAGE".
- You do not see the package table in the SAS® Federation Server Manager application, but you do see the package table in a different PostgreSQL client application.
- The package table has exactly 10,000 rows.
To work around this issue, reconfigure your data service and add the CONOPTS=(MAXROWSETSIZE=20000) attribute. Note that 20000 is an example value only. Choose a value that is large enough to handle your DS2 package code. To reconfigure, choose one of the following methods:
-
Open the Federation Server Manager SQL window and choose the ADMIN connection. Submit the following data definition language (DDL) to add the CONOPTS= option option to the existing data service:
ALTER SERVICE data-service-name {OPTIONS CONOPTS(DRIVER POSTGRES, ADD CONOPTS(MAXROWSETSIZE 20000))}
-
Open the Federation Server Manager SQL window and choose the ADMIN connection. Submit the following DDL to re-create the data service:
CREATE DATA SERVICE "data-service-name" TYPE POSTGRES CATALOG "catalog-name" DOMAIN "authentication-domain" {OPTIONS
conopts(DRIVER postgres, DB database-name, SERVER server-name, PORT port-number, SCHEMA schema, CONOPTS(MAXROWSETSIZE
20000))}
Operating System and Release Information
| SAS System | SAS Real-Time Decision Manager | Microsoft® Windows® for x64 | 6.5 | | 9.4 TS1M3 | |
| Microsoft Windows 8 Enterprise 32-bit | 6.5 | | 9.4 TS1M3 | |
| Microsoft Windows 8 Enterprise x64 | 6.5 | | 9.4 TS1M3 | |
| Microsoft Windows 8 Pro 32-bit | 6.5 | | 9.4 TS1M3 | |
| Microsoft Windows 8 Pro x64 | 6.5 | | 9.4 TS1M3 | |
| Microsoft Windows 8.1 Enterprise 32-bit | 6.5 | | 9.4 TS1M3 | |
| Microsoft Windows 8.1 Enterprise x64 | 6.5 | | 9.4 TS1M3 | |
| Microsoft Windows 8.1 Pro 32-bit | 6.5 | | 9.4 TS1M3 | |
| Microsoft Windows 8.1 Pro x64 | 6.5 | | 9.4 TS1M3 | |
| Microsoft Windows 10 | 6.5 | | 9.4 TS1M3 | |
| Microsoft Windows Server 2008 | 6.5 | | 9.4 TS1M3 | |
| Microsoft Windows Server 2008 R2 | 6.5 | | 9.4 TS1M3 | |
| Microsoft Windows Server 2008 for x64 | 6.5 | | 9.4 TS1M3 | |
| Microsoft Windows Server 2012 Datacenter | 6.5 | | 9.4 TS1M3 | |
| Microsoft Windows Server 2012 R2 Datacenter | 6.5 | | 9.4 TS1M3 | |
| Microsoft Windows Server 2012 R2 Std | 6.5 | | 9.4 TS1M3 | |
| Microsoft Windows Server 2012 Std | 6.5 | | 9.4 TS1M3 | |
| Windows 7 Enterprise 32 bit | 6.5 | | 9.4 TS1M3 | |
| Windows 7 Enterprise x64 | 6.5 | | 9.4 TS1M3 | |
| Windows 7 Home Premium 32 bit | 6.5 | | 9.4 TS1M3 | |
| Windows 7 Home Premium x64 | 6.5 | | 9.4 TS1M3 | |
| Windows 7 Professional 32 bit | 6.5 | | 9.4 TS1M3 | |
| Windows 7 Professional x64 | 6.5 | | 9.4 TS1M3 | |
| Windows 7 Ultimate 32 bit | 6.5 | | 9.4 TS1M3 | |
| Windows 7 Ultimate x64 | 6.5 | | 9.4 TS1M3 | |
| 64-bit Enabled AIX | 6.5 | | 9.4 TS1M3 | |
| 64-bit Enabled Solaris | 6.5 | | 9.4 TS1M3 | |
| HP-UX IPF | 6.5 | | 9.4 TS1M3 | |
| Linux for x64 | 6.5 | | 9.4 TS1M3 | |
| Solaris for x64 | 6.5 | | 9.4 TS1M3 | |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
| Type: | Problem Note |
| Priority: | medium |
| Date Modified: | 2020-03-06 14:23:08 |
| Date Created: | 2020-02-27 11:28:13 |