From 3d716f9ba47f5338758adee9aca31b232aa8f5fe Mon Sep 17 00:00:00 2001 From: jingyuntian Date: Tue, 31 Jul 2018 18:48:01 +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 | 13 +++++++++++-- .../java/org/apache/hadoop/hbase/wal/FSHLogProvider.java | 3 ++- 2 files changed, 13 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..5337af1 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,17 @@ 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 = conf.getLong("hbase.regionserver.hlog.blocksize", + CommonFSUtils.getDefaultBlockSize(fs, dir) * 2); + if (overWritable) { + return conf.getLong("hbase.regionserver.recoverededits.blocksize", defaultBlockSize); + } + return 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