数据库死锁问题

问题:在cloudcanal进行同步的时候,创建了一个从mysql到starRocks全量导入的任务,里面有六个表,内一个表的数据量差不多两三百M,但是任务创建之后运行几分钟后,同步几千条数据之后,就将里面同步的数据库锁住,导致所有的同步任务没有办法同步数据产生延迟,cloudcanal具体报错如下:
Caused by: java.lang.RuntimeException: Failed to flush data to StarRocks, Error response:
{“Status”:“Fail”,“BeginTxnTimeMs”:0,“Message”:“get database read lock timeout, database=tx_airdroid_main”,“NumberUnselectedRows”:0,“CommitAndPublishTimeMs”:0,“Label”:“4b6edd92-f1ec-4259-ae5d-f942ecd1a022”,“LoadBytes”:0,“StreamLoadPlanTimeMs”:20000,“NumberTotalRows”:0,“WriteDataTimeMs”:0,“TxnId”:297302030,“LoadTimeMs”:0,“ReadDataTimeMs”:0,“NumberLoadedRows”:0,“NumberFilteredRows”:0}
{}

at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.doInsert(StarRocksIncreStreamLoadExecutor.java:302)
at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.runBatchInner(StarRocksIncreStreamLoadExecutor.java:116)
... 7 common frames omitted

2024-04-11 14:35:38.709 [starrocks-batch-async-apply-7-thd-0] ERROR c.c.c.s.w.w.e.incre.StarRocksIncreStreamLoadExecutor - apply batch data error.msg:RuntimeException: Failed to flush data to StarRocks, Error response:
{“Status”:“Fail”,“BeginTxnTimeMs”:0,“Message”:“get database read lock timeout, database=tx_airdroid_main”,“NumberUnselectedRows”:0,“CommitAndPublishTimeMs”:0,“Label”:“cfbb42c6-7b3f-40be-bdfa-1690b59af585”,“LoadBytes”:0,“StreamLoadPlanTimeMs”:20000,“NumberTotalRows”:0,“WriteDataTimeMs”:0,“TxnId”:297302029,“LoadTimeMs”:0,“ReadDataTimeMs”:0,“NumberLoadedRows”:0,“NumberFilteredRows”:0}
{}

com.clougence.cloudcanal.base.service.task.exception.runtime.ApplierHandlerException: Execute stream load failed with exception. Root cause is java.lang.RuntimeException: Failed to flush data to StarRocks, Error response:
{“Status”:“Fail”,“BeginTxnTimeMs”:0,“Message”:“get database read lock timeout, database=tx_airdroid_main”,“NumberUnselectedRows”:0,“CommitAndPublishTimeMs”:0,“Label”:“cfbb42c6-7b3f-40be-bdfa-1690b59af585”,“LoadBytes”:0,“StreamLoadPlanTimeMs”:20000,“NumberTotalRows”:0,“WriteDataTimeMs”:0,“TxnId”:297302029,“LoadTimeMs”:0,“ReadDataTimeMs”:0,“NumberLoadedRows”:0,“NumberFilteredRows”:0}
{}

at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.doInsert(StarRocksIncreStreamLoadExecutor.java:302)
at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.runBatchInner(StarRocksIncreStreamLoadExecutor.java:116)
at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.runBatch(StarRocksIncreStreamLoadExecutor.java:237)
at com.clougence.cloudcanal.starrocks.worker.writer.incre.thread.DmlTableBatchWorker.run(DmlTableBatchWorker.java:24)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.runBatchInner(StarRocksIncreStreamLoadExecutor.java:125)
at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.runBatch(StarRocksIncreStreamLoadExecutor.java:237)
at com.clougence.cloudcanal.starrocks.worker.writer.incre.thread.DmlTableBatchWorker.run(DmlTableBatchWorker.java:24)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

