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:
[email protected]