[ 
https://issues.apache.org/jira/browse/HBASE-8541?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Shelukhin updated HBASE-8541:
------------------------------------

    Description: 
Flush will be able to flush into multiple files under this design, avoiding L0 
I/O amplification.
I have the patch which is missing just one feature - support for concurrent 
flushes and stripe changes. This can be done via extensive try-locking of 
stripe changes and flushes, or advisory flags without blocking flushes, dumping 
conflicting flushes into L0 in case of (very rare) collisions. For file loading 
for the latter, a set-cover-like problem needs to be solved to determine 
optimal stripes. That will also address Jimmy's concern of getting rid of 
metadata, btw. However currently I don't have time for that. I plan to attach 
the try-locking patch first, but this won't happen for a couple weeks probably 
and should not block main reviews. Hopefully this will be added on top of main 
reviews.

  was:
Flush will be able to flush into multiple files under this design, avoiding L0 
I/O amplification.
I have the patch which is missing just one feature - support for concurrent 
flushes and stripe changes. This can be done via extensive try-locking of 
stripe changes and flushes, or advisory flags without blocking flushes, dumping 
conflicting flushes into L0 in case of (very rare) collisions. For file loading 
for the latter, a form of set cover needs to be solved to determine stripes. 
That will also address Jimmy's concern of getting rid of metadata. However 
currently I don't have time for that. I plan to attach the try-locking patch 
first, but this won't happen for a couple weeks probably and should not block 
main reviews. Hopefully this will be added on top of main reviews.

    
> implement flush-into-stripes in stripe compactions
> --------------------------------------------------
>
>                 Key: HBASE-8541
>                 URL: https://issues.apache.org/jira/browse/HBASE-8541
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Sergey Shelukhin
>
> Flush will be able to flush into multiple files under this design, avoiding 
> L0 I/O amplification.
> I have the patch which is missing just one feature - support for concurrent 
> flushes and stripe changes. This can be done via extensive try-locking of 
> stripe changes and flushes, or advisory flags without blocking flushes, 
> dumping conflicting flushes into L0 in case of (very rare) collisions. For 
> file loading for the latter, a set-cover-like problem needs to be solved to 
> determine optimal stripes. That will also address Jimmy's concern of getting 
> rid of metadata, btw. However currently I don't have time for that. I plan to 
> attach the try-locking patch first, but this won't happen for a couple weeks 
> probably and should not block main reviews. Hopefully this will be added on 
> top of main reviews.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to