You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Feng Honghua (JIRA)" <ji...@apache.org> on 2014/01/12 10:28:55 UTC

[jira] [Updated] (HBASE-10324) refactor deferred-log-flush/Durability related interface/code/naming to align with changed semantic by the new write thread model

     [ https://issues.apache.org/jira/browse/HBASE-10324?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Feng Honghua updated HBASE-10324:
---------------------------------

    Attachment: HBASE-10324-trunk_v0.patch

thanks [~anoop.hbase] for reminding me that there are still 'hbase.regionserver.optionallogflushinterval' hanging around in the code base

> refactor deferred-log-flush/Durability related interface/code/naming to align with changed semantic by the new write thread model
> ---------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-10324
>                 URL: https://issues.apache.org/jira/browse/HBASE-10324
>             Project: HBase
>          Issue Type: Improvement
>          Components: Client, regionserver
>            Reporter: Feng Honghua
>            Assignee: Feng Honghua
>         Attachments: HBASE-10324-trunk_v0.patch
>
>
> By the new write thread model introduced by [HBASE-8755|https://issues.apache.org/jira/browse/HBASE-8755], some deferred-log-flush/Durability API/code/names should be change accordingly:
> 1. no timer-triggered deferred-log-flush since flush is always done by async threads, so configuration 'hbase.regionserver.optionallogflushinterval' is no longer needed
> 2. the async writer-syncer-notifier threads will always be triggered implicitly, this semantic is that it always holds that 'hbase.regionserver.optionallogflushinterval' > 0, so deferredLogSyncDisabled in HRegion.java which affects durability behavior should always be true
> 3. what HTableDescriptor.isDeferredLogFlush really means is the write  can return without waiting for the sync is done, so the interface name should be changed to isAsyncLogFlush/setAsyncLogFlush to reflect their real meaning



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)