为了更快的定位您的问题,请提供以下信息,谢谢
【详述】问题详细描述
Status TabletUpdates::get_applied_rowsets(int64_t version, std::vector* rowsets,
EditVersion* full_edit_version) {
int64_t begin_ms = MonotonicMillis();
if (_error) {
return Status::InternalError(
strings::Substitute("get_applied_rowsets failed, tablet updates is in error state: tablet:$0 $1",
_tablet.tablet_id(), _error_msg));
}
std::unique_lock<std::mutex> ul(_lock);
int64_t get_lock_ms = MonotonicMillis();
// wait for version timeout 55s, should smaller than exec_plan_fragment rpc timeout(60s)
RETURN_IF_ERROR(_wait_for_version(EditVersion(version, 0), 55000, ul));
咨询一下所有的内表查询或者大表合并操作 调用get_applied_rowsets,这块用了一个全局锁,是不是存在并发问题?是不是不太合理这块实现?
【背景】做过哪些操作?
【业务影响】
【是否存算分离】
【StarRocks版本】例如:3.2.5
【集群规模】
【机器信息】
【联系方式】邮箱467887319@qq.com
【附件】
- fe.log/beINFO/相应截图
- 慢查询:
- Profile信息,获取Profile,通过Profile分析查询瓶颈
- 并行度:show variables like ‘%parallel_fragment_exec_instance_num%’;
- pipeline是否开启:show variables like ‘%pipeline%’;
- be节点cpu和内存使用率截图
- 查询报错:
- query_dump,怎么获取query_dump文件
- be crash
- be.out
- coredump,如何获取coredump
- 外表查询报错
- be.out和fe.warn.log