![]() | ![]() | ![]() | ![]() | ![]() |
The following example shows code that might return incorrect results in SAS® Scalable Performance Data Server® when executed against a very large table:
proc sql; create table target as select sum(a), sum(b), sum(c) from spdslib.large_table group by a, b , c ; quit;
The SAS Scalable Performance Data Server parallel GROUP BY threads
hold a partial GROUP BY in memory, based on the GRPBYROWCACHE server
parameter.
Each thread is given GRPBYROWCACHE/MAXWHTHREADS memory.
When the memory is full, each thread flushes the partial GROUP BY to disk in a per-thread spill file.
The final merge of the parallel GROUP BY reads the per-thread partial results
back in.
Incorrect results might occur on the final merge for a very large table.
Select the Hot Fix tab in this Note to access the hot fix for this problem.
Product Family | Product | System | Product Release | SAS Release | ||
Reported | Fixed* | Reported | Fixed* | |||
SPDS | Scalable Performance Data Server | Microsoft Windows Server 2003 Datacenter 64-bit Edition | 4.52 | 4.52 HF5 | ||
Microsoft Windows Server 2003 Enterprise 64-bit Edition | 4.52 | 4.52 HF5 | ||||
Microsoft Windows Server 2003 Datacenter Edition | 4.52 | 4.52 HF5 | ||||
Microsoft Windows Server 2003 Enterprise Edition | 4.52 | 4.52 HF5 | ||||
Microsoft Windows Server 2003 Standard Edition | 4.52 | 4.52 HF5 | ||||
Microsoft Windows XP Professional | 4.52 | 4.52 HF5 | ||||
64-bit Enabled AIX | 4.52 | 4.52 HF5 | ||||
64-bit Enabled HP-UX | 4.52 | 4.52 HF5 | ||||
64-bit Enabled Solaris | 4.52 | 4.52 HF5 | ||||
Linux for x64 | 4.52 | 4.52 HF5 | ||||
Solaris for x64 | 4.52 | 4.52 HF5 |