sudhanshu dev
01/13/2025, 5:15 AM{"date_time":"1736745070.040745","thread_name":"","thread_id":"592","level":"Error","query_id":"","logger_name":"MergeTreeBackgroundExecutor","message":"Exception while executing background task {7165cb86-e3b3-4832-9778-cf6a91b2273c::20250111_18664_18732_1}: Code: 241. DB::Exception: Memory limit (total) exceeded: would use 6.83 GiB (attempt to allocate chunk of 4299599 bytes), maximum: 6.79 GiB. OvercommitTracker decision: Memory overcommit isn't used. Waiting time or overcommit denominator are set to zero.: (while reading column attributes_string): (while reading from part \/var\/lib\/clickhouse\/store\/716\/7165cb86-e3b3-4832-9778-cf6a91b2273c\/20250111_18669_18669_0\/ in table signoz_logs.logs_v2 (7165cb86-e3b3-4832-9778-cf6a91b2273c) located on disk default of type local, from mark 0 with max_rows_to_read = 6526): While executing MergeTreeSequentialSource. (MEMORY_LIMIT_EXCEEDED), Stack trace (when copying this message, always include the lines below):\n\n0. DB::Exception::Exception(DB::Exception::MessageMasked&&, int, bool) @ 0x000000000c800f1b in \/usr\/bin\/clickhouse\n1. DB::Exception::Exception<char const*, char const*, String, long&, String, char const*, std::basic_string_view<char, std::char_traits<char>>>(int, FormatStringHelperImpl<std::type_identity<char const*>::type, std::type_identity<char const*>::type, std::type_identity<String>::type, std::type_identity<long&>::type, std::type_identity<String>::type, std::type_identity<char const*>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char>>>::type>, char const*&&, char const*&&, String&&, long&, String&&, char const*&&, std::basic_string_view<char, std::char_traits<char>>&&) @ 0x000000000c816d0a in \/usr\/bin\/clickhouse\n2. MemoryTracker::allocImpl(long, bool, MemoryTracker*, double) @ 0x000000000c816948 in \/usr\/bin\/clickhouse\n3. MemoryTracker::allocImpl(long, bool, MemoryTracker*, double) @ 0x000000000c816389 in \/usr\/bin\/clickhouse\n4. MemoryTracker::allocImpl(long, bool, MemoryTracker*, double) @ 0x000000000c816389 in \/usr\/bin\/clickhouse\n5. MemoryTracker::allocImpl(long, bool, MemoryTracker*, double) @ 0x000000000c816389 in \/usr\/bin\/clickhouse\n6. Allocator<false, false>::realloc(void*, unsigned long, unsigned long, unsigned long) @ 0x000000000c7d5d87 in \/usr\/bin\/clickhouse\n7. void DB::PODArrayBase<1ul, 4096ul, Allocator<false, false>, 63ul, 64ul>::resize_exact<>(unsigned long) @ 0x0000000007226ba6 in \/usr\/bin\/clickhouse\n8. void DB::deserializeBinarySSE2<1>(DB::PODArray<char8_t, 4096ul, Allocator<false, false>, 63ul, 64ul>&, DB::PODArray<unsigned long, 4096ul, Allocator<false, false>, 63ul, 64ul>&, DB::ReadBuffer&, unsigned long) @ 0x00000000108f8836 in \/usr\/bin\/clickhouse\n9. DB::ISerialization::deserializeBinaryBulkWithMultipleStreams(COW<DB::IColumn>::immutable_ptr<DB::IColumn>&, unsigned long, DB::ISerialization::DeserializeBinaryBulkSettings&, std::shared_ptr<DB::ISerialization::DeserializeBinaryBulkState>&, std::unordered_map<String, COW<DB::IColumn>::immutable_ptr<DB::IColumn>, std::hash<String>, std::equal_to<String>, std::allocator<std::pair<String const, COW<DB::IColumn>::immutable_ptr<DB::IColumn>>>>*) const @ 0x00000000108b01d9 in \/usr\/bin\/clickhouse\n10. DB::SerializationTuple::deserializeBinaryBulkWithMultipleStreams(COW<DB::IColumn>::immutable_ptr<DB::IColumn>&, unsigned long, DB::ISerialization::DeserializeBinaryBulkSettings&, std::shared_ptr<DB::ISerialization::DeserializeBinaryBulkState>&, std::unordered_map<String, COW<DB::IColumn>::immutable_ptr<DB::IColumn>, std::hash<String>, std::equal_to<String>, std::allocator<std::pair<String const, COW<DB::IColumn>::immutable_ptr<DB::IColumn>>>>*) const @ 0x0000000010902f5a in \/usr\/bin\/clickhouse\n11. DB::SerializationArray::deserializeBinaryBulkWithMultipleStreams(COW<DB::IColumn>::immutable_ptr<DB::IColumn>&, unsigned long, DB::ISerialization::DeserializeBinaryBulkSettings&, std::shared_ptr<DB::ISerialization::DeserializeBinaryBulkState>&, std::unordered_map<String, COW<DB::IColumn>::immutable_ptr<DB::IColumn>, std::hash<String>, std::equal_to<String>, std::allocator<std::pair<String const, COW<DB::IColumn>::immutable_ptr<DB::IColumn>>>>*) const @ 0x00000000108b99c8 in \/usr\/bin\/clickhouse\n12. DB::MergeTreeReaderWide::readRows(unsigned long, unsigned long, bool, unsigned long, std::vector<COW<DB::IColumn>::immutable_ptr<DB::IColumn>, std::allocator<COW<DB::IColumn>::immutable_ptr<DB::IColumn>>>&) @ 0x000000001251ab34 in \/usr\/bin\/clickhouse\n13. DB::MergeTreeSequentialSource::generate() @ 0x000000001251ca4d in \/usr\/bin\/clickhouse\n14. DB::ISource::tryGenerate() @ 0x000000001297acf5 in \/usr\/bin\/clickhouse\n15. DB::ISource::work() @ 0x000000001297a743 in \/usr\/bin\/clickhouse\n16. DB::ExecutionThreadContext::executeTask() @ 0x000000001299371a in \/usr\/bin\/clickhouse\n17. DB::PipelineExecutor::executeStepImpl(unsigned long, std::atomic<bool>*) @ 0x000000001298a170 in \/usr\/bin\/clickhouse\n18. DB::PipelineExecutor::executeStep(std::atomic<bool>*) @ 0x0000000012989928 in \/usr\/bin\/clickhouse\n19. DB::PullingPipelineExecutor::pull(DB::Chunk&) @ 0x0000000012998017 in \/usr\/bin\/clickhouse\n20. DB::PullingPipelineExecutor::pull(DB::Block&) @ 0x00000000129981d3 in \/usr\/bin\/clickhouse\n21. DB::MergeTask::ExecuteAndFinalizeHorizontalPart::executeImpl() @ 0x000000001233b6f2 in \/usr\/bin\/clickhouse\n22. DB::MergeTask::ExecuteAndFinalizeHorizontalPart::execute() @ 0x000000001233b64b in \/usr\/bin\/clickhouse\n23. DB::MergeTask::execute() @ 0x0000000012340d99 in \/usr\/bin\/clickhouse\n24. DB::MergePlainMergeTreeTask::executeStep() @ 0x0000000012723517 in \/usr\/bin\/clickhouse\n25. DB::MergeTreeBackgroundExecutor<DB::DynamicRuntimeQueue>::threadFunction() @ 0x00000000123532c4 in \/usr\/bin\/clickhouse\n26.
sudhanshu dev
01/13/2025, 5:17 AMnitya-signoz
01/13/2025, 1:46 PMWITH window_cte AS
(
SELECT
normalized_query_hash,
simpleJSONExtractString(log_comment, 'alertID') AS alert,
max(`ProfileEvents.Values`[indexOf(`ProfileEvents.Names`, 'UserTimeMicroseconds')]) / 1000 AS userCPUms_max,
avg(`ProfileEvents.Values`[indexOf(`ProfileEvents.Names`, 'UserTimeMicroseconds')]) / 1000 AS userCPUms_avg,
formatReadableSize(max(read_bytes)) AS read_bytes_max,
formatReadableSize(avg(read_bytes)) AS read_bytes_avg,
formatReadableSize(max(memory_usage)) AS max_memory,
formatReadableSize(avg(memory_usage)) AS avg_memory,
avg(query_duration_ms) AS avg_duration,
median(query_duration_ms) AS median_duration,
max(query_duration_ms) AS max_duration,
min(query_duration_ms) AS min_duration
FROM system.query_log
WHERE (query LIKE '%signoz_logs.distributed_logs_v2%') AND (type = 'QueryFinish') AND (event_time > (now() - toIntervalHour(1)))
GROUP BY
normalized_query_hash,
alert
)
SELECT
normalized_query_hash,
alert,
max_memory,
avg_memory,
userCPUms_max,
userCPUms_avg,
read_bytes_max,
read_bytes_avg,
avg_duration,
median_duration,
max_duration,
min_duration
FROM window_cte
ORDER BY max_memory ASC
Try to find the query by the hash
select * from system.query_log where normalized_query_hash='<hash>' format Vertical
sudhanshu dev
01/13/2025, 8:07 PMsudhanshu dev
01/16/2025, 3:24 AMsudhanshu dev
01/16/2025, 3:24 AMnitya-signoz
01/16/2025, 3:49 AMsudhanshu dev
01/16/2025, 3:51 AMsudhanshu dev
01/16/2025, 3:52 AMnitya-signoz
01/16/2025, 3:53 AMnitya-signoz
01/16/2025, 3:54 AMsudhanshu dev
01/16/2025, 3:54 AMsudhanshu dev
01/16/2025, 3:54 AMnitya-signoz
01/16/2025, 3:55 AMsudhanshu dev
01/16/2025, 4:04 AMnitya-signoz
01/16/2025, 4:05 AMsudhanshu dev
01/17/2025, 7:11 AMnitya-signoz
01/18/2025, 4:20 AMWITH window_cte AS
(
SELECT
normalized_query_hash,
simpleJSONExtractString(log_comment, 'alertID') AS alert,
max(`ProfileEvents.Values`[indexOf(`ProfileEvents.Names`, 'UserTimeMicroseconds')]) / 1000 AS userCPUms_max,
avg(`ProfileEvents.Values`[indexOf(`ProfileEvents.Names`, 'UserTimeMicroseconds')]) / 1000 AS userCPUms_avg,
formatReadableSize(max(read_bytes)) AS read_bytes_max,
formatReadableSize(avg(read_bytes)) AS read_bytes_avg,
formatReadableSize(max(memory_usage)) AS max_memory,
formatReadableSize(avg(memory_usage)) AS avg_memory,
avg(query_duration_ms) AS avg_duration,
median(query_duration_ms) AS median_duration,
max(query_duration_ms) AS max_duration,
min(query_duration_ms) AS min_duration
FROM system.query_log
WHERE (query LIKE '%signoz_logs.distributed_logs_v2%') AND (event_time > (now() - toIntervalHour(200)))
GROUP BY
normalized_query_hash,
alert
)
SELECT
normalized_query_hash,
alert,
max_memory,
avg_memory,
userCPUms_max,
userCPUms_avg,
read_bytes_max,
read_bytes_avg,
avg_duration,
median_duration,
max_duration,
min_duration
FROM window_cte
ORDER BY max_memory ASC