您好,登录后才能下订单哦!
这期内容当中小编将会给大家带来有关怎么解决Drois Stream load JSON为空导致BE宕机的情况,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
集群前两天在正常运行情况下突然出现BE大规模宕机的情况,开始认为一个查询导致的,停掉这个查询接口以后,发现还是出现,通过be.out日志发现如下异常信息:
When loading json data like `[]` (an empty array). BE will crash with stack: ``` *** Aborted at 1612273824 (unix time) try "date -d @1612273824" if you are using GNU date *** PC: @ 0xe0cce7 rapidjson::GenericValue<>::Accept<>() *** SIGSEGV (@0xe) received by PID 36798 (TID 0x7f7812114700) from PID 14; stack trace: *** @ 0x7f791b74b470 (unknown) @ 0xe0cce7 rapidjson::GenericValue<>::Accept<>() @ 0x169ff79 _ZN5doris10JsonReader17_print_json_valueB5cxx11ERKN9rapidjson12GenericValueINS1_4UTF8IcEENS1_19MemoryPoolAllocatorINS1_12CrtAllocatorEEEEE @ 0x16a0689 doris::JsonReader::_write_values_by_jsonpath() @ 0x16a2cb4 doris::JsonReader::_handle_flat_array_complex_json() @ 0x16a3761 doris::JsonScanner::get_next() @ 0x1659bd4 doris::BrokerScanNode::scanner_scan() @ 0x165a671 doris::BrokerScanNode::scanner_worker() @ 0x281f67f execute_native_thread_routine @ 0x7f791b5001c3 start_thread @ 0x7f791b7fd12d __clone
最后排查发现Stream Load JSON数据字符串为空的情况,如果是通过FE是不会引起这个问题,但是直接通过BE,执行Stream Load操作就会引发上面的异常,导致be宕机
最后在社区陈明雨大神的指导下,社区已经有人提交了这个Patch,打上这个补丁以后,问题解决
Fix bug that BE core will loading empty json array
因为目前这个Patch还没有在发行版中,为了方便大家使用,我编译了一个版本放在了百度网盘,大家可以根据自己需要下载
大家使用Stream load 导入数据(直接和BE通讯),如果出现空json字符串会导致BE down的情况,大家尽快打上这个补丁
上述就是小编为大家分享的怎么解决Drois Stream load JSON为空导致BE宕机的情况了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。