[
https://issues.apache.org/jira/browse/HBASE-4120?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13079384#comment-13079384
]
Ted Yu commented on HBASE-4120:
-------------------------------
Thanks for the update.
Please update patch for TRUNK - new feature doesn't go to 0.90 branch.
{code}
+ public static class ActionPriPlus {
{code}
How about naming the above class ActionPriorites ?
{code}
+ public ActionPriPlus(int scanPlus, int putPlus, int getPlus, int
deletePlus) {
{code}
Get is implemented as Scan. Do we need to give them different priorities ?
For PriorityJobQueue:
{code}
+ private void addSize() {
+ this.addLock.lock();
+ this.size++;
+ this.addLock.unlock();
{code}
Why don't we check this.size against this.capacity to make it symmetrical with
the method setSize() ? Should add javadoc.
{code}
+ public PriorityJobQueue(int size, int lowestPrid, PriorityHBaseServer
server) {
{code}
size paramater should be renamed capacity.
I see e.printStackTrace() and System.out.println(out) in several places. They
should be replaced with LOG.error() and LOG.debug().
In the future, please use https://reviews.apache.org/ for reviewing new feature
so that context is clearer.
Please add unit test(s) to
1. show how the new classes are used
2. verify their functionality.
Good job.
> isolation and allocation
> ------------------------
>
> Key: HBASE-4120
> URL: https://issues.apache.org/jira/browse/HBASE-4120
> Project: HBase
> Issue Type: New Feature
> Components: master, regionserver
> Affects Versions: 0.90.2, 0.90.3, 0.90.4, 0.92.0
> Reporter: Liu Jia
> Fix For: 0.90.3
>
> Attachments: Design_document_for_HBase_isolation_and_allocation.pdf,
> Design_document_for_HBase_isolation_and_allocation_Revised.pdf,
> HBase_isolation_and_allocation_user_guide.pdf,
> Performance_of_Table_priority.pdf, System Structure.jpg, TablePriority.patch
>
>
> The HBase isolation and allocation tool is designed to help users manage
> cluster resource among different application and tables.
> When we have a large scale of HBase cluster with many applications running on
> it, there will be lots of problems. In Taobao there is a cluster for many
> departments to test their applications performance, these applications are
> based on HBase. With one cluster which has 12 servers, there will be only one
> application running exclusively on this server, and many other applications
> must wait until the previous test finished.
> After we add allocation manage function to the cluster, applications can
> share the cluster and run concurrently. Also if the Test Engineer wants to
> make sure there is no interference, he/she can move out other tables from
> this group.
> In groups we use table priority to allocate resource, when system is busy; we
> can make sure high-priority tables are not affected lower-priority tables
> Different groups can have different region server configurations, some groups
> optimized for reading can have large block cache size, and others optimized
> for writing can have large memstore size.
> Tables and region servers can be moved easily between groups; after changing
> the configuration, a group can be restarted alone instead of restarting the
> whole cluster.
> git entry : https://github.com/ICT-Ope/HBase_allocation .
> We hope our work is helpful.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira