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

stack commented on HBASE-10926:
-------------------------------

Should the subprocedure be in the regionserver package since that is what it is 
working against?

This is probably your just picking up the pattern from snapshots but why this:

+  private final FlushTableSubprocedurePool taskManager;

How does a task manager become a pool?

Do the new classes have to be public?  Can they be package private?

Should +public class MasterFlushTableProcedureManager extends 
MasterProcedureManager { be in the master package?  And 
RegionServerProcedureManager in RS package?

This is interesting.  Probably should add a short circuit for this in:

+    // 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.

No need of a test?

Whatever Matteo said.

This is nice work Jerry.  Thanks for using Procedure.

Separate, could we do a revamp of the naming of Procedure participants now it 
has been around a while (it is all private so should be safe)?  
ForeignException, ProcedureMember always have me scrambling to read class and 
package doc because trouble figuring their roles. Should rethrowException be 
rethrowIfException?

> 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