IBM Support

PARTITION ROWCOUNT LIMIT EXCEEDED

Question & Answer


Question

I'm receiving ERROR: 43860 : Partition rowcount limit exceeded - when processing query with the value at system.dbosWindowAggrWorkBlocks = 12288

Cause

This error is observed when analytic SQL statement's such as "(partition by y)" are involved in the query. Window aggregate functions in such cases will generate huge number of intermediate values which need to be kept in memory for processing however it is not possible for the system to keep the data in memory.

Netezza impose a limitation on the memory consumed by any SQL in the system, so that all the memory does not get consumed by one or two SQL.
This limit is capped using system flag “system.dbosWindowAggrWorkBlocks”. One can try to increase the limit in multiple of 4096 for executing the
SQL however this can limit the number of queries execution on system (as total memory is limited).

This variable can only be set as high as 12288

Answer

Another variable you can try is to increase help resolve the "Partition rowcount limit exceeded" error with out a rewrite

We can increase spuPlanWorkBlocks from default 2000 to 4000 blocks by executing the following commands:

nzsystem pause -force
nzsystem set -arg system.spuPlanWorkBlocks = 4000 -force
nzsystem resume

[{"Product":{"code":"SSULQD","label":"IBM PureData System"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Database","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"1.0.0","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
17 October 2019

UID

swg22007408