Caused by: java.lang.RuntimeException: Failed to flush data to StarRocks, Error response:
{“Status”:“Fail”,“BeginTxnTimeMs”:0,“Message”:“get database read lock timeout, database=tx_airdroid_main”,“NumberUnselectedRows”:0,“CommitAndPublishTimeMs”:0,“Label”:“cfbb42c6-7b3f-40be-bdfa-1690b59af585”,“LoadBytes”:0,“StreamLoadPlanTimeMs”:20000,“NumberTotalRows”:0,“WriteDataTimeMs”:0,“TxnId”:297302029,“LoadTimeMs”:0,“ReadDataTimeMs”:0,“NumberLoadedRows”:0,“NumberFilteredRows”:0}
{}

at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.doInsert(StarRocksIncreStreamLoadExecutor.java:302)
at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.runBatchInner(StarRocksIncreStreamLoadExecutor.java:116)
... 7 common frames omitted

2024-04-11 14:35:38.709 [starrocks-batch-async-apply-10-thd-0] ERROR c.c.c.s.w.w.e.incre.StarRocksIncreStreamLoadExecutor - apply batch data error.msg:RuntimeException: Failed to flush data to StarRocks, Error response:
{“Status”:“Fail”,“BeginTxnTimeMs”:0,“Message”:“get database read lock timeout, database=tx_airdroid_main”,“NumberUnselectedRows”:0,“CommitAndPublishTimeMs”:0,“Label”:“d6168f68-95b9-438c-9cc0-168daa298fca”,“LoadBytes”:0,“StreamLoadPlanTimeMs”:20000,“NumberTotalRows”:0,“WriteDataTimeMs”:0,“TxnId”:297302027,“LoadTimeMs”:0,“ReadDataTimeMs”:0,“NumberLoadedRows”:0,“NumberFilteredRows”:0}
{}

com.clougence.cloudcanal.base.service.task.exception.runtime.ApplierHandlerException: Execute stream load failed with exception. Root cause is java.lang.RuntimeException: Failed to flush data to StarRocks, Error response:
{“Status”:“Fail”,“BeginTxnTimeMs”:0,“Message”:“get database read lock timeout, database=tx_airdroid_main”,“NumberUnselectedRows”:0,“CommitAndPublishTimeMs”:0,“Label”:“d6168f68-95b9-438c-9cc0-168daa298fca”,“LoadBytes”:0,“StreamLoadPlanTimeMs”:20000,“NumberTotalRows”:0,“WriteDataTimeMs”:0,“TxnId”:297302027,“LoadTimeMs”:0,“ReadDataTimeMs”:0,“NumberLoadedRows”:0,“NumberFilteredRows”:0}
{}

at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.doInsert(StarRocksIncreStreamLoadExecutor.java:302)
at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.runBatchInner(StarRocksIncreStreamLoadExecutor.java:116)
at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.runBatch(StarRocksIncreStreamLoadExecutor.java:237)
at com.clougence.cloudcanal.starrocks.worker.writer.incre.thread.DmlTableBatchWorker.run(DmlTableBatchWorker.java:24)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.runBatchInner(StarRocksIncreStreamLoadExecutor.java:125)
at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.runBatch(StarRocksIncreStreamLoadExecutor.java:237)
at com.clougence.cloudcanal.starrocks.worker.writer.incre.thread.DmlTableBatchWorker.run(DmlTableBatchWorker.java:24)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

Caused by: java.lang.RuntimeException: Failed to flush data to StarRocks, Error response:
{“Status”:“Fail”,“BeginTxnTimeMs”:0,“Message”:“get database read lock timeout, database=tx_airdroid_main”,“NumberUnselectedRows”:0,“CommitAndPublishTimeMs”:0,“Label”:“d6168f68-95b9-438c-9cc0-168daa298fca”,“LoadBytes”:0,“StreamLoadPlanTimeMs”:20000,“NumberTotalRows”:0,“WriteDataTimeMs”:0,“TxnId”:297302027,“LoadTimeMs”:0,“ReadDataTimeMs”:0,“NumberLoadedRows”:0,“NumberFilteredRows”:0}
{}

