sunhelly commented on a change in pull request #3140:
URL: https://github.com/apache/hbase/pull/3140#discussion_r666086645
##########
File path:
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
##########
@@ -2846,7 +2846,13 @@ protected PrepareFlushResult
internalPrepareFlushCache(WAL wal, long myseqid,
String s = "Finished memstore snapshotting " + this + ", syncing WAL and
waiting on mvcc, " +
"flushsize=" + totalSizeOfFlushableStores;
status.setStatus(s);
- doSyncOfUnflushedWALChanges(wal, getRegionInfo());
+
+ try {
+ doSyncOfUnflushedWALChanges(wal, getRegionInfo());
+ } catch (Throwable t) {
+ status.abort("Sync unflushed WAL changes failed: " +
StringUtils.stringifyException(t));
+ fatalForFlushCache(t);
Review comment:
@Apache9 We currently only abort RS when there are critical problems,
such as the WAL stuck? The above IOExceptions can only abort the flush in mem
and should not prevent the next flushes, right? Here the abort is caused by the
wal stucks who are ahead of the committing flush wal sync stucks. What do you
think?
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]