SUPPORT / SAMPLES & SAS NOTES
 

Support

Problem Note 43966: Results of query against a very large SAS® Scalable Performance Data Server® table might be incorrect

DetailsHotfixAboutRate It

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.



Operating System and Release Information

Product FamilyProductSystemProduct ReleaseSAS Release
ReportedFixed*ReportedFixed*
SPDSScalable Performance Data ServerMicrosoft Windows Server 2003 Datacenter 64-bit Edition4.524.52 HF5
Microsoft Windows Server 2003 Enterprise 64-bit Edition4.524.52 HF5
Microsoft Windows Server 2003 Datacenter Edition4.524.52 HF5
Microsoft Windows Server 2003 Enterprise Edition4.524.52 HF5
Microsoft Windows Server 2003 Standard Edition4.524.52 HF5
Microsoft Windows XP Professional4.524.52 HF5
64-bit Enabled AIX4.524.52 HF5
64-bit Enabled HP-UX4.524.52 HF5
64-bit Enabled Solaris4.524.52 HF5
Linux for x644.524.52 HF5
Solaris for x644.524.52 HF5
* 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.