您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關怎么解決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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。