![]() | ![]() | ![]() | ![]() | ![]() |
SAS Real-Time Decision Manager enables you to send a treatment table and treatment detail table to your arbitration process. However, when the total size of the encoded data for a transmitted table exceeds 32 KB, the arbitration process returns the following error:
This problem is caused by a limit of 32 KB on the size of strings that are passed from Java to DS2. There is currently no way to pass a table between Java and DS2. Instead, SAS® Decision Services encodes and decodes tables or arrays as "tap_tables" and "tap_arrays" for use by DS2 on each end of the communication between Java and DS2. The encoded format and limited string length cause the maximum size of the Java data_grid or the DS2 tap_table that is passed to be smaller than one might expect.
By default, the arbitration process sends the entire treatment table and treatment detail table from Java to DS2. The treatment table is created dynamically by the SAS Real-Time Decision Manager engine from the treatments that are valid and selected for a given customer at run time. That treatment table contains not only each treatment code and description, but also all of the custom attributes for every treatment.
Click the Hot Fix tab in this note to access the hot fix for this issue.
The hot fix makes it possible to use the workaround described in this document. However, it does not increase the underlying limit of 32 KB.
Product Family | Product | System | Product Release | SAS Release | ||
Reported | Fixed* | Reported | Fixed* | |||
SAS System | SAS Real-Time Decision Manager | Microsoft® Windows® for x64 | 5.41 | 9.3 TS1M2 | ||
64-bit Enabled AIX | 5.41 | 9.3 TS1M2 | ||||
64-bit Enabled Solaris | 5.41 | 9.3 TS1M2 | ||||
HP-UX IPF | 5.41 | 9.3 TS1M2 | ||||
Linux for x64 | 5.41 | 9.3 TS1M2 | ||||
Solaris for x64 | 5.41 | 9.3 TS1M2 |