在设置了set global tiflash_mem_quota_query_per_node = 60 * 1 << 30;
后查询报错:ERROR 1105 (HY000): other error for mpp stream: Code: 0, e.displayText() = DB::Exception: Receiver state: ERROR, error message: Exchange receiver meet error : Code: 0, e.displayText() = DB::Exception: Receiver state: ERROR, error message: Code: 0, e.displayText() = DB::Exception: Receiver state: ERROR, error message: Code: 0, e.displayText() = DB::Exception: Memory limit (for query) exceeded caused by 'out of memory quota for data computing' : would use 60.00 GiB for data computing (attempt to allocate chunk of 1114112 bytes)
设置为 set tiflash_mem_quota_query_per_node = 0;
后执行成功,
但是看监控实际上两个 Compute 节点最大内存使用才不到 10 GB。所以感觉 TiFlash 的内存预估不准,容易将本来能跑成功的语句拦截了。