SUPPORT / SAMPLES & SAS NOTES
 

Support

Problem Note 45674: DS2 activities for SAS® Real-Time Decision Manager experience memory leaks when method variables are used to hold package instances

DetailsHotfixAboutRate It

DS2 activities for SAS® Real-Time Decision Manager have two different types of variables that can hold package instances: package variables and method variables. If you use method variables to hold package instances, there is a four-byte memory leak each time the method for your activity is called. This memory leak can cause deteriorating performance, and, eventually, a failure to complete activities.

In order to prevent the memory leak, use only package variables to hold package instances in your DS2 activity code, as in this example:

Incorrect:

package SAS_Activity_Tests /overwrite=yes sas_encrypt=yes; method echo_array(varchar(32767) in_array, in_out varchar out_array); declare package tap_array my_array(); my_array.decode(in_array); out_array = my_array.encode(); end; endpackage;

Correct:

package SAS_Activity_Tests /overwrite=yes sas_encrypt=yes; declare package tap_array my_array(); method echo_array(varchar(32767) in_array, in_out varchar out_array); my_array.decode(in_array); out_array = my_array.encode(); end; endpackage;

Click the Hot Fix tab in this note to access the hot fix for this issue.

Note that applying the hot fix changes the method signatures for tap_array and tap_table. The hot fix also adds a new tap_array method, decode. These changes to tap_array and tap_table can cause errors in your previously functioning activity code.



Operating System and Release Information

Product FamilyProductSystemProduct ReleaseSAS Release
ReportedFixed*ReportedFixed*
SAS SystemSAS Real-Time Decision ManagerMicrosoft® Windows® for x645.4_M16.19.2 TS2M0
64-bit Enabled AIX5.4_M16.19.2 TS2M0
64-bit Enabled Solaris5.4_M16.19.2 TS2M0
HP-UX IPF5.4_M16.19.2 TS2M0
Linux for x645.4_M16.19.2 TS2M0
Solaris for x645.4_M16.19.2 TS2M0
* 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.