【详述】sql连续执行几次会导致be全挂,并没有看到内存不够的日志。
【背景】设置了资源组 大查询be内存限制是32G
【业务影响】
【StarRocks版本】2.3.0
【集群规模】4fe(3 follower+1observer)+4be(fe与be混部)
【机器信息】4物理机:32C/128G/万兆
【附件】
sql: SELECT date_format(resource_timestamp, ‘%Y-%m-%d %H:00:00’) AS d_a0, SUM(mocktable.cost_discounted) AS m_a0
FROM (
SELECT adm_cis.adm_cost_hourly.*
, CASE
WHEN app_owner IS NULL THEN ‘’
ELSE app_owner
END AS app_owner_t
, CASE
WHEN bu IS NULL THEN ‘’
WHEN bu = ‘框架架构’ THEN ‘平台研发中心’
WHEN bu = ‘unknown’ THEN ‘’
ELSE bu
END AS bu_t
, CASE
WHEN product_line IS NULL THEN ‘’
WHEN product_line = ‘unknown’ THEN ‘’
ELSE product_line
END AS product_line_t
, CASE
WHEN app_instance IS NULL THEN ‘’
ELSE app_instance
END AS app_instance_t
FROM adm_cis.adm_cost_hourly
WHERE CASE
WHEN (
SELECT id IN (
SELECT user_id
FROM artnova_db.gnomon_user_groups
WHERE group_id = 4324
AND d = ‘2022-10-14’
)
FROM artnova_db.gnomon_users
WHERE LOWER(employee_id) = LOWER(‘TR016048’)
) THEN true
WHEN (
SELECT COUNT()
FROM adm_cis.adm_app_owners
WHERE LOWER(owner_eid) = LOWER(‘TR016048’)
) >= 1 THEN app_name IN (
SELECT app_name
FROM adm_cis.adm_app_owners
WHERE LOWER(owner_eid) = LOWER(‘TR016048’)
)
OR app_owner IN (
SELECT user_name
FROM dw_cis.edw_cis_meta_employee_level
WHERE d = ‘2022-10-14’
AND display_name_path LIKE CONCAT(’%’, (
SELECT DISTINCT display_name
FROM dw_cis.edw_cis_meta_employee_level
WHERE d = ‘2022-10-14’
AND emp_code = ‘TR016048’
), ‘%’)
)
WHEN (
SELECT COUNT()
FROM adm_cis.adm_bu_admins
WHERE LOWER(bu_admin_eid) = LOWER(‘TR016048’)
) >= 1 THEN app_owner IN (
SELECT user_name
FROM dw_cis.edw_cis_meta_employee_level
WHERE d = ‘2022-10-14’
AND user_name != ‘’
AND display_name_path LIKE CONCAT(’%’, (
SELECT bu_head_display_name
FROM adm_cis.adm_bu_admins
WHERE LOWER(bu_admin_eid) = LOWER(‘TR016048’)
), ‘%’)
)
OR bu IN (
SELECT bu
FROM adm_cis.adm_bu_admins
WHERE LOWER(bu_admin_eid) = LOWER(‘TR016048’)
)
WHEN (
SELECT COUNT(*)
FROM adm_cis.adm_bu_admins
WHERE LOWER(bu_head_eid) = LOWER(‘TR016048’)
) >= 1 THEN app_owner IN (
SELECT user_name
FROM dw_cis.edw_cis_meta_employee_level
WHERE d = ‘2022-10-14’
AND user_name != ‘’
AND display_name_path LIKE CONCAT(’%’, (
SELECT DISTINCT bu_head_display_name
FROM adm_cis.adm_bu_admins
WHERE LOWER(bu_head_eid) = LOWER(‘TR016048’)
), ‘%’)
)
OR bu IN (
SELECT bu
FROM adm_cis.adm_bu_admins
WHERE LOWER(bu_head_eid) = LOWER(‘TR016048’)
)
ELSE
CASE
WHEN ‘%S99999%’ = ‘%S99999%’ THEN app_owner != ‘’
AND app_owner IN (
SELECT user_name
FROM dw_cis.edw_cis_meta_employee_level
WHERE d = ‘2022-10-14’
AND display_name_path LIKE CONCAT(’%’, (
SELECT DISTINCT display_name
FROM dw_cis.edw_cis_meta_employee_level
WHERE d = ‘2022-10-14’
AND emp_code = ‘TR016048’
), ‘%’)
)
ELSE app_owner != ‘’
AND app_owner IN (
SELECT user_name
FROM dw_cis.edw_cis_meta_employee_level
WHERE d = ‘2022-10-14’
AND display_name_path LIKE ‘%S99999%’
)
END
END
AND CASE
WHEN ‘%S99999%’ = ‘%S99999%’ THEN true
ELSE app_owner != ‘’
AND app_owner IN (
SELECT user_name
FROM dw_cis.edw_cis_meta_employee_level
WHERE d = ‘2022-10-14’
AND display_name_path LIKE ‘%S99999%’
)
END
) mocktable
WHERE mocktable.cloud_provider IN (‘aliyun’)
GROUP BY date_format(resource_timestamp, ‘%Y-%m-%d %H:00:00’)
ORDER BY d_a0 ASC, m_a0 DESC;
profile: profile.txt (592.3 KB)
analyze:



