[
https://issues.apache.org/jira/browse/HBASE-19358?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16301058#comment-16301058
]
Hadoop QA commented on HBASE-19358:
-----------------------------------
| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m
0s{color} | {color:blue} Docker mode activated. {color} |
| {color:red}-1{color} | {color:red} patch {color} | {color:red} 1m 34s{color}
| {color:red} HBASE-19358 does not apply to master. Rebase required? Wrong
Branch? See https://yetus.apache.org/documentation/0.6.0/precommit-patchnames
for help. {color} |
\\
\\
|| Subsystem || Report/Notes ||
| JIRA Issue | HBASE-19358 |
| JIRA Patch URL |
https://issues.apache.org/jira/secure/attachment/12903365/HBASE-19358-v4.patch |
| Console output |
https://builds.apache.org/job/PreCommit-HBASE-Build/10636/console |
| Powered by | Apache Yetus 0.6.0 http://yetus.apache.org |
This message was automatically generated.
> Improve the stability of splitting log when do fail over
> --------------------------------------------------------
>
> Key: HBASE-19358
> URL: https://issues.apache.org/jira/browse/HBASE-19358
> Project: HBase
> Issue Type: Improvement
> Components: MTTR
> Affects Versions: 0.98.24
> Reporter: Jingyun Tian
> Assignee: Jingyun Tian
> Attachments: HBASE-19358-v1.patch, HBASE-19358-v4.patch,
> HBASE-19358.patch
>
>
> The way we splitting log now is like the following figure:
> !https://issues.apache.org/jira/secure/attachment/12902997/split-logic-old.jpg!
> The problem is the OutputSink will write the recovered edits during splitting
> log, which means it will create one WriterAndPath for each region and retain
> it until the end. If the cluster is small and the number of regions per rs is
> large, it will create too many HDFS streams at the same time. Then it is
> prone to failure since each datanode need to handle too many streams.
> Thus I come up with a new way to split log.
> !https://issues.apache.org/jira/secure/attachment/12902998/split-logic-new.jpg!
> We try to cache all the recovered edits, but if it exceeds the MaxHeapUsage,
> we will pick the largest EntryBuffer and write it to a file (close the writer
> after finish). Then after we read all entries into memory, we will start a
> writeAndCloseThreadPool, it starts a certain number of threads to write all
> buffers to files. Thus it will not create HDFS streams more than
> *_hbase.regionserver.hlog.splitlog.writer.threads_* we set.
> The biggest benefit is we can control the number of streams we create during
> splitting log,
> it will not exceeds *_hbase.regionserver.wal.max.splitters *
> hbase.regionserver.hlog.splitlog.writer.threads_*, but before it is
> *_hbase.regionserver.wal.max.splitters * the number of region the hlog
> contains_*.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)