GBase 8a 在SQL语句包含很多or, in等需要大量堆栈操作的的情况下,可能因为线程栈(thread_stack)太小导致爆栈宕机。需要配置gcluster及gnode的线程栈大小。
类似SQL比如,有大量的 or 条件(a=1 or a=2 or a=3 or a=3 …. ), in 值条件(a in (1,2,3,4,5……)的SQL,参数在几千,几万个甚至更多的SQL。
推荐gcluster的thread_stack为4M(新版版本默认大小,老版本默认为2M);推荐gnode的thread_stack为512K(默认256K)。如依然发生爆栈问题,则继续调大该参数。
在gcluster和gnode的配置文件中,如在gnode配置文件中增加配置thread_stack = 524288。配置后需要重启服务。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




