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

[email protected] commented on HBASE-4120:
------------------------------------------------------



bq.  On 2011-10-27 17:18:08, Ted Yu wrote:
bq.  >

What about make Call implement the Writable interface? By this way, we can 
perform the class cast thing in qosFunction.apply() and make the 
PriorityJobQueue a more common class.

But the PriorityFunction will also need to use HBaseServer.Call to convert 
Object to Call, then get the region name to find out the priority of this call.


bq.  On 2011-10-27 17:18:08, Ted Yu wrote:
bq.  > 
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/PriorityHBaseServer.java,
 line 47
bq.  > <https://reviews.apache.org/r/1421/diff/9/?file=53796#file53796line47>
bq.  >
bq.  >     This parameter should be named priorityHandlerCount so that it is 
consistent with usage in HBaseServer.

In the WritableRpcEngine.Server, this parameter is called metaHandlerCount and 
in HBaseServer those handlers just process the calls relative to meta and root.

So should I keep the same with HBaseServer or WritableRpcEngine.Server ?


bq.  On 2011-10-27 17:18:08, Ted Yu wrote:
bq.  > 
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/PriorityFunction.java,
 line 59
bq.  > <https://reviews.apache.org/r/1421/diff/9/?file=53795#file53795line59>
bq.  >
bq.  >     This class doesn't belong to ipc module.
bq.  >     How about lifting this class and PriorityJobQueue to 
org/apache/hadoop/hbase ?

 Because this part of code use the Call class, move to org/apache/hadoop/hbase 
means this class must be change to public, is this OK?
 public void put(Object e) throws InterruptedException {
    HBaseServer.Call call = (HBaseServer.Call) (e);
    int pri = this.qosFunction.apply(call.param);
    this.add((T) call, pri);
  
  }

What about make Call implement the Writable interface? By this way, we can 
perform the class cast thing in qosFunction.apply() and make the 
PriorityJobQueue a more common class.

But the PriorityFunction will also need to use HBaseServer.Call to convert 
Object to Call, then get the region name to find out the priority of this call.


- Jia


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1421/#review2880
-----------------------------------------------------------


On 2011-10-27 13:05:36, Jia Liu wrote:
bq.  
bq.  -----------------------------------------------------------
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/1421/
bq.  -----------------------------------------------------------
bq.  
bq.  (Updated 2011-10-27 13:05:36)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  -------
bq.  
bq.  Patch used for table priority alone,In this patch, not only tables can 
have different priorities but also the different actions like 
"get","scan","put" and "delete" can have priorities.
bq.  
bq.  
bq.  This addresses bug HBase-4120.
bq.      https://issues.apache.org/jira/browse/HBase-4120
bq.  
bq.  
bq.  Diffs
bq.  -----
bq.  
bq.    
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/HBaseRPC.java
 1189169 
bq.    
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java
 1189169 
bq.    
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/PriorityFunction.java
 PRE-CREATION 
bq.    
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/PriorityHBaseServer.java
 PRE-CREATION 
bq.    
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/PriorityJobQueue.java
 PRE-CREATION 
bq.    
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
 1189169 
bq.    
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/allocation/test/TestForActionPriority.java
 PRE-CREATION 
bq.    
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/allocation/test/TestForPriorityJobQueue.java
 PRE-CREATION 
bq.    
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/allocation/test/TestForTablePriority.java
 PRE-CREATION 
bq.  
bq.  Diff: https://reviews.apache.org/r/1421/diff
bq.  
bq.  
bq.  Testing
bq.  -------
bq.  
bq.  Tested with test cases in  TestCase_For_TablePriority_trunk_v1.patch 
bq.  please apply the patch of HBASE-4181 first,in some circumstances this bug 
will affect the performance of client.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Jia
bq.  
bq.


                
> 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.94.0
>
>         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.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to