[ 
https://issues.apache.org/jira/browse/HBASE-10926?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13983422#comment-13983422
 ] 

Matteo Bertozzi commented on HBASE-10926:
-----------------------------------------

{quote}
// We need to run the subprocedure even if we have no relevant regions.  The 
coordinator
// expects participation in the procedure and without sending message the 
master procedure
// will hang and fail.
{quote}
[[email protected]] This comment is a bit misleading. The Mater procedure 
includes in the "procedure" only the 
RSs that are handling regions of the specified table (grep 
getTableRegionsAndLocations).
but you may end up in the case where the master send a request to a RS and the 
RS has just moved "all" the regions of the table that you want to flush.
It also means that the moved regions will not be flushed, but this may not be a 
problem in this case, since their cache is already "empty" due to the restart.

> Use global procedure to flush table memstore cache
> --------------------------------------------------
>
>                 Key: HBASE-10926
>                 URL: https://issues.apache.org/jira/browse/HBASE-10926
>             Project: HBase
>          Issue Type: Improvement
>          Components: Admin
>    Affects Versions: 0.96.2, 0.98.1
>            Reporter: Jerry He
>            Assignee: Jerry He
>             Fix For: 0.99.0
>
>         Attachments: HBASE-10926-trunk-v1.patch
>
>
> Currently, user can trigger table flush through hbase shell or HBaseAdmin 
> API.  To flush the table cache, each region server hosting the regions is 
> contacted and flushed sequentially, which is less efficient.
> In HBase snapshot global procedure is used to coordinate and flush the 
> regions in a distributed way.
> Let's provide a distributed table flush for general use.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to