morningman commented on a change in pull request #8123: URL: https://github.com/apache/incubator-doris/pull/8123#discussion_r816838058
########## File path: fe/fe-core/src/main/java/org/apache/doris/catalog/Replica.java ########## @@ -46,10 +46,12 @@ SCHEMA_CHANGE, CLONE, ALTER, // replica is under rollup or schema change - DECOMMISSION; // replica is ready to be deleted + DECOMMISSION, // replica is ready to be deleted + COMPACTION_TOO_SLOW; // replica version count is too large + public boolean canLoad() { - return this == NORMAL || this == SCHEMA_CHANGE || this == ALTER; + return this == NORMAL || this == SCHEMA_CHANGE || this == ALTER || this == COMPACTION_TOO_SLOW; Review comment: This is meaningless. Because every time you set the state to `COMPACTION_TOO_SLOW`, you also set replica `isBad` to `true`. I think we can only set replica's state to `COMPACTION_TOO_SLOW`, and change logic in `replica.isAlive()`. ########## File path: fe/fe-core/src/main/java/org/apache/doris/clone/TabletScheduler.java ########## @@ -647,7 +647,10 @@ private void handleReplicaMissing(TabletSchedCtx tabletCtx, AgentBatchTask batch RootPathLoadStatistic destPath = chooseAvailableDestPath(tabletCtx, tag, false /* not for colocate */); Preconditions.checkNotNull(destPath); tabletCtx.setDest(destPath.getBeId(), destPath.getPathHash()); - + // check compaction too slow file is recovered + if (tabletCtx.compactionRecovered()) { Review comment: why not check it before `chooseAvailableDestPath()`? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org