Lock Manager detects slow lock

为了更快的定位您的问题,请提供以下信息,谢谢
【详述】Lock Manager detects slow lock
【背景】通过fe可视化页面,观察到有慢查询,通过profile观察到存在长时间锁等待时间
【业务影响】查询不稳定
【是否存算分离】
【StarRocks版本】例如:3.3.9
【集群规模】3fe+3be
【机器信息】fe=16c/32g/万兆,cn=16c/64g/万兆
【联系方式】存算分离 2 群 2333
【附件】

  • fe.log/
    /opt/starrocks/fe/log/fe.log:2025-09-05 12:10:03.091+08:00 WARN (starrocks-mysql-nio-pool-11209|221273) [LockManager.logSlowLockTrace():418] Lock
    Manager detects slow lock:
{
  "owners": [
    {
      "id": 38,
      "name": "tablet stat mgr",
      "type": "INTENTION_EXCLUSIVE",
      "heldFor": 667279,
      "waitTime": 0,
      "stack": [
        "java.base@11.0.4/java.lang.Object.wait(Native Method)",
        "app//com.starrocks.common.util.concurrent.lock.LockManager.lock(LockManager.java:155)",
        "app//com.starrocks.common.util.concurrent.lock.Locker.lock(Locker.java:90)",
        "app//com.starrocks.common.util.concurrent.lock.Locker.lockTableWithIntensiveDbLock(Locker.java:495)",
        "app//com.starrocks.catalog.TabletStatMgr.runAfterCatalogReady(TabletStatMgr.java:148)",
        "app//com.starrocks.common.util.FrontendDaemon.runOneCycle(FrontendDaemon.java:72)",
        "app//com.starrocks.common.util.Daemon.run(Daemon.java:109)"
      ]
    },
    {
      "id": 220834,
      "name": "starrocks-mysql-nio-pool-11191",
      "type": "INTENTION_SHARED",
      "heldFor": 671401,
      "waitTime": 0,
      "stack": [
        "java.base@11.0.4/java.net.SocketInputStream.socketRead0(Native Method)",
        "java.base@11.0.4/java.net.SocketInputStream.socketRead(SocketInputStream.java:115)",
        "java.base@11.0.4/java.net.SocketInputStream.read(SocketInputStream.java:168)",
        "java.base@11.0.4/java.net.SocketInputStream.read(SocketInputStream.java:140)",
        "java.base@11.0.4/java.io.BufferedInputStream.fill(BufferedInputStream.java:252)",
        "java.base@11.0.4/java.io.BufferedInputStream.read1(BufferedInputStream.java:292)",
        "java.base@11.0.4/java.io.BufferedInputStream.read(BufferedInputStream.java:351)",
        "app//org.mariadb.jdbc.client.socket.impl.PacketReader.readReusablePacket(PacketReader.java:62)",
        "app//org.mariadb.jdbc.message.ClientMessage.readPacket(ClientMessage.java:153)",
        "app//org.mariadb.jdbc.client.impl.StandardClient.readPacket(StandardClient.java:913)",
        "app//org.mariadb.jdbc.client.impl.StandardClient.readResults(StandardClient.java:852)",
        "app//org.mariadb.jdbc.client.impl.StandardClient.readResponse(StandardClient.java:771)",
        "app//org.mariadb.jdbc.client.impl.StandardClient.execute(StandardClient.java:695)",
        "app//org.mariadb.jdbc.client.impl.StandardClient.execute(StandardClient.java:551)",
        "app//org.mariadb.jdbc.Connection.isValid(Connection.java:709)",
        "app//com.zaxxer.hikari.pool.PoolBase.isConnectionAlive(PoolBase.java:147)",
        "app//com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:169)",
        "app//com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:145)",
        "app//com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:85)",
        "app//com.starrocks.connector.jdbc.JDBCMetadata.getConnection(JDBCMetadata.java:148)",
        "app//com.starrocks.connector.jdbc.JDBCMetadata.lambda$getTable$1(JDBCMetadata.java:199)",
        "app//com.starrocks.connector.jdbc.JDBCMetadata$$Lambda$829/0x00000008009b6440.apply(Unknown Source)",
        "app//com.starrocks.connector.jdbc.JDBCMetaCache.get(JDBCMetaCache.java:73)",
        "app//com.starrocks.connector.jdbc.JDBCMetadata.getTable(JDBCMetadata.java:197)",
        "app//com.starrocks.connector.CatalogConnectorMetadata.getTable(CatalogConnectorMetadata.java:135)",
        "app//com.starrocks.server.MetadataMgr.lambda$getTable$5(MetadataMgr.java:497)",
        "app//com.starrocks.server.MetadataMgr$$Lambda$521/0x0000000800879440.apply(Unknown Source)",
        "java.base@11.0.4/java.util.Optional.map(Optional.java:265)",
        "app//com.starrocks.server.MetadataMgr.getTable(MetadataMgr.java:497)",
        "app//com.starrocks.server.MetadataMgr.getTable(MetadataMgr.java:526)",
        "app//com.starrocks.server.MetadataMgr.getTableWithIdentifier(MetadataMgr.java:531)",
        "app//com.starrocks.server.MetadataMgr.getTableChecked(MetadataMgr.java:545)",
        "app//com.starrocks.sql.optimizer.rule.transformation.materialization.MvUtils.getTableChecked(MvUtils.java:1413)",
        "app//com.starrocks.sql.optimizer.MvRewritePreprocessor.lambda$canMVRewriteIfMVHasExtraTables$2(MvRewritePreprocessor.java:509)",
        "app//com.starrocks.sql.optimizer.MvRewritePreprocessor$$Lambda$1653/0x00000008011f0440.apply(Unknown Source)",
        "java.base@11.0.4/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)",
        "java.base@11.0.4/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654)",
        "java.base@11.0.4/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)",
        "java.base@11.0.4/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)",
        "java.base@11.0.4/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)",
        "java.base@11.0.4/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)",
        "java.base@11.0.4/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)",
        "app//com.starrocks.sql.optimizer.MvRewritePreprocessor.canMVRewriteIfMVHasExtraTables(MvRewritePreprocessor.java:511)",
        "app//com.starrocks.sql.optimizer.MvRewritePreprocessor.isMVValidToRewriteQuery(MvRewritePreprocessor.java:548)",
        "app//com.starrocks.sql.optimizer.MvRewritePreprocessor.lambda$chooseBestRelatedMVs$8(MvRewritePreprocessor.java:608)",
        "app//com.starrocks.sql.optimizer.MvRewritePreprocessor$$Lambda$1652/0x00000008011f0040.test(Unknown Source)",
        "java.base@11.0.4/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:176)",
        "java.base@11.0.4/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1603)",
        "java.base@11.0.4/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)",
        "java.base@11.0.4/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)",
        "java.base@11.0.4/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)",
        "java.base@11.0.4/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)",
        "java.base@11.0.4/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)",
        "app//com.starrocks.sql.optimizer.MvRewritePreprocessor.chooseBestRelatedMVs(MvRewritePreprocessor.java:609)",
        "app//com.starrocks.sql.optimizer.MvRewritePreprocessor.prepare(MvRewritePreprocessor.java:250)",
        "app//com.starrocks.sql.optimizer.Optimizer.prepareMvRewrite(Optimizer.java:350)",
        "app//com.starrocks.sql.optimizer.Optimizer.optimize(Optimizer.java:187)",
        "app//com.starrocks.sql.StatementPlanner.createQueryPlan(StatementPlanner.java:251)",
        "app//com.starrocks.sql.StatementPlanner.plan(StatementPlanner.java:129)",
        "app//com.starrocks.sql.StatementPlanner.plan(StatementPlanner.java:92)",
        "app//com.starrocks.qe.StmtExecutor.execute(StmtExecutor.java:570)",
        "app//com.starrocks.qe.ConnectProcessor.handleQuery(ConnectProcessor.java:366)",
        "app//com.starrocks.qe.ConnectProcessor.dispatch(ConnectProcessor.java:575)",
        "app//com.starrocks.qe.ConnectProcessor.processOnce(ConnectProcessor.java:913)",
        "app//com.starrocks.mysql.nio.ReadListener.lambda$handleEvent$0(ReadListener.java:69)",
        "app//com.starrocks.mysql.nio.ReadListener$$Lambda$1612/0x0000000801146440.run(Unknown Source)",
        "java.base@11.0.4/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)",
        "java.base@11.0.4/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)",
        "java.base@11.0.4/java.lang.Thread.run(Thread.java:834)"
      ]
    }
  ],
  "waiter": [
    {
      "id": 64,
      "name": "MemoryUsageTracker",
      "type": "READ",
      "waitTime": 657113,
      "stack": [
        "app//com.starrocks.common.util.Daemon.run(Daemon.java:109)"
      ]
    },
    {
      "id": 191,
      "name": "COMPACTION_DISPATCH",
      "type": "INTENTION_SHARED",
      "waitTime": 647082,
      "stack": [
        "app//com.starrocks.common.util.Daemon.run(Daemon.java:109)"
      ]
    },
    {
      "id": 220925,
      "name": "starrocks-mysql-nio-pool-11194",
      "type": "INTENTION_SHARED",
      "waitTime": 490661,
      "stack": [
        "java.base@11.0.4/java.lang.Thread.run(Thread.java:834)"
      ]
    },
    {
      "id": 220968,
      "name": "starrocks-mysql-nio-pool-11196",
      "type": "INTENTION_SHARED",
      "waitTime": 490209,
      "stack": [
        "java.base@11.0.4/java.lang.Thread.run(Thread.java:834)"
      ]
    },
    {
      "id": 190,
      "name": "replayer",
      "type": "WRITE",
      "waitTime": 490060,
      "stack": [
        "app//com.starrocks.server.GlobalStateMgr$5.run(GlobalStateMgr.java:1869)"
      ]
    },
    {
      "id": 221055,
      "name": "starrocks-mysql-nio-pool-11199",
      "type": "INTENTION_SHARED",
      "waitTime": 430240,
      "stack": [
        "java.base@11.0.4/java.lang.Thread.run(Thread.java:834)"
      ]
    },
    {
      "id": 221054,
      "name": "starrocks-mysql-nio-pool-11198",
      "type": "INTENTION_SHARED",
      "waitTime": 412362,
      "stack": [
        "java.base@11.0.4/java.lang.Thread.run(Thread.java:834)"
      ]
    },
    {
      "id": 221097,
      "name": "starrocks-mysql-nio-pool-11202",
      "type": "INTENTION_SHARED",
      "waitTime": 382495,
      "stack": [
        "java.base@11.0.4/java.lang.Thread.run(Thread.java:834)"
      ]
    },
    {
      "id": 221119,
      "name": "starrocks-mysql-nio-pool-11206",
      "type": "INTENTION_SHARED",
      "waitTime": 3000,
      "stack": [
        "java.base/java.lang.Thread.run(Thread.java:834)"
      ]
    }
  ]
}
  • Profile信息
