From 9ad55733a6cacbc313317f23ad68932b943cab29 Mon Sep 17 00:00:00 2001 From: obdev Date: Fri, 20 Sep 2024 05:54:14 +0000 Subject: [PATCH] fix query ddl_task_status failed due to incorrect tenant id. --- src/rootserver/ddl_task/ob_ddl_task.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/rootserver/ddl_task/ob_ddl_task.cpp b/src/rootserver/ddl_task/ob_ddl_task.cpp index 59890068c..654a55a3e 100644 --- a/src/rootserver/ddl_task/ob_ddl_task.cpp +++ b/src/rootserver/ddl_task/ob_ddl_task.cpp @@ -3712,8 +3712,10 @@ int ObDDLTaskRecordOperator::get_create_index_or_mlog_task_cnt( ObSqlString sql_string; SMART_VAR(ObMySQLProxy::MySQLResult, res) { sqlclient::ObMySQLResult *result = NULL; - if (OB_FAIL(sql_string.assign_fmt("SELECT COUNT(*) as cnt FROM %s WHERE object_id = %lu AND ddl_type IN (%d, %d, %d)", - OB_ALL_DDL_TASK_STATUS_TNAME, data_table_id, ObDDLType::DDL_CREATE_INDEX, ObDDLType::DDL_CREATE_PARTITIONED_LOCAL_INDEX, ObDDLType::DDL_CREATE_MLOG))) { + if (OB_FAIL(sql_string.assign_fmt("SELECT COUNT(*) as cnt FROM %s WHERE object_id = %lu AND ddl_type IN (%d, %d, %d, %d, %d, %d)", + OB_ALL_DDL_TASK_STATUS_TNAME, data_table_id, + ObDDLType::DDL_CREATE_INDEX, ObDDLType::DDL_CREATE_PARTITIONED_LOCAL_INDEX, ObDDLType::DDL_CREATE_MLOG, + ObDDLType::DDL_CREATE_VEC_INDEX, ObDDLType::DDL_CREATE_MULTIVALUE_INDEX, ObDDLType::DDL_CREATE_FTS_INDEX))) { LOG_WARN("assign sql string failed", K(ret)); } else if (OB_FAIL(proxy.read(res, tenant_id, sql_string.ptr()))) { LOG_WARN("query ddl task record failed", K(ret), K(sql_string)); @@ -3905,9 +3907,10 @@ int ObDDLTaskRecordOperator::insert_record( SMART_VAR(ObMySQLProxy::MySQLResult, res) { ObSqlString query_string; sqlclient::ObMySQLResult *result = NULL; + // vec index need parent_task_id. if (OB_FAIL(query_string.assign_fmt("SELECT task_id FROM %s " - "WHERE tenant_id = %lu and object_id = %lu and target_object_id = %lu", - OB_ALL_DDL_TASK_STATUS_TNAME, record.tenant_id_, record.object_id_, record.target_object_id_))) { + "WHERE object_id = %lu and target_object_id = %lu and parent_task_id = %lu", + OB_ALL_DDL_TASK_STATUS_TNAME, record.object_id_, record.target_object_id_, record.parent_task_id_))) { LOG_WARN("assign sql string failed", K(ret), K(record)); } else if (OB_FAIL(proxy.read(res, record.tenant_id_, query_string.ptr()))) { LOG_WARN("read record failed", K(ret), K(query_string));