为了更快的定位您的问题,请提供以下信息,谢谢
【详述】有一百多个异步物化视图,大部分的刷新频率都是15分钟,在刷新过程中会大量出现锁竞争,经常有刷新失败的情况
【业务影响】物化视图刷新失败导致数据更新不及时
【是否存算分离】
【StarRocks版本】例如:3.3.7
【集群规模】例如:3fe+8be(fe与be混部)
【机器信息】CPU虚拟核/内存/网卡,例如:48C/64G/万兆
【联系方式】
【附件】
2025-04-08 15:07:47.518+08:00 WARN (starrocks-taskrun-pool-5|1368) [LockManager.logSlowLockTrace():398] LockManager detects slow lock : {“owners”:[{“id”:1203,“name”:“starrocks-taskrun-pool-2”,“type”:“INTENTION_SHARED”,“heldFor”:5796,“waitTime”:0,“stack”:[“java.base@11.0.0.1/sun.nio.ch.EPoll.wait(Native Method)”,"java.base@11.0.0.1/sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120)","java.base@11.0.0.1/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124)","java.base@11.0.0.1/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:136)",“app//org.apache.hadoop.net.SocketIOWithTimeout$SelectorPool.select(SocketIOWithTimeout.java:335)”,“app//org.apache.hadoop.net.SocketIOWithTimeout.doIO(SocketIOWithTimeout.java:156)”,“app//org.apache.hadoop.net.SocketInputStream.read(SocketInputStream.java:161)”,“app//org.apache.hadoop.net.SocketInputStream.read(SocketInputStream.java:131)”,“app//org.apache.hadoop.net.SocketInputStream.read(SocketInputStream.java:118)”,"java.base@11.0.0.1/java.io.FilterInputStream.read(FilterInputStream.java:83)",“app//org.apache.hadoop.hdfs.protocolPB.PBHelperClient.vintPrefixed(PBHelperClient.java:527)”,“app//org.apache.hadoop.hdfs.client.impl.BlockReaderRemote.newBlockReader(BlockReaderRemote.java:419)”,“app//org.apache.hadoop.hdfs.client.impl.BlockReaderFactory.getRemoteBlockReader(BlockReaderFactory.java:861)”,“app//org.apache.hadoop.hdfs.client.impl.BlockReaderFactory.getRemoteBlockReaderFromTcp(BlockReaderFactory.java:757)”,“app//org.apache.hadoop.hdfs.client.impl.BlockReaderFactory.build(BlockReaderFactory.java:381)”,“app//org.apache.hadoop.hdfs.DFSInputStream.getBlockReader(DFSInputStream.java:715)”,“app//org.apache.hadoop.hdfs.DFSInputStream.blockSeekTo(DFSInputStream.java:645)”,“app//org.apache.hadoop.hdfs.DFSInputStream.readWithStrategy(DFSInputStream.java:845)”,“app//org.apache.hadoop.hdfs.DFSInputStream.read(DFSInputStream.java:919)”,"java.base@11.0.0.1/java.io.DataInputStream.read(DataInputStream.java:149)",“app//org.apache.paimon.fs.hadoop.HadoopFileIO$HadoopSeekableInputStream.read(HadoopFileIO.java:232)”,"java.base@11.0.0.1/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)","java.base@11.0.0.1/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)","java.base@11.0.0.1/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)","java.base@11.0.0.1/java.io.InputStreamReader.read(InputStreamReader.java:185)","java.base@11.0.0.1/java.io.BufferedReader.fill(BufferedReader.java:161)","java.base@11.0.0.1/java.io.BufferedReader.readLine(BufferedReader.java:326)","java.base@11.0.0.1/java.io.BufferedReader.readLine(BufferedReader.java:392)",“app//org.apache.paimon.fs.FileIO.readFileUtf8(FileIO.java:215)”,“app//org.apache.paimon.Snapshot.fromPath(Snapshot.java:443)”,“app//org.apache.paimon.utils.SnapshotManager.snapshot(SnapshotManager.java:133)”,“app//org.apache.paimon.utils.SnapshotManager.snapshot(SnapshotManager.java:119)”,“app//org.apache.paimon.utils.SnapshotManager$$Lambda$2763/0x00007f753132b858.apply(Unknown Source)”,"java.base@11.0.0.1/java.util.stream.LongPipeline$1$1.accept(LongPipeline.java:177)","java.base@11.0.0.1/java.util.stream.Streams$RangeLongSpliterator.tryAdvance(Streams.java:207)","java.base@11.0.0.1/java.util.Spliterator$OfLong.tryAdvance(Spliterator.java:740)","java.base@11.0.0.1/java.util.stream.StreamSpliterators$WrappingSpliterator.lambda$initPartialTraversalState$0(StreamSpliterators.java:294)","java.base@11.0.0.1/java.util.stream.StreamSpliterators$WrappingSpliterator$$Lambda$264/0x00007f77ab1f8058.getAsBoolean(Unknown Source)","java.base@11.0.0.1/java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.fillBuffer(StreamSpliterators.java:206)","java.base@11.0.0.1/java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.doAdvance(StreamSpliterators.java:161)","java.base@11.0.0.1/java.util.stream.StreamSpliterators$WrappingSpliterator.tryAdvance(StreamSpliterators.java:300)","java.base@11.0.0.1/java.util.Spliterators$1Adapter.hasNext(Spliterators.java:681)",“app//org.apache.paimon.shade.guava30.com.google.common.collect.TransformedIterator.hasNext(TransformedIterator.java:42)”,“app//org.apache.paimon.shade.guava30.com.google.common.collect.TransformedIterator.hasNext(TransformedIterator.java:42)”,“app//org.apache.paimon.utils.IteratorRecordReader$1.next(IteratorRecordReader.java:50)”,“app//org.apache.paimon.reader.RecordReaderIterator.advanceIfNeeded(RecordReaderIterator.java:74)”,“app//org.apache.paimon.reader.RecordReaderIterator.hasNext(RecordReaderIterator.java:53)”,“app//com.starrocks.connector.paimon.PaimonMetadata.getTableUpdateTime(PaimonMetadata.java:367)”,“app//com.starrocks.connector.paimon.PaimonMetadata.getPartitions(PaimonMetadata.java:398)”,“app//com.starrocks.connector.CatalogConnectorMetadata.getPartitions(CatalogConnectorMetadata.java:168)”,“app//com.starrocks.server.MetadataMgr.getPartitions(MetadataMgr.java:769)”,“app//com.starrocks.connector.partitiontraits.PaimonPartitionTraits.getPartitions(PaimonPartitionTraits.java:47)”,“app//com.starrocks.connector.partitiontraits.DefaultTraits.getPartitionNameWithPartitionInfo(DefaultTraits.java:116)”,“app//com.starrocks.connector.partitiontraits.DefaultTraits.getUpdatedPartitionNames(DefaultTraits.java:134)”,“app//com.starrocks.connector.partitiontraits.CachedPartitionTraits.lambda$getUpdatedPartitionNames$13(CachedPartitionTraits.java:184)”,“app//com.starrocks.connector.partitiontraits.CachedPartitionTraits$$Lambda$2751/0x00007f753134f900.get(Unknown Source)”,“app//com.starrocks.connector.partitiontraits.CachedPartitionTraits.lambda$getCache$0(CachedPartitionTraits.java:89)”,“app//com.starrocks.connector.partitiontraits.CachedPartitionTraits$$Lambda$2753/0x00007f753134e458.apply(Unknown Source)”,“app//com.github.benmanes.caffeine.cache.LocalCache.lambda$statsAware$0(LocalCache.java:139)”,“app//com.github.benmanes.caffeine.cache.LocalCache$$Lambda$653/0x00007f76f0cc7508.apply(Unknown Source)”,“app//com.github.benmanes.caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$14(BoundedLocalCache.java:2406)”,“app//com.github.benmanes.caffeine.cache.BoundedLocalCache$$Lambda$654/0x00007f76f10c5c40.apply(Unknown Source)”,"java.base@11.0.0.1/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1908)",“app//com.github.benmanes.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:2404)”,“app//com.github.benmanes.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:2387)”,“app//com.github.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:108)”,“app//com.github.benmanes.caffeine.cache.LocalManualCache.get(LocalManualCache.java:62)”,“app//com.starrocks.connector.partitiontraits.CachedPartitionTraits.getCache(CachedPartitionTraits.java:89)”,“app//com.starrocks.connector.partitiontraits.CachedPartitionTraits.getUpdatedPartitionNames(CachedPartitionTraits.java:184)”,“app//com.starrocks.catalog.MaterializedView.getUpdatedPartitionNamesOfExternalTable(MaterializedView.java:820)”,“app//com.starrocks.catalog.MvRefreshArbiter.needsToRefreshTable(MvRefreshArbiter.java:145)”,“app//com.starrocks.catalog.MvRefreshArbiter.needsToRefreshTable(MvRefreshArbiter.java:47)”,“app//com.starrocks.scheduler.mv.MVPCTRefreshPartitioner.isNonPartitionedMVNeedToRefresh(MVPCTRefreshPartitioner.java:246)”,“app//com.starrocks.scheduler.mv.MVPCTRefreshNonPartitioner.getMVPartitionsToRefresh(MVPCTRefreshNonPartitioner.java:66)”,“app//com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.getPartitionsToRefreshForMaterializedView(PartitionBasedMvRefreshProcessor.java:970)”,“app//com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.getPartitionsToRefreshForMaterializedView(PartitionBasedMvRefreshProcessor.java:928)”,“app//com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.checkMvToRefreshedPartitions(PartitionBasedMvRefreshProcessor.java:289)”,“app//com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.doRefreshMaterializedView(PartitionBasedMvRefreshProcessor.java:439)”,“app//com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.doRefreshMaterializedViewWithRetry(PartitionBasedMvRefreshProcessor.java:368)”,“app//com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.doMvRefresh(PartitionBasedMvRefreshProcessor.java:327)”,“app//com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.processTaskRun(PartitionBasedMvRefreshProcessor.java:199)”,“app//com.starrocks.scheduler.TaskRun.executeTaskRun(TaskRun.java:270)”,“app//com.starrocks.scheduler.TaskRunExecutor.lambda$executeTaskRun$0(TaskRunExecutor.java:58)”,“app//com.starrocks.scheduler.TaskRunExecutor$$Lambda$2719/0x00007f75313fb4b0.get(Unknown Source)”,"java.base@11.0.0.1/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)","java.base@11.0.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)","java.base@11.0.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)","java.base@11.0.0.1/java.lang.Thread.run(Thread.java:834)"]}],“waiter”:[{“id”:1208,“name”:“starrocks-taskrun-pool-3”,“type”:“WRITE”,“waitTime”:4570,“stack”:[“java.base@11.0.0.1/java.lang.Thread.run(Thread.java:834)”]},{“id”:933,“name”:“starrocks-taskrun-pool-0”,“type”:“INTENTION_SHARED”,“waitTime”:3469,“stack”:[“java.base@11.0.0.1/java.lang.Thread.run(Thread.java:834)”]},{“id”:1368,“name”:“starrocks-taskrun-pool-5”,“type”:“INTENTION_SHARED”,“waitTime”:3000,“stack”:[“java.base/java.lang.Thread.run(Thread.java:834)”]},{“id”:255,“name”:“ReportHandler”,“type”:“READ”,“waitTime”:1318,“stack”:[“app//com.starrocks.common.util.Daemon.run(Daemon.java:107)”]}]}
2025-04-08 15:08:44.038+08:00 WARN (starrocks-taskrun-pool-0|933) [PartitionBasedMvRefreshProcessor.doRefreshMaterializedViewWithRetry():372] Refresh materialized view t_meter_elec_view failed at 1th time because try lock failed: com.starrocks.common.util.concurrent.lock.LockTimeoutException: Failed to lock database: ads
at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.checkMvToRefreshedPartitions(PartitionBasedMvRefreshProcessor.java:285)
at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.doRefreshMaterializedView(PartitionBasedMvRefreshProcessor.java:414)
at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.doRefreshMaterializedViewWithRetry(PartitionBasedMvRefreshProcessor.java:368)
at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.doMvRefresh(PartitionBasedMvRefreshProcessor.java:327)
at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.processTaskRun(PartitionBasedMvRefreshProcessor.java:199)
at com.starrocks.scheduler.TaskRun.executeTaskRun(TaskRun.java:270)
at com.starrocks.scheduler.TaskRunExecutor.lambda$executeTaskRun$0(TaskRunExecutor.java:58)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)