Planner:
     - -- Parser[1] 30ms
     - -- Total[1] 4m20s
     -     -- Analyzer[1] 4m20s
     -         -- Lock[1] 4m20s
     -         -- AnalyzeDatabase[3] 0
     -         -- AnalyzeTemporaryTable[3] 0
     -         -- AnalyzeTable[3] 10ms
     -             -- HMS.getTable[1] 10ms
     -     -- Transformer[1] 0
     -     -- Optimizer[1] 31ms
     -         -- MVPreprocess[1] 0
     -         -- MVTextRewrite[1] 0
     -         -- RuleBaseOptimize[1] 7ms
     -             -- HMS.listPartitionNames[1] 5ms
     -         -- CostBaseOptimize[1] 22ms
     -             -- HMS.getPartitionsByNames[1] 21ms
     -         -- PhysicalRewrite[1] 0
     -         -- PlanValidate[1] 1ms
     -             -- InputDependenciesChecker[1] 0
     -             -- TypeChecker[1] 0
     -             -- CTEUniqueChecker[1] 0
     -             -- ColumnReuseChecker[1] 0
     -     -- ExecPlanBuild[1] 0
     - -- HMS.PARTITIONS.LIST_FS_PARTITIONS[5] 73ms
     - -- Pending[1] 15ms
     - -- Prepare[1] 0
     - -- Deploy[1] 15ms
     -     -- DeployLockInternalTime[1] 15ms
     -         -- DeploySerializeConcurrencyTime[4] 0
     -         -- DeployStageByStageTime[12] 0
     -         -- DeployWaitTime[12] 14ms
     -             -- DeployAsyncSendTime[14] 0

升级一下到3.3.18版本看看

正在计划下周升级