You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zg...@apache.org on 2018/08/07 02:41:59 UTC
hbase git commit: HBASE-20986 Separate the config of block size when
we do log splitting and write Hlog
Repository: hbase
Updated Branches:
refs/heads/master bd30ca62e -> bd01fa763
HBASE-20986 Separate the config of block size when we do log splitting and write Hlog
Signed-off-by: Guanghao Zhang <zg...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/bd01fa76
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/bd01fa76
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/bd01fa76
Branch: refs/heads/master
Commit: bd01fa763985491e196e296f0f627274ce04e619
Parents: bd30ca6
Author: jingyuntian <ti...@gmail.com>
Authored: Fri Aug 3 16:10:56 2018 +0800
Committer: Guanghao Zhang <zg...@apache.org>
Committed: Tue Aug 7 10:37:22 2018 +0800
----------------------------------------------------------------------
.../hadoop/hbase/regionserver/wal/WALUtil.java | 17 +++++++++++++++--
.../apache/hadoop/hbase/wal/FSHLogProvider.java | 5 ++++-
2 files changed, 19 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/bd01fa76/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALUtil.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALUtil.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALUtil.java
index 3b18253..b76670e 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALUtil.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALUtil.java
@@ -180,8 +180,21 @@ public class WALUtil {
*/
public static long getWALBlockSize(Configuration conf, FileSystem fs, Path dir)
throws IOException {
- return conf.getLong("hbase.regionserver.hlog.blocksize",
- CommonFSUtils.getDefaultBlockSize(fs, dir) * 2);
+ return getWALBlockSize(conf, fs, dir, false);
+ }
+
+ /**
+ * Public because of FSHLog. Should be package-private
+ * @param isRecoverEdits the created writer is for recovered edits or WAL.
+ * For recovered edits, it is true and for WAL it is false.
+ */
+ public static long getWALBlockSize(Configuration conf, FileSystem fs, Path dir,
+ boolean isRecoverEdits) throws IOException {
+ long defaultBlockSize = CommonFSUtils.getDefaultBlockSize(fs, dir) * 2;
+ if (isRecoverEdits) {
+ return conf.getLong("hbase.regionserver.recoverededits.blocksize", defaultBlockSize);
+ }
+ return conf.getLong("hbase.regionserver.hlog.blocksize", defaultBlockSize);
}
public static void filterCells(WALEdit edit, Function<Cell, Cell> mapper) {
http://git-wip-us.apache.org/repos/asf/hbase/blob/bd01fa76/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/FSHLogProvider.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/FSHLogProvider.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/FSHLogProvider.java
index 44f692d..7cd39ea 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/FSHLogProvider.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/FSHLogProvider.java
@@ -55,10 +55,13 @@ public class FSHLogProvider extends AbstractFSWALProvider<FSHLog> {
/**
* Public because of FSHLog. Should be package-private
+ * @param overwritable if the created writer can overwrite. For recovered edits, it is true and
+ * for WAL it is false. Thus we can distinguish WAL and recovered edits by this.
*/
public static Writer createWriter(final Configuration conf, final FileSystem fs, final Path path,
final boolean overwritable) throws IOException {
- return createWriter(conf, fs, path, overwritable, WALUtil.getWALBlockSize(conf, fs, path));
+ return createWriter(conf, fs, path, overwritable,
+ WALUtil.getWALBlockSize(conf, fs, path, overwritable));
}
/**