at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.doInsert(StarRocksIncreStreamLoadExecutor.java:302)
at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.runBatchInner(StarRocksIncreStreamLoadExecutor.java:116)
... 7 common frames omitted

2024-04-11 14:35:38.712 [incre-apply-disruptor-4-thd-10] ERROR c.c.c.s.worker.writer.AbstractStarRocksApplyHandler - write to target error. Msg:RuntimeException: Failed to flush data to StarRocks, Error response:
{“Status”:“Fail”,“BeginTxnTimeMs”:0,“Message”:“get database read lock timeout, database=tx_airdroid_main”,“NumberUnselectedRows”:0,“CommitAndPublishTimeMs”:0,“Label”:“cfbb42c6-7b3f-40be-bdfa-1690b59af585”,“LoadBytes”:0,“StreamLoadPlanTimeMs”:20000,“NumberTotalRows”:0,“WriteDataTimeMs”:0,“TxnId”:297302029,“LoadTimeMs”:0,“ReadDataTimeMs”:0,“NumberLoadedRows”:0,“NumberFilteredRows”:0}
{}

com.clougence.cloudcanal.base.service.task.exception.runtime.ApplierHandlerException: exception when handle increment event
at com.clougence.cloudcanal.starrocks.worker.writer.incre.StarRocksIncreApplyHandler.handleBatchMessages(StarRocksIncreApplyHandler.java:185)
at com.clougence.cloudcanal.starrocks.worker.writer.incre.StarRocksIncreApplyHandler.handle(StarRocksIncreApplyHandler.java:146)
at com.clougence.cloudcanal.starrocks.worker.writer.incre.StarRocksIncreApplyHandler.handle(StarRocksIncreApplyHandler.java:40)
at com.clougence.cloudcanal.task.applier.incre.IncrementDisruptorApplyHandler.onEvent(IncrementDisruptorApplyHandler.java:25)
at com.clougence.cloudcanal.task.applier.incre.IncrementDisruptorApplyHandler.onEvent(IncrementDisruptorApplyHandler.java:12)
at com.lmax.disruptor.BatchEventProcessor.processEvents(BatchEventProcessor.java:168)
at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:125)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.util.concurrent.ExecutionException: com.clougence.cloudcanal.base.service.task.exception.runtime.ApplierHandlerException: apply batch data error.msg:RuntimeException: Failed to flush data to StarRocks, Error response:
{“Status”:“Fail”,“BeginTxnTimeMs”:0,“Message”:“get database read lock timeout, database=tx_airdroid_main”,“NumberUnselectedRows”:0,“CommitAndPublishTimeMs”:0,“Label”:“cfbb42c6-7b3f-40be-bdfa-1690b59af585”,“LoadBytes”:0,“StreamLoadPlanTimeMs”:20000,“NumberTotalRows”:0,“WriteDataTimeMs”:0,“TxnId”:297302029,“LoadTimeMs”:0,“ReadDataTimeMs”:0,“NumberLoadedRows”:0,“NumberFilteredRows”:0}
{}

at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at com.clougence.cloudcanal.starrocks.worker.writer.incre.StarRocksIncreApplyHandler.handleBatchMessages(StarRocksIncreApplyHandler.java:179)
... 7 common frames omitted

Caused by: com.clougence.cloudcanal.base.service.task.exception.runtime.ApplierHandlerException: apply batch data error.msg:RuntimeException: Failed to flush data to StarRocks, Error response:
{“Status”:“Fail”,“BeginTxnTimeMs”:0,“Message”:“get database read lock timeout, database=tx_airdroid_main”,“NumberUnselectedRows”:0,“CommitAndPublishTimeMs”:0,“Label”:“cfbb42c6-7b3f-40be-bdfa-1690b59af585”,“LoadBytes”:0,“StreamLoadPlanTimeMs”:20000,“NumberTotalRows”:0,“WriteDataTimeMs”:0,“TxnId”:297302029,“LoadTimeMs”:0,“ReadDataTimeMs”:0,“NumberLoadedRows”:0,“NumberFilteredRows”:0}
{}

