[ 
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

        

Reply via email to