Hello folks
We are in process of testing ASE 16 (process kernel), on AIX, upgrade from ASE 15.5
Adaptive Server Enterprise/16.0 SP02 GA/EBF 24949 SMP/P/RS6000/AIX 7.1/asecorona/2425/64-bit/FBO/Thu Aug 13 00:15:32 2015
to be exact.
During testing developers have faced insufficient heap memory errors.
We have tried to keep matching server configurations from ASE 15.5 to ASE 16.
Our server page size is 8K. Connections 850 worker processes 10.
Current per user heap memory is 3.5 times the page size.
--Works (both ASE 16 and ASE 15.)
DECLARE @s char(288)
set @s=''
select str_replace(@s,'','')
--Doesn't work on new ASE 16 but works on the older ASE 15.5 server
DECLARE @t char(289)
set @t =''
select str_replace(@t,'','')
Exact run is below
1> DECLARE @t char(289)
2> set @t =''
3> select str_replace(@t,'','')
4> go
(1 row affected)
Msg 712, Level 17, State 6:
Server 'PHI5_DEV', Line 3:
There is insufficient heap memory to allocate 289 bytes. Please increase configuration parameter 'heap memory per user' or try again when there is less activity on the system.
1> quit
The threshold numbers 288 and 289 were discovered by the developers after a few attempts.
If I use numbers higher than 289 the error is same, only the "allocate XXX bytes" part changes.
I have opened a case with SAP.
Creating this discussion in hope getting some more feedback from user community too.
Question : When a SPID hits the Msg 712 error, does it release the heap space back to pool ? or the heap state is undefined for that SPID ?
I know ASE 16 monProcessActivity has some columns related to heap. How can we effectively use these to monitor/calibrate heap usage ?
TIA
Avinash