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