saintstack commented on a change in pull request #1825: URL: https://github.com/apache/hbase/pull/1825#discussion_r435617884
########## File path: hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALSplitter.java ########## @@ -285,23 +286,35 @@ boolean splitLogFile(FileStatus logfile, CancelableProgressable reporter) throws String encodedRegionNameAsStr = Bytes.toString(region); lastFlushedSequenceId = lastFlushedSequenceIds.get(encodedRegionNameAsStr); if (lastFlushedSequenceId == null) { - if (sequenceIdChecker != null) { - RegionStoreSequenceIds ids = sequenceIdChecker.getLastSequenceId(region); - Map<byte[], Long> maxSeqIdInStores = new TreeMap<>(Bytes.BYTES_COMPARATOR); - for (StoreSequenceId storeSeqId : ids.getStoreSequenceIdList()) { - maxSeqIdInStores.put(storeSeqId.getFamilyName().toByteArray(), - storeSeqId.getSequenceId()); + if (!(isRegionDirPresentUnderRoot(entry.getKey().getTableName(), encodedRegionNameAsStr))) { + // The region directory itself is not present in the FS. This indicates that + // the region/table is already removed. We can just skip all the edits for this + // region. Setting lastFlushedSequenceId as Long.MAX_VALUE so that all edits + // will get skipped by the seqId check below. + // See more details at https://issues.apache.org/jira/browse/HBASE-24189 + LOG.debug( + "Region {} seems not available in the FS. Just skipping all edits for this region", + encodedRegionNameAsStr); + lastFlushedSequenceId = Long.MAX_VALUE; Review comment: You have a point @bsglz ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org