You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Lars Hofhansl (JIRA)" <ji...@apache.org> on 2012/11/24 07:01:02 UTC

[jira] [Comment Edited] (HBASE-5954) Allow proper fsync support for HBase

    [ https://issues.apache.org/jira/browse/HBASE-5954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13503321#comment-13503321 ] 

Lars Hofhansl edited comment on HBASE-5954 at 11/24/12 5:59 AM:
----------------------------------------------------------------

While I'm at it, I'd like to add deferred log flush as a per operation option as well.
So we'd have:
# No WAL update (for the existing option to disable writing to the WAL)
# deferred log flush
# flush WAL (default)
# sync WAL

If there are multiple mutations in a batch the highest option will be used for the entire batch.

Since these options cannot be combined in a sensible way. This is best represented by an enum.
In 0.96, we can break wire compatibility. I'll just add a protobuf enum, and remove the current writeToWal bit. The actual logic will be put in the hadoop-2 shim module.

In 0.94 this is a bit more tricky. Both in terms of doing this in a wire compatible way and in terms of being forced to use reflection to detect and use Hadoop-2 vs Hadoop-1. Leaning towards only doing this in 0.96, even though I really wanted this in 0.94. 

Comments?

                
      was (Author: lhofhansl):
    While I'm add it, I'd like to add deferred log flush as a per operation option as well.
So we'd have:
# No WAL update (for the existing option to disable writing to the WAL)
# deferred log flush
# flush WAL (default)
# sync WAL

If there are multiple mutations in a batch the highest option will be used for the entire batch.

Since these options cannot be combined in a sensible way. This is best represented by an enum.
In 0.96, we can break wire compatibility. I'll just add a protobuf enum, and remove the current writeToWal bit. The actual logic will be put in the hadoop-2 shim module.

In 0.94 this is a bit more tricky. Both in terms of doing this in a wire compatible way and in terms of being forced to use reflection to detect and use Hadoop-2 vs Hadoop-1. Leaning towards only doing this in 0.96, even though I really wanted this in 0.94. 

Comments?

                  
> Allow proper fsync support for HBase
> ------------------------------------
>
>                 Key: HBASE-5954
>                 URL: https://issues.apache.org/jira/browse/HBASE-5954
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Lars Hofhansl
>         Attachments: 5954-trunk-hdfs-trunk.txt, 5954-trunk-hdfs-trunk-v2.txt, 5954-trunk-hdfs-trunk-v3.txt, 5954-trunk-hdfs-trunk-v4.txt, 5954-trunk-hdfs-trunk-v5.txt, 5954-trunk-hdfs-trunk-v6.txt, hbase-hdfs-744.txt
>
>


--
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