at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.runBatch(StarRocksIncreStreamLoadExecutor.java:254)
at com.clougence.cloudcanal.starrocks.worker.writer.incre.thread.DmlTableBatchWorker.run(DmlTableBatchWorker.java:24)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
... 1 common frames omitted

Caused by: com.clougence.cloudcanal.base.service.task.exception.runtime.ApplierHandlerException: Execute stream load failed with exception. Root cause is java.lang.RuntimeException: Failed to flush data to StarRocks, Error response:
{“Status”:“Fail”,“BeginTxnTimeMs”:0,“Message”:“get database read lock timeout, database=tx_airdroid_main”,“NumberUnselectedRows”:0,“CommitAndPublishTimeMs”:0,“Label”:“cfbb42c6-7b3f-40be-bdfa-1690b59af585”,“LoadBytes”:0,“StreamLoadPlanTimeMs”:20000,“NumberTotalRows”:0,“WriteDataTimeMs”:0,“TxnId”:297302029,“LoadTimeMs”:0,“ReadDataTimeMs”:0,“NumberLoadedRows”:0,“NumberFilteredRows”:0}
{}

at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.doInsert(StarRocksIncreStreamLoadExecutor.java:302)
at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.runBatchInner(StarRocksIncreStreamLoadExecutor.java:116)
at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.runBatch(StarRocksIncreStreamLoadExecutor.java:237)
at com.clougence.cloudcanal.starrocks.worker.writer.incre.thread.DmlTableBatchWorker.run(DmlTableBatchWorker.java:24)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.runBatchInner(StarRocksIncreStreamLoadExecutor.java:125)
at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.runBatch(StarRocksIncreStreamLoadExecutor.java:237)
... 6 common frames omitted

Caused by: java.lang.RuntimeException: Failed to flush data to StarRocks, Error response:
{“Status”:“Fail”,“BeginTxnTimeMs”:0,“Message”:“get database read lock timeout, database=tx_airdroid_main”,“NumberUnselectedRows”:0,“CommitAndPublishTimeMs”:0,“Label”:“cfbb42c6-7b3f-40be-bdfa-1690b59af585”,“LoadBytes”:0,“StreamLoadPlanTimeMs”:20000,“NumberTotalRows”:0,“WriteDataTimeMs”:0,“TxnId”:297302029,“LoadTimeMs”:0,“ReadDataTimeMs”:0,“NumberLoadedRows”:0,“NumberFilteredRows”:0}
{}

at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.doInsert(StarRocksIncreStreamLoadExecutor.java:302)
at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.runBatchInner(StarRocksIncreStreamLoadExecutor.java:116)
... 7 common frames omitted

2024-04-11 14:35:38.712 [incre-apply-disruptor-4-thd-10] ERROR c.c.c.task.applier.incre.IncreDisruptorExceptionHandler - disruptor process increment event error,msg:RuntimeException: Failed to flush data to StarRocks, Error response:
{“Status”:“Fail”,“BeginTxnTimeMs”:0,“Message”:“get database read lock timeout, database=tx_airdroid_main”,“NumberUnselectedRows”:0,“CommitAndPublishTimeMs”:0,“Label”:“cfbb42c6-7b3f-40be-bdfa-1690b59af585”,“LoadBytes”:0,“StreamLoadPlanTimeMs”:20000,“NumberTotalRows”:0,“WriteDataTimeMs”:0,“TxnId”:297302029,“LoadTimeMs”:0,“ReadDataTimeMs”:0,“NumberLoadedRows”:0,“NumberFilteredRows”:0}
{}

