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