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

Feng Honghua commented on HBASE-10324:
--------------------------------------

Thanks [[email protected]]'s review :-)
bq.isDeferredLogFlush() is deprecated. Should it be removed from trunk ?
HTableDescriptor.isDeferredLogFlush means writes of this kind of table will 
return without waiting for sync is done. it controls the write semantic the 
same way before/after the new write thread model(new write thread model doesn't 
change the semantic of append/sync). but it should be renamed to 
isAsyncLogFlush() (by implicit async writer-syncer-notifier threads), not 
deprecated.

> refactor deferred-log-flush/Durability related interface/code/naming to align 
> with changed semantic of 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)

Reply via email to