com.clougence.cloudcanal.base.service.task.exception.runtime.ApplierHandlerException: exception when handle increment event
at com.clougence.cloudcanal.starrocks.worker.writer.incre.StarRocksIncreApplyHandler.handleBatchMessages(StarRocksIncreApplyHandler.java:185)
at com.clougence.cloudcanal.starrocks.worker.writer.incre.StarRocksIncreApplyHandler.handle(StarRocksIncreApplyHandler.java:146)
at com.clougence.cloudcanal.starrocks.worker.writer.incre.StarRocksIncreApplyHandler.handle(StarRocksIncreApplyHandler.java:40)
at com.clougence.cloudcanal.task.applier.incre.IncrementDisruptorApplyHandler.onEvent(IncrementDisruptorApplyHandler.java:25)
at com.clougence.cloudcanal.task.applier.incre.IncrementDisruptorApplyHandler.onEvent(IncrementDisruptorApplyHandler.java:12)
at com.lmax.disruptor.BatchEventProcessor.processEvents(BatchEventProcessor.java:168)
at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:125)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.util.concurrent.ExecutionException: com.clougence.cloudcanal.base.service.task.exception.runtime.ApplierHandlerException: apply batch data error.msg:RuntimeException: Failed to flush data to StarRocks, Error response:
{“Status”:“Fail”,“BeginTxnTimeMs”:0,“Message”:“get database read lock timeout, database=tx_airdroid_main”,“NumberUnselectedRows”:0,“CommitAndPublishTimeMs”:0,“Label”:“cfbb42c6-7b3f-40be-bdfa-1690b59af585”,“LoadBytes”:0,“StreamLoadPlanTimeMs”:20000,“NumberTotalRows”:0,“WriteDataTimeMs”:0,“TxnId”:297302029,“LoadTimeMs”:0,“ReadDataTimeMs”:0,“NumberLoadedRows”:0,“NumberFilteredRows”:0}
{}

at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at com.clougence.cloudcanal.starrocks.worker.writer.incre.StarRocksIncreApplyHandler.handleBatchMessages(StarRocksIncreApplyHandler.java:179)
... 7 common frames omitted

Caused by: com.clougence.cloudcanal.base.service.task.exception.runtime.ApplierHandlerException: apply batch data error.msg:RuntimeException: Failed to flush data to StarRocks, Error response:
{“Status”:“Fail”,“BeginTxnTimeMs”:0,“Message”:“get database read lock timeout, database=tx_airdroid_main”,“NumberUnselectedRows”:0,“CommitAndPublishTimeMs”:0,“Label”:“cfbb42c6-7b3f-40be-bdfa-1690b59af585”,“LoadBytes”:0,“StreamLoadPlanTimeMs”:20000,“NumberTotalRows”:0,“WriteDataTimeMs”:0,“TxnId”:297302029,“LoadTimeMs”:0,“ReadDataTimeMs”:0,“NumberLoadedRows”:0,“NumberFilteredRows”:0}
{}

at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.runBatch(StarRocksIncreStreamLoadExecutor.java:254)
at com.clougence.cloudcanal.starrocks.worker.writer.incre.thread.DmlTableBatchWorker.run(DmlTableBatchWorker.java:24)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
... 1 common frames omitted

Caused by: com.clougence.cloudcanal.base.service.task.exception.runtime.ApplierHandlerException: Execute stream load failed with exception. Root cause is java.lang.RuntimeException: Failed to flush data to StarRocks, Error response:
{“Status”:“Fail”,“BeginTxnTimeMs”:0,“Message”:“get database read lock timeout, database=tx_airdroid_main”,“NumberUnselectedRows”:0,“CommitAndPublishTimeMs”:0,“Label”:“cfbb42c6-7b3f-40be-bdfa-1690b59af585”,“LoadBytes”:0,“StreamLoadPlanTimeMs”:20000,“NumberTotalRows”:0,“WriteDataTimeMs”:0,“TxnId”:297302029,“LoadTimeMs”:0,“ReadDataTimeMs”:0,“NumberLoadedRows”:0,“NumberFilteredRows”:0}
{}

