[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, 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:#00}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)
[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:#00}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)