HBASE-4687 regionserver may miss zk-heartbeats to master when replaying edits at region open (prakash via jgray)

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1190610 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Jonathan Gray 2011-10-28 21:54:30 +00:00
parent e99dc7fa83
commit 94d1cc12ab
2 changed files with 11 additions and 6 deletions

View File

@ -422,6 +422,8 @@ Release 0.92.0 - Unreleased
HBASE-4680 FSUtils.isInSafeMode() checks should operate on HBase root dir,
where we have permissions
HBASE-4641 Block cache can be mistakenly instantiated on Master (jgray)
HBASE-4687 regionserver may miss zk-heartbeats to master when replaying
edits at region open (prakash via jgray)
TESTS
HBASE-4450 test for number of blocks read: to serve as baseline for expected

View File

@ -2431,7 +2431,8 @@ public class HRegion implements HeapSize { // , Writable{
private long replayRecoveredEdits(final Path edits,
final long minSeqId, final CancelableProgressable reporter)
throws IOException {
String msg = "Replaying edits from " + edits + "; minSequenceid=" + minSeqId;
String msg = "Replaying edits from " + edits + "; minSequenceid=" +
minSeqId + "; path=" + edits;
LOG.info(msg);
MonitoredTask status = TaskMonitor.get().createStatus(msg);
@ -2445,6 +2446,7 @@ public class HRegion implements HeapSize { // , Writable{
long intervalEdits = 0;
HLog.Entry entry;
Store store = null;
boolean reported_once = false;
try {
// How many edits seen before we check elapsed time
@ -2477,6 +2479,7 @@ public class HRegion implements HeapSize { // , Writable{
status.abort(msg);
throw new IOException(msg);
}
reported_once = true;
lastReport = cur;
}
}
@ -2556,14 +2559,14 @@ public class HRegion implements HeapSize { // , Writable{
throw ioe;
}
}
if (reporter != null && !reported_once) {
reporter.progress();
}
msg = "Applied " + editsCount + ", skipped " + skippedEdits +
", firstSequenceidInLog=" + firstSeqIdInLog +
", maxSequenceidInLog=" + currentEditSeqId;
", maxSequenceidInLog=" + currentEditSeqId + ", path=" + edits;
status.markComplete(msg);
if (LOG.isDebugEnabled()) {
LOG.debug(msg);
}
LOG.debug(msg);
return currentEditSeqId;
} finally {
reader.close();