From fc90c24edeff4a33ebdc0585cff347fe0aa8573a Mon Sep 17 00:00:00 2001 From: jingyuntian Date: Thu, 2 Aug 2018 10:31:44 +0800 Subject: [PATCH] HBASE-20986 Separate the config of block size when we do log splitting and write Hlog --- .../org/apache/hadoop/hbase/regionserver/wal/WALUtil.java | 12 ++++++++++-- .../java/org/apache/hadoop/hbase/wal/FSHLogProvider.java | 3 ++- 2 files changed, 12 insertions(+), 3 deletions(-) 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..2f77492 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,16 @@ 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 static long getWALBlockSize(Configuration conf, FileSystem fs, Path dir, + boolean overWritable) throws IOException { + long defaultBlockSize = CommonFSUtils.getDefaultBlockSize(fs, dir) * 2; + if (overWritable) { + return conf.getLong("hbase.regionserver.recoverededits.blocksize", defaultBlockSize); + } + return conf.getLong("hbase.regionserver.hlog.blocksize", defaultBlockSize); } public static void filterCells(WALEdit edit, Function mapper) { 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..87b3164 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 @@ -58,7 +58,8 @@ public class FSHLogProvider extends AbstractFSWALProvider { */ 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)); } /** -- 2.7.4