[
https://issues.apache.org/jira/browse/HBASE-25391?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Wellington Chevreuil updated HBASE-25391:
-----------------------------------------
Release Note:
This adds a new StoreFlushContext implementation, PersistedStoreFlushContext,
together with a new StoreFlusher implementation, PersistedEngineStoreFlusher.
As the memstore flush process is actually comprised of an initial file
creations, followed by the actual write and finally a "commit" action, these
two should be always be used together to guarantee a successful flush that
doesn't involve creating temp files that get renamed later at the "commit"
stage. By setting PersistedEngineStoreFlusher as the StoreFlusher
implementation at "hbase.hstore.defaultengine.storeflusher.class"
configuration, memstore flushes will create the resulting hfile directly in the
store dir, instead of using a temp dir. Complementing the flush,
PersistedStoreFlushContext, configured by
hbase.regionserver.store.flush.context.class, assumes committed store files
were written directly in the store dir, and therefore, doesn't perform a rename
from tmp dir into the store dir.
Note: This requires, specific StoreEngine and StoreFileManager implementations
capable of tracking committed from non-committed files, like the ones
implemented by HBASE-25395.
was:
This adds a new StoreFlushContext implementation, PersistedStoreFlushContext,
together with a new StoreFlusher implementation, PersistedEngineStoreFlusher.
As the memstore flush process is actually comprised of an initial file
creations, followed by the actual write and finally a "commit" action, these
two should be always be used together to guarantee a successful flush that
doesn't involve creating temp files that get renamed later at the "commit"
stage. By setting PersistedEngineStoreFlusher as the StoreFlusher
implementation at "hbase.hstore.defaultengine.storeflusher.class"
configuration, memstore flushes will create the resulting hfile directly in the
store dir, instead of using a temp dir. Complementing the flush,
PersistedStoreFlushContext, configured by
hbase.regionserver.store.flush.context.class, assumes committed store files
were written directly in the store dir, and therefore, doesn't perform a rename
from tmp dir into the store dir.
Note: This requires
> Flush directly into data directory, skip rename when committing flush
> ---------------------------------------------------------------------
>
> Key: HBASE-25391
> URL: https://issues.apache.org/jira/browse/HBASE-25391
> Project: HBase
> Issue Type: Sub-task
> Reporter: Tak-Lon (Stephen) Wu
> Assignee: Wellington Chevreuil
> Priority: Major
>
> {color:#000000}When flushing memstore snapshot to HFile, we write it directly
> to the data directory.{color}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)