at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.doInsert(StarRocksIncreStreamLoadExecutor.java:302)
at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.runBatchInner(StarRocksIncreStreamLoadExecutor.java:116)
at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.runBatch(StarRocksIncreStreamLoadExecutor.java:237)
at com.clougence.cloudcanal.starrocks.worker.writer.incre.thread.DmlTableBatchWorker.run(DmlTableBatchWorker.java:24)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.runBatchInner(StarRocksIncreStreamLoadExecutor.java:125)
at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.runBatch(StarRocksIncreStreamLoadExecutor.java:237)
... 6 common frames omitted

Caused by: java.lang.RuntimeException: Failed to flush data to StarRocks, Error response:
{“Status”:“Fail”,“BeginTxnTimeMs”:0,“Message”:“get database read lock timeout, database=tx_airdroid_main”,“NumberUnselectedRows”:0,“CommitAndPublishTimeMs”:0,“Label”:“cfbb42c6-7b3f-40be-bdfa-1690b59af585”,“LoadBytes”:0,“StreamLoadPlanTimeMs”:20000,“NumberTotalRows”:0,“WriteDataTimeMs”:0,“TxnId”:297302029,“LoadTimeMs”:0,“ReadDataTimeMs”:0,“NumberLoadedRows”:0,“NumberFilteredRows”:0}
{}

at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.doInsert(StarRocksIncreStreamLoadExecutor.java:302)
at com.clougence.cloudcanal.starrocks.worker.writer.executor.incre.StarRocksIncreStreamLoadExecutor.runBatchInner(StarRocksIncreStreamLoadExecutor.java:116)
... 7 common frames omitted

2024-04-11 14:35:38.713 [starrocks-batch-async-apply-9-thd-0] INFO c.c.cloudcanal.starrocks.worker.util.StarRocksHttpHelper - Executing stream load to: ‘http://54.176.121.172:8040/api/tx_airdroid_main/fee_logs/_stream_load’, size: ‘3007’
2024-04-11 14:35:38.714 [starrocks-batch-async-apply-10-thd-0] INFO c.c.cloudcanal.starrocks.worker.util.StarRocksHttpHelper - Executing stream load to: ‘http://54.176.121.172:8040/api/tx_airdroid_main/tp_account_pre_register/_stream_load’, size: ‘891’
2024-04-11 14:35:38.715 [starrocks-batch-async-apply-8-thd-0] INFO c.c.cloudcanal.starrocks.worker.util.StarRocksHttpHelper - Executing stream load to: ‘http://54.176.121.172:8040/api/tx_airdroid_main/share_code/_stream_load’, size: ‘5578’
2024-04-11 14:35:38.716 [Thread-2] INFO com.clougence.cloudcanal.task.DataTaskStarter - DataTaskStarter begin to stop.请问一下这是什么原因导致的

您好 使用的版本是 ?

get database read lock timeout, database=xxx


DB Lock 超时问题一般情况为:

1.并发的导入事务太多,因为锁粒度在 DB 级别,所以很容易形成lock contention,即使不同的导入导的是不同的 table,这个后面会给予 table level lock进行优化 目前 可以尝试降低下并发 提升下单次的导入数据量 且针对这个问题可以通过调整 BE 的参数: thrift_rpc_timeout_ms /txn_commit_rpc_timeout_ms
推荐 = 60000ms 然后可以调整下txn_commit_rpc_timeout_ms=40000再观察下

我的版本是StarRocks-2.5.13。重启之后就恢复正常了,但是之前导入一个表的数据量也是很大没有发生锁库的情况,但是同时导入6个小表数据就会产生锁库

有预期在那个版本处理lock contention