diff --git a/fe/fe-core/src/main/java/org/apache/doris/cloud/datasource/CloudInternalCatalog.java b/fe/fe-core/src/main/java/org/apache/doris/cloud/datasource/CloudInternalCatalog.java index 98c6bed2ecbc26..0e29c7d8611947 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/cloud/datasource/CloudInternalCatalog.java +++ b/fe/fe-core/src/main/java/org/apache/doris/cloud/datasource/CloudInternalCatalog.java @@ -1008,25 +1008,27 @@ public void replayUpdateCloudReplica(UpdateCloudReplicaInfo info) throws MetaNot LOG.warn("replay update cloud replica, unknown table {}", info.toString()); return; } + LOG.debug("replay update a cloud replica {}", info); - olapTable.writeLock(); try { unprotectUpdateCloudReplica(olapTable, info); } catch (Exception e) { LOG.warn("unexpected exception", e); - } finally { - olapTable.writeUnlock(); } } private void unprotectUpdateCloudReplica(OlapTable olapTable, UpdateCloudReplicaInfo info) { - LOG.debug("replay update a cloud replica {}", info); Partition partition = olapTable.getPartition(info.getPartitionId()); if (partition == null) { LOG.warn("replay update cloud replica, unknown partition {}, may be dropped", info.toString()); return; } + MaterializedIndex materializedIndex = partition.getIndex(info.getIndexId()); + if (materializedIndex == null) { + LOG.warn("replay update cloud replica, unknown index {}, may be dropped", info.toString()); + return; + } try { if (info.getTabletId() != -1) {