GBase 8a的内存参数设置只允许整数,不支持小数报Error while setting value

GBase 8a的各种数字类参数,绝大部分只允许整数,如果设置成了带小数点的参数,在当前版本(截至2022-03-04)里会出现服务启动失败,需要修正成整数才可以正常启动。

报错样例

注意,当这类参数错误时,在system.log里可能没有任何输出,此时可以在操作系统gbase用户下,手工执行gbased 看报错信息。

[gbase@gbase100 gbase]$ gbased
Unknown suffix '.' used for variable 'gbase_heap_data' (value '0.8G')
220304 14:31:45 [ERROR] gbased: Error while setting value '0.8G' to 'gbase_heap_data'

原因

查看数据库配置参数,发现设置成了0.8G。


[gbase@gbase100 gbase]$ grep gbase_heap_data /opt/gbase/gnode/config/gbase_8a_gbase.cnf
gbase_heap_data=0.8G
[gbase@gbase100 gbase]

解决方案

按照当前产品参数要求,要改成0.8*1024M=819M。

[gbase@gbase100 gbase]$ vi /opt/gbase/gnode/config/gbase_8a_gbase.cnf
[gbase@gbase100 gbase]$ grep gbase_heap_data /opt/gbase/gnode/config/gbase_8a_gbase.cnf
gbase_heap_data=819M
[gbase@gbase100 gbase]$
[gbase@gbase100 gbase]$
[gbase@gbase100 gbase]$ gcluster_services gbase start
Starting gbase :                                           [  OK  ]
[gbase@gbase100 gbase]$ gncli

GBase client 8.6.2.33-R45.129009. Copyright (c) 2004-2022, GBase.  All Rights Reserved.

gbase>