You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Wellington Chevreuil (Jira)" <ji...@apache.org> on 2021/06/11 21:30:00 UTC
[jira] [Updated] (HBASE-25391) Flush directly into data directory,
skip rename when committing flush
[ 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
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.
> 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)