You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by te...@apache.org on 2015/08/18 17:59:10 UTC
hbase git commit: HBASE-14234 Exception encountered in
WALProcedureStore#rollWriter() should be properly handled
Repository: hbase
Updated Branches:
refs/heads/master 395ec5a9b -> 71d3d24d8
HBASE-14234 Exception encountered in WALProcedureStore#rollWriter() should be properly handled
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/71d3d24d
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/71d3d24d
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/71d3d24d
Branch: refs/heads/master
Commit: 71d3d24d8b5892121ac9c81606f3c71392a43e0b
Parents: 395ec5a
Author: tedyu <yu...@gmail.com>
Authored: Tue Aug 18 08:58:59 2015 -0700
Committer: tedyu <yu...@gmail.com>
Committed: Tue Aug 18 08:58:59 2015 -0700
----------------------------------------------------------------------
.../procedure2/store/wal/WALProcedureStore.java | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/71d3d24d/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.java
----------------------------------------------------------------------
diff --git a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.java b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.java
index 04715de..8764ff0 100644
--- a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.java
+++ b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.java
@@ -53,6 +53,7 @@ import org.apache.hadoop.hbase.procedure2.util.ByteSlot;
import org.apache.hadoop.hbase.procedure2.util.StringUtils;
import org.apache.hadoop.hbase.protobuf.generated.ProcedureProtos.ProcedureWALHeader;
import org.apache.hadoop.hbase.util.Threads;
+import org.apache.hadoop.ipc.RemoteException;
import com.google.common.annotations.VisibleForTesting;
@@ -681,14 +682,23 @@ public class WALProcedureStore extends ProcedureStoreBase {
FSDataOutputStream newStream = null;
Path newLogFile = null;
long startPos = -1;
+ newLogFile = getLogFilePath(logId);
try {
- newLogFile = getLogFilePath(logId);
newStream = fs.create(newLogFile, false);
- ProcedureWALFormat.writeHeader(newStream, header);
- startPos = newStream.getPos();
} catch (FileAlreadyExistsException e) {
LOG.error("Log file with id=" + logId + " already exists", e);
return false;
+ } catch (RemoteException re) {
+ LOG.warn("failed to create log file with id=" + logId, re);
+ return false;
+ }
+ try {
+ ProcedureWALFormat.writeHeader(newStream, header);
+ startPos = newStream.getPos();
+ } catch (IOException ioe) {
+ LOG.warn("Encountered exception writing header", ioe);
+ newStream.close();
+ return false;
}
lock.lock();
try {