[异常]can not get a block queue for table_id:xxx

Viewed 149

doris版本:2.1.0

使用group commit提交有时会出现can not get a block queue for table_id

jdbc配置:

spring.datasource.url = jdbc:mysql://xxxxx:9030/sc?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useServerPrepStmts=true&sessionVariables=group_commit=async_mode
spring.datasource.username = 
spring.datasource.password = 
spring.datasource.driver-class-name = com.mysql.cj.jdbc.Driver
spring.datasource.hikari.maximum-pool-size = 50
spring.datasource.hikari.auto-commit = true
#spring.datasource.hikari.idle-timeout = 30000
spring.datasource.hikari.max-lifetime = 500000
spring.datasource.hikari.connection-timeout = 60000

异常堆栈:

org.springframework.jdbc.UncategorizedSQLException: 

### Error updating database.  Cause: java.sql.SQLException: errCode = 2, detailMessage = group commit insert failed. db_id: 15057, table_id: 40174, query_id: 66ba137c7ad04aa6-8cec52b06526e0f1, backend_id: 15094, status: status_code: 6
error_msgs: "(172.21.172.192)[INTERNAL_ERROR]can not get a block queue for table_id: 40174"

### The error may exist in file [/home/jenkins/workspace/aqb_YJSP_gzs-elasticsearch-engine_NA_DownLoadCode/project/gzs-elasticsearch-persistence/target/classes/mappers/MetricsMonitorAvgHourMapper.xml]
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: INSERT INTO metrics_monitor_avg_hour(         window_start,         vm_id,         capture_td_avg,         capture_td_count,         encode_td_avg,         encode_td_count,         decode_td_avg,         decode_td_count,         av_sync_td_avg,         av_sync_td_count,         rtt_td_avg,         rtt_td_count,         network_rtt_avg,         network_rtt_count,         s_fps_avg,         s_fps_count,         a_fps_avg,         a_fps_count,         d_fps_avg,         d_fps_count,         fps_interval_diff_avg,         fps_interval_diff_count         )VALUES                        (             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?             )          ,              (             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?             )
### Cause: java.sql.SQLException: errCode = 2, detailMessage = group commit insert failed. db_id: 15057, table_id: 40174, query_id: 66ba137c7ad04aa6-8cec52b06526e0f1, backend_id: 15094, status: status_code: 6
error_msgs: "(172.21.172.192)[INTERNAL_ERROR]can not get a block queue for table_id: 40174"

; uncategorized SQLException; SQL state [HY000]; error code [5025]; errCode = 2, detailMessage = group commit insert failed. db_id: 15057, table_id: 40174, query_id: 66ba137c7ad04aa6-8cec52b06526e0f1, backend_id: 15094, status: status_code: 6
error_msgs: "(172.21.172.192)[INTERNAL_ERROR]can not get a block queue for table_id: 40174"

	at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93)
	at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439)
	at jdk.proxy2/jdk.proxy2.$Proxy113.insert(Unknown Source)
	at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272)
	at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:62)
	at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141)
	at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86)
	at jdk.proxy2/jdk.proxy2.$Proxy166.insertList(Unknown Source)
	at com.cmcc.hy.gzs.elasticsearch.persistence.repository.sc.MetricsMonitorAvgHourMapperTest.testInsert(MetricsMonitorAvgHourMapperTest.java:93)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
Caused by: java.sql.SQLException: errCode = 2, detailMessage = group commit insert failed. db_id: 15057, table_id: 40174, query_id: 66ba137c7ad04aa6-8cec52b06526e0f1, backend_id: 15094, status: status_code: 6
error_msgs: "(172.21.172.192)[INTERNAL_ERROR]can not get a block queue for table_id: 40174"

	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130)
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
	at com.mysql.cj.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:555)
	at com.mysql.cj.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:339)
	at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at com.mysql.cj.jdbc.ha.MultiHostConnectionProxy$JdbcInterfaceProxy.invoke(MultiHostConnectionProxy.java:110)
	at jdk.proxy2/jdk.proxy2.$Proxy174.execute(Unknown Source)
	at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44)
	at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58)
	at jdk.proxy3/jdk.proxy3.$Proxy175.execute(Unknown Source)
	at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:48)
	at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:75)
	at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50)
	at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)
	at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)
	at jdk.proxy2/jdk.proxy2.$Proxy171.update(Unknown Source)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425)
	... 10 more

be日志:

W20240319 16:48:30.510983 80949 fragment_mgr.cpp:400] Retrying ReportExecStatus. query id: ee1a659d910747ae-ae9c3f3c559193ee, instance id: ee1a659d910747ae-ae9c3f3c559193ef to TNetworkAddress(hostname=172.21.152.92, port=9020), err: THRIFT_ETIMEDOUT
W20240319 16:48:30.514190 80949 plan_fragment_executor.cpp:407] Got error while opening fragment ee1a659d910747ae-ae9c3f3c559193ef, query id: ee1a659d910747ae-ae9c3f3c559193ee: [INTERNAL_ERROR]can not get a block queue for table_id: 40174
I20240319 16:48:30.514281 80949 plan_fragment_executor.cpp:554] PlanFragmentExecutor::cancel ee1a659d910747ae-ae9c3f3c559193ef|ee1a659d910747ae-ae9c3f3c559193ee reason 3 error msg PlanFragmentExecutor open failed, reason: [INTERNAL_ERROR]can not get a block queue for table_id: 40174
W20240319 16:48:30.514325 80949 runtime_state.h:201] Task is cancelled, instance: ee1a659d910747ae-ae9c3f3c559193ef|ee1a659d910747ae-ae9c3f3c559193ee, st = [CANCELLED]PlanFragmentExecutor open failed, reason: [INTERNAL_ERROR]can not get a block queue for table_id: 40174
W20240319 16:48:30.515373 80949 status.h:380] meet error status: [ABORTED]PlanFragmentExecutor open failed, reason: [INTERNAL_ERROR]can not get a block queue for table_id: 40174

        0#  doris::PlanFragmentExecutor::cancel(doris::PPlanFragmentCancelReason const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:0
        1#  doris::PlanFragmentExecutor::execute() at /var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/basic_string.h:187
        2#  doris::FragmentMgr::_exec_actual(std::shared_ptr<doris::PlanFragmentExecutor>, std::function<void (doris::RuntimeState*, doris::Status*)> const&) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:449
        3#  std::_Function_handler<void (), doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, std::function<void (doris::RuntimeState*, doris::Status*)> const&)::$_0>::_M_invoke(std::_Any_data const&) at /var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:701
        4#  doris::ThreadPool::dispatch_thread() at /home/zcp/repo_center/doris_release/doris/be/src/util/threadpool.cpp:0
        5#  doris::Thread::supervise_thread(void*) at /var/local/ldb_toolchain/bin/../usr/include/pthread.h:562
        6#  start_thread
        7#  __GI___clone
I20240319 16:48:30.515951 80949 exec_node.cpp:204] query= ee1a659d910747ae-ae9c3f3c559193ee, fragment_instance_id=ee1a659d910747ae-ae9c3f3c559193ef, id=0 type=FILE_SCAN_NODE closed
I20240319 16:48:30.516019 80949 fragment_mgr.cpp:458] Instance ee1a659d910747ae-ae9c3f3c559193ef finished
I20240319 16:48:30.516028 80949 fragment_mgr.cpp:462] Query ee1a659d910747ae-ae9c3f3c559193ee finished

2 Answers

先看下tablet的状态是怎样的

show tablet 40174

哈喽,这个问题现在什么情况呢,如果还未解决的话,可以私聊我下,主页有微信