Default maximum record size for YDBAIM region large enough for all AIM records
Final Release Note
The default global directory created by ydb_env_set
defines the YDBAIM
region with a sufficiently large record size. Previously, it was possible for the default record size to be insufficient for some AIM records. [#778 (closed)]
Description
While testing the master branch of _YDBAIM.m
it was seen that the YDBAIM
region could require a maximum record size as high as 1635
.
$ cat tst.m
set $etrap="zwrite $zstatus halt"
do UNXREFDATA^%YDBAIM
set gblname="^x123456789012345678901234567890",subslevel=29,stat=2
set xref=$$XREFDATA^%YDBAIM(gblname,subslevel,"|",1,,,,stat)
$ $ydb_dist/yottadb -run tst
$ZSTATUS="150373602,XREFDATA+102^%YDBAIM,%YDB-E-REC2BIG, Record size (1635) is greater than maximum (1600) for region: DEFAU
LT,%YDB-I-GVIS, "_$C(9,9)_"Global variable: ^%ydbAIMDMvlerb5y3wN4vW0xquCaGG(6)"
ydb_env_set
currently sets the maximum record size of YDBAIM
region to 1008
with a block size of 1024
. This is clearly not enough.
It would be better to bump the record size from 1008
to 2048
, the block size from 1024
to 2048
and the key size from 992
to 1019
(the 992
setting was because the block size was 1024
).
Draft Release Note
ydb_env_set
sets the YDBAIM
region to have a large enough record size by default.