[
https://issues.apache.org/jira/browse/HBASE-19024?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16237044#comment-16237044
]
Chia-Ping Tsai edited comment on HBASE-19024 at 11/3/17 3:39 AM:
-----------------------------------------------------------------
HBASE-18784 leave a TODO for this issue. Please also fix it.
{code:title=ProtobufLogWriter.java}
+ // TODO Be sure to add a check for hsync if this branch includes
HBASE-19024
+ if (!(CommonFSUtils.hasCapability(output, "hflush"))) {
+ throw new StreamLacksCapabilityException("hflush");
+ }
{code}
was (Author: chia7712):
HBASE-19024 leave a TODO for this issue. Please also fix it.
{code:title=ProtobufLogWriter.java}
+ // TODO Be sure to add a check for hsync if this branch includes
HBASE-19024
+ if (!(CommonFSUtils.hasCapability(output, "hflush"))) {
+ throw new StreamLacksCapabilityException("hflush");
+ }
{code}
> provide a configurable option to hsync WAL edits to the disk for better
> durability
> ----------------------------------------------------------------------------------
>
> Key: HBASE-19024
> URL: https://issues.apache.org/jira/browse/HBASE-19024
> Project: HBase
> Issue Type: Improvement
> Components: wal
> Environment:
> Reporter: Vikas Vishwakarma
> Assignee: Harshal Jain
> Priority: Major
> Attachments: branch-1.branch-1.patch, branch-1.v1.branch-1.patch,
> master.patch, master.v2.patch, master.v3.patch, master.v5.patch,
> master.v5.patch, master.v6.patch
>
>
> At present we do not have an option to hsync WAL edits to the disk for better
> durability. In our local tests we see 10-15% latency impact of using hsync
> instead of hflush which is not very high.
> We should have a configurable option to hysnc WAL edits instead of just
> sync/hflush which will call the corresponding API on the hadoop side.
> Currently HBase handles both SYNC_WAL and FSYNC_WAL as the same calling
> FSDataOutputStream sync/hflush on the hadoop side. This can be modified to
> let FSYNC_WAL call hsync on the hadoop side instead of sync/hflush. We can
> keep the default value to sync as the current behavior and hsync can be
> enabled based on explicit configuration.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)