[jira] [Updated] (HBASE-25391) Flush directly into data directory, skip rename when committing flush

2021-06-11 Thread Wellington Chevreuil (Jira)


 [ 
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

2021-06-11 Thread Wellington Chevreuil (Jira)


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