[
https://issues.apache.org/jira/browse/HBASE-7006?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13673878#comment-13673878
]
Jeffrey Zhong commented on HBASE-7006:
--------------------------------------
I conducted a performance test against trunk code + hbase-8680 and hbase-8666.
The goal is to verify there is no unexpected performance regression. In the
tests, 44 WAL files are recovered in about total 274M size on a 5 EC2 m1.large
nodes environment(1 master, 4 region servers).
h5. A recap of the two recovering mode in comparison:
1) recovered edits files creation recovery includes following steps:
* creating recovered edits files per wal per region
* re-assign failed regions
* replay recovered edits files during post region open task
* region are opened for writes & reads
2) logReplay contains following steps:
* re-assign failed regions
* regions are opened for writes
* replay wal edits directly to assigned regions
* regions are opened for reads
h5. Log Splitting with creation of recovered edits files
||Number of Regions in each WAL file||Log Splitting Elapsed Time(ms)||Recovered
Edits Replay Elapsed Time(ms)*||Recovery Time For Reads(ms)||Recovery Time For
Writes(ms)||
|80|201263|100631|301894|301894|
|160|256325|128160|384485|384485|
|320|283514|141757|425271|425271|
* During tests I didn't capture the recovered edits file replay(need to use
bulk assign sync mode) accurately so I based on previous runs and used 0.5 *
splitting time as an estimate
h5. Distributed Log Replay
||Number of Regions in each WAL file||Log Splitting Elapsed Time(ms)||Recovered
Edits Replay Elapsed Time(ms)*||Recovery Time For Reads(ms)||Recovery Time For
Writes*(ms)||
|80|80953|n/a|80953|< 5000|
|160|91656|n/a|91656|< 5000|
|320|95053|n/a|95053|< 5000|
* Due to the same above reason that I didn't use bulk assign sync mode so I
didn't get the accurate numbers. Opening region normally takes about several
secs when there is no recovered edits file replay.
The cluster I used seems have slow disk throughput while it's good enough to
make sure that distributedLogReplay has better performance than recovered edits
creation mode after checked into trunk.
> [MTTR] Improve Region Server Recovery Time - Distributed Log Replay
> -------------------------------------------------------------------
>
> Key: HBASE-7006
> URL: https://issues.apache.org/jira/browse/HBASE-7006
> Project: HBase
> Issue Type: New Feature
> Components: MTTR
> Reporter: stack
> Assignee: Jeffrey Zhong
> Priority: Critical
> Fix For: 0.98.0, 0.95.1
>
> Attachments: 7006-addendum-3.txt, hbase-7006-addendum.patch,
> hbase-7006-combined.patch, hbase-7006-combined-v1.patch,
> hbase-7006-combined-v4.patch, hbase-7006-combined-v5.patch,
> hbase-7006-combined-v6.patch, hbase-7006-combined-v7.patch,
> hbase-7006-combined-v8.patch, hbase-7006-combined-v9.patch, LogSplitting
> Comparison.pdf,
> ProposaltoimprovelogsplittingprocessregardingtoHBASE-7006-v2.pdf
>
>
> Just saw interesting issue where a cluster went down hard and 30 nodes had
> 1700 WALs to replay. Replay took almost an hour. It looks like it could run
> faster that much of the time is spent zk'ing and nn'ing.
> Putting in 0.96 so it gets a look at least. Can always punt.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira