Open
Description
Right now we don't limit the json with stats - neither resulting, nor intermediate.
Thus, we can reach OOM trying to allocate enormous amount of memory, i.e. stacktrace
Jan 14 22:23:51 some_host_name KIKIMR[14748]: 2025-01-14T22:23:28.558598Z :MEMORY_PROFILER WARN: HEAP |
| size 10091495424 (9624.0 MiB), count 401, KQP_DATA_EXECUTER_ACTOR | 10091495424 = 401 * 25165824 (25165824) |
| 000055A2C718D9FB ??
| 000055A2C718D876 ??
| 000055A2B1E98592 std::__y1::basic_string<char, std::__y1::char_traits<char>, std::__y1::allocator<char>>::append(char const*, unsigned long) +258
| 000055A2B221891F NJsonWriter::TBuf::WriteBareString(TBasicStringBuf<char, std::__y1::char_traits<char>>, NJsonWriter::EHtmlEscapeMode) +335
| 000055A2B2219BD3 NJsonWriter::TBuf::WriteJsonValue(NJson::TJsonValue const*, bool, EFloatToStringMode, int) +1379
| 000055A2B2219908 NJsonWriter::TBuf::WriteJsonValue(NJson::TJsonValue const*, bool, EFloatToStringMode, int) +664
| 000055A2B2219A4A NJsonWriter::TBuf::WriteJsonValue(NJson::TJsonValue const*, bool, EFloatToStringMode, int) +986
| 000055A2B2219908 NJsonWriter::TBuf::WriteJsonValue(NJson::TJsonValue const*, bool, EFloatToStringMode, int) +664
| 000055A2B2219A4A NJsonWriter::TBuf::WriteJsonValue(NJson::TJsonValue const*, bool, EFloatToStringMode, int) +986
| 000055A2B2219908 NJsonWriter::TBuf::WriteJsonValue(NJson::TJsonValue const*, bool, EFloatToStringMode, int) +664
| 000055A2B2219908 NJsonWriter::TBuf::WriteJsonValue(NJson::TJsonValue const*, bool, EFloatToStringMode, int) +664
| 000055A2B2219A4A NJsonWriter::TBuf::WriteJsonValue(NJson::TJsonValue const*, bool, EFloatToStringMode, int) +986
| 000055A2B2219908 NJsonWriter::TBuf::WriteJsonValue(NJson::TJsonValue const*, bool, EFloatToStringMode, int) +664
| 000055A2B2219A4A NJsonWriter::TBuf::WriteJsonValue(NJson::TJsonValue const*, bool, EFloatToStringMode, int) +986
| 000055A2B2219908 NJsonWriter::TBuf::WriteJsonValue(NJson::TJsonValue const*, bool, EFloatToStringMode, int) +664
| 000055A2BB4278A2 NKikimr::NKqp::AddExecStatsToTxPlan(TBasicString<char, std::__y1::char_traits<char>> const&, NYql::NDqProto::TDqExecutionStats const&, TIntrusivePtr<NKikimr::NKqp::NOpt::TKqpOptimizeContext, TDefaultIntrusivePtrOps<NKikimr::NKqp::NOpt::TKqpOptimizeContext>>) +882
| 000055A2BB42836A NKikimr::NKqp::AddExecStatsToTxPlan(TBasicString<char, std::__y1::char_traits<char>> const&, NYql::NDqProto::TDqExecutionStats const&) +42
| 000055A2C37DA7B5 ??
| 000055A2C37D6206 ??
| 000055A2C37C81C9 ??