You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Elliott Clark (JIRA)" <ji...@apache.org> on 2011/08/23 01:51:29 UTC

[jira] [Created] (HBASE-4240) Allow Loadbalancer to be pluggable.

Allow Loadbalancer to be pluggable.
-----------------------------------

                 Key: HBASE-4240
                 URL: https://issues.apache.org/jira/browse/HBASE-4240
             Project: HBase
          Issue Type: New Feature
          Components: master
    Affects Versions: 0.94.0
            Reporter: Elliott Clark
            Assignee: Elliott Clark
             Fix For: 0.94.0


Everyone seems to want something different from a load balancer.  People want low latency, simplicity, and total control.  It seems like at some point the load balancer can't be all things to all people.  Something akin to what hadoop JT's pluggable scheduler seems like it will enable all solutions without making the code much more complex. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-4240) Allow Loadbalancer to be pluggable.

Posted by "Ted Yu (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13089265#comment-13089265 ] 

Ted Yu commented on HBASE-4240:
-------------------------------

I am not sure how useful it is for testRandomizer() to test randomize() which resides only in the same test.
I was saying that randomize() and testRandomizer() should both be removed.

> Allow Loadbalancer to be pluggable.
> -----------------------------------
>
>                 Key: HBASE-4240
>                 URL: https://issues.apache.org/jira/browse/HBASE-4240
>             Project: HBase
>          Issue Type: New Feature
>          Components: master
>    Affects Versions: 0.94.0
>            Reporter: Elliott Clark
>            Assignee: Elliott Clark
>             Fix For: 0.94.0
>
>         Attachments: HBASE-4240-0.patch, HBASE-4240-1.patch, HBASE-4240-2.patch
>
>
> Everyone seems to want something different from a load balancer.  People want low latency, simplicity, and total control.  It seems like at some point the load balancer can't be all things to all people.  Something akin to what hadoop JT's pluggable scheduler seems like it will enable all solutions without making the code much more complex. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-4240) Allow Loadbalancer to be pluggable.

Posted by "Elliott Clark (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4240?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Elliott Clark updated HBASE-4240:
---------------------------------

    Attachment: HBASE-4240-2.patch

Added Javadoc to TestDefaultLoadBalancer.
Moved Copyright on changed files to 2011
Moved randomize to TestDefaultLoadBalancer.

> Allow Loadbalancer to be pluggable.
> -----------------------------------
>
>                 Key: HBASE-4240
>                 URL: https://issues.apache.org/jira/browse/HBASE-4240
>             Project: HBase
>          Issue Type: New Feature
>          Components: master
>    Affects Versions: 0.94.0
>            Reporter: Elliott Clark
>            Assignee: Elliott Clark
>             Fix For: 0.94.0
>
>         Attachments: HBASE-4240-0.patch, HBASE-4240-1.patch, HBASE-4240-2.patch
>
>
> Everyone seems to want something different from a load balancer.  People want low latency, simplicity, and total control.  It seems like at some point the load balancer can't be all things to all people.  Something akin to what hadoop JT's pluggable scheduler seems like it will enable all solutions without making the code much more complex. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-4240) Allow Loadbalancer to be pluggable.

Posted by "Elliott Clark (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13089156#comment-13089156 ] 

Elliott Clark commented on HBASE-4240:
--------------------------------------

Attached patch.  It's not well polished right now.  It needs some javadoc love and I need to add some other tests to show how to plug.  Comments are welcomed.

> Allow Loadbalancer to be pluggable.
> -----------------------------------
>
>                 Key: HBASE-4240
>                 URL: https://issues.apache.org/jira/browse/HBASE-4240
>             Project: HBase
>          Issue Type: New Feature
>          Components: master
>    Affects Versions: 0.94.0
>            Reporter: Elliott Clark
>            Assignee: Elliott Clark
>             Fix For: 0.94.0
>
>         Attachments: HBASE-4240-0.patch
>
>
> Everyone seems to want something different from a load balancer.  People want low latency, simplicity, and total control.  It seems like at some point the load balancer can't be all things to all people.  Something akin to what hadoop JT's pluggable scheduler seems like it will enable all solutions without making the code much more complex. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-4240) Allow Loadbalancer to be pluggable.

Posted by "Ted Yu (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13089249#comment-13089249 ] 

Ted Yu commented on HBASE-4240:
-------------------------------

{code}
+ * Copyright 2010 The Apache Software Foundation
{code}
The year should be 2011.
{code}
+
+public class TestDefaultLoadBalancer {
{code}
Please add javadoc for the above class.

> Allow Loadbalancer to be pluggable.
> -----------------------------------
>
>                 Key: HBASE-4240
>                 URL: https://issues.apache.org/jira/browse/HBASE-4240
>             Project: HBase
>          Issue Type: New Feature
>          Components: master
>    Affects Versions: 0.94.0
>            Reporter: Elliott Clark
>            Assignee: Elliott Clark
>             Fix For: 0.94.0
>
>         Attachments: HBASE-4240-0.patch, HBASE-4240-1.patch
>
>
> Everyone seems to want something different from a load balancer.  People want low latency, simplicity, and total control.  It seems like at some point the load balancer can't be all things to all people.  Something akin to what hadoop JT's pluggable scheduler seems like it will enable all solutions without making the code much more complex. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-4240) Allow Loadbalancer to be pluggable.

Posted by "Ted Yu (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13089585#comment-13089585 ] 

Ted Yu commented on HBASE-4240:
-------------------------------

I think balanceCluster() has got to a point where it is hard to maintain. Let alone add new features.
Kudo to Elliot.

> Allow Loadbalancer to be pluggable.
> -----------------------------------
>
>                 Key: HBASE-4240
>                 URL: https://issues.apache.org/jira/browse/HBASE-4240
>             Project: HBase
>          Issue Type: New Feature
>          Components: master
>    Affects Versions: 0.94.0
>            Reporter: Elliott Clark
>            Assignee: Elliott Clark
>             Fix For: 0.94.0
>
>         Attachments: HBASE-4240-0.patch, HBASE-4240-1.patch, HBASE-4240-2.patch, HBASE-4240-3.patch
>
>
> Everyone seems to want something different from a load balancer.  People want low latency, simplicity, and total control.  It seems like at some point the load balancer can't be all things to all people.  Something akin to what hadoop JT's pluggable scheduler seems like it will enable all solutions without making the code much more complex. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-4240) Allow Loadbalancer to be pluggable.

Posted by "Ted Yu (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13089247#comment-13089247 ] 

Ted Yu commented on HBASE-4240:
-------------------------------

{code}
+  public List<HRegionInfo> randomize(final List<HRegionInfo> regions) {
{code}
The only reference to the above method I can find is in TestLoadBalancer.

I think it is safe to remove it from interface and implementation.

> Allow Loadbalancer to be pluggable.
> -----------------------------------
>
>                 Key: HBASE-4240
>                 URL: https://issues.apache.org/jira/browse/HBASE-4240
>             Project: HBase
>          Issue Type: New Feature
>          Components: master
>    Affects Versions: 0.94.0
>            Reporter: Elliott Clark
>            Assignee: Elliott Clark
>             Fix For: 0.94.0
>
>         Attachments: HBASE-4240-0.patch, HBASE-4240-1.patch
>
>
> Everyone seems to want something different from a load balancer.  People want low latency, simplicity, and total control.  It seems like at some point the load balancer can't be all things to all people.  Something akin to what hadoop JT's pluggable scheduler seems like it will enable all solutions without making the code much more complex. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-4240) Allow Loadbalancer to be pluggable.

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13089851#comment-13089851 ] 

Hudson commented on HBASE-4240:
-------------------------------

Integrated in HBase-TRUNK #2133 (See [https://builds.apache.org/job/HBase-TRUNK/2133/])
    HBASE-4240 Allow Loadbalancer to be pluggable

stack : 
Files : 
* /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
* /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/RegionPlan.java
* /hbase/trunk/src/test/java/org/apache/hadoop/hbase/master/TestMasterFailover.java
* /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/LoadBalancer.java
* /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/LoadBalancerFactory.java
* /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/DefaultLoadBalancer.java
* /hbase/trunk/CHANGES.txt
* /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
* /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/ServerAndLoad.java
* /hbase/trunk/src/test/java/org/apache/hadoop/hbase/master/TestLoadBalancer.java
* /hbase/trunk/src/test/java/org/apache/hadoop/hbase/master/TestDefaultLoadBalancer.java


> Allow Loadbalancer to be pluggable.
> -----------------------------------
>
>                 Key: HBASE-4240
>                 URL: https://issues.apache.org/jira/browse/HBASE-4240
>             Project: HBase
>          Issue Type: New Feature
>          Components: master
>    Affects Versions: 0.94.0
>            Reporter: Elliott Clark
>            Assignee: Elliott Clark
>             Fix For: 0.92.0
>
>         Attachments: HBASE-4240-0.patch, HBASE-4240-1.patch, HBASE-4240-2.patch, HBASE-4240-3.patch
>
>
> Everyone seems to want something different from a load balancer.  People want low latency, simplicity, and total control.  It seems like at some point the load balancer can't be all things to all people.  Something akin to what hadoop JT's pluggable scheduler seems like it will enable all solutions without making the code much more complex. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-4240) Allow Loadbalancer to be pluggable.

Posted by "Elliott Clark (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4240?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Elliott Clark updated HBASE-4240:
---------------------------------

    Attachment: HBASE-4240-0.patch

> Allow Loadbalancer to be pluggable.
> -----------------------------------
>
>                 Key: HBASE-4240
>                 URL: https://issues.apache.org/jira/browse/HBASE-4240
>             Project: HBase
>          Issue Type: New Feature
>          Components: master
>    Affects Versions: 0.94.0
>            Reporter: Elliott Clark
>            Assignee: Elliott Clark
>             Fix For: 0.94.0
>
>         Attachments: HBASE-4240-0.patch
>
>
> Everyone seems to want something different from a load balancer.  People want low latency, simplicity, and total control.  It seems like at some point the load balancer can't be all things to all people.  Something akin to what hadoop JT's pluggable scheduler seems like it will enable all solutions without making the code much more complex. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-4240) Allow Loadbalancer to be pluggable.

Posted by "Elliott Clark (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4240?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Elliott Clark updated HBASE-4240:
---------------------------------

    Attachment: HBASE-4240-1.patch

Added more docs and changed the key.

> Allow Loadbalancer to be pluggable.
> -----------------------------------
>
>                 Key: HBASE-4240
>                 URL: https://issues.apache.org/jira/browse/HBASE-4240
>             Project: HBase
>          Issue Type: New Feature
>          Components: master
>    Affects Versions: 0.94.0
>            Reporter: Elliott Clark
>            Assignee: Elliott Clark
>             Fix For: 0.94.0
>
>         Attachments: HBASE-4240-0.patch, HBASE-4240-1.patch
>
>
> Everyone seems to want something different from a load balancer.  People want low latency, simplicity, and total control.  It seems like at some point the load balancer can't be all things to all people.  Something akin to what hadoop JT's pluggable scheduler seems like it will enable all solutions without making the code much more complex. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-4240) Allow Loadbalancer to be pluggable.

Posted by "Ted Yu (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13089207#comment-13089207 ] 

Ted Yu commented on HBASE-4240:
-------------------------------

TestLoadBalancer should be named TestDefaultLoadBalancer since factory isn't used to generate the balancer.

A better name for "hbase.maser.loadBalancer" would be "hbase.maser.loadbalancer.class"

> Allow Loadbalancer to be pluggable.
> -----------------------------------
>
>                 Key: HBASE-4240
>                 URL: https://issues.apache.org/jira/browse/HBASE-4240
>             Project: HBase
>          Issue Type: New Feature
>          Components: master
>    Affects Versions: 0.94.0
>            Reporter: Elliott Clark
>            Assignee: Elliott Clark
>             Fix For: 0.94.0
>
>         Attachments: HBASE-4240-0.patch
>
>
> Everyone seems to want something different from a load balancer.  People want low latency, simplicity, and total control.  It seems like at some point the load balancer can't be all things to all people.  Something akin to what hadoop JT's pluggable scheduler seems like it will enable all solutions without making the code much more complex. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-4240) Allow Loadbalancer to be pluggable.

Posted by "Elliott Clark (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4240?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Elliott Clark updated HBASE-4240:
---------------------------------

    Attachment: HBASE-4240-3.patch

yeah no I idea what I thought that test method was testing.

> Allow Loadbalancer to be pluggable.
> -----------------------------------
>
>                 Key: HBASE-4240
>                 URL: https://issues.apache.org/jira/browse/HBASE-4240
>             Project: HBase
>          Issue Type: New Feature
>          Components: master
>    Affects Versions: 0.94.0
>            Reporter: Elliott Clark
>            Assignee: Elliott Clark
>             Fix For: 0.94.0
>
>         Attachments: HBASE-4240-0.patch, HBASE-4240-1.patch, HBASE-4240-2.patch, HBASE-4240-3.patch
>
>
> Everyone seems to want something different from a load balancer.  People want low latency, simplicity, and total control.  It seems like at some point the load balancer can't be all things to all people.  Something akin to what hadoop JT's pluggable scheduler seems like it will enable all solutions without making the code much more complex. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-4240) Allow Loadbalancer to be pluggable.

Posted by "stack (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13089582#comment-13089582 ] 

stack commented on HBASE-4240:
------------------------------

+1 Excellent.  This helps a bunch.

(Wah!!!! Elliott, you didn't have guts to refactor balanceCluster! -- smile).

> Allow Loadbalancer to be pluggable.
> -----------------------------------
>
>                 Key: HBASE-4240
>                 URL: https://issues.apache.org/jira/browse/HBASE-4240
>             Project: HBase
>          Issue Type: New Feature
>          Components: master
>    Affects Versions: 0.94.0
>            Reporter: Elliott Clark
>            Assignee: Elliott Clark
>             Fix For: 0.94.0
>
>         Attachments: HBASE-4240-0.patch, HBASE-4240-1.patch, HBASE-4240-2.patch, HBASE-4240-3.patch
>
>
> Everyone seems to want something different from a load balancer.  People want low latency, simplicity, and total control.  It seems like at some point the load balancer can't be all things to all people.  Something akin to what hadoop JT's pluggable scheduler seems like it will enable all solutions without making the code much more complex. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Resolved] (HBASE-4240) Allow Loadbalancer to be pluggable.

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4240?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack resolved HBASE-4240.
--------------------------

       Resolution: Fixed
    Fix Version/s:     (was: 0.94.0)
                   0.92.0
     Hadoop Flags: [Reviewed]

Nice patch Elliott.  Nice review Ted.  Yeah, that horror method needs refactoring but... another time.  Committed to TRUNK.

> Allow Loadbalancer to be pluggable.
> -----------------------------------
>
>                 Key: HBASE-4240
>                 URL: https://issues.apache.org/jira/browse/HBASE-4240
>             Project: HBase
>          Issue Type: New Feature
>          Components: master
>    Affects Versions: 0.94.0
>            Reporter: Elliott Clark
>            Assignee: Elliott Clark
>             Fix For: 0.92.0
>
>         Attachments: HBASE-4240-0.patch, HBASE-4240-1.patch, HBASE-4240-2.patch, HBASE-4240-3.patch
>
>
> Everyone seems to want something different from a load balancer.  People want low latency, simplicity, and total control.  It seems like at some point the load balancer can't be all things to all people.  Something akin to what hadoop JT's pluggable scheduler seems like it will enable all solutions without making the code much more complex. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-4240) Allow Loadbalancer to be pluggable.

Posted by "Harsh J (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13182205#comment-13182205 ] 

Harsh J commented on HBASE-4240:
--------------------------------

Hi,

This introduced a badly named config. Please see HBASE-5143 for a fix.
                
> Allow Loadbalancer to be pluggable.
> -----------------------------------
>
>                 Key: HBASE-4240
>                 URL: https://issues.apache.org/jira/browse/HBASE-4240
>             Project: HBase
>          Issue Type: New Feature
>          Components: master
>    Affects Versions: 0.94.0
>            Reporter: Elliott Clark
>            Assignee: Elliott Clark
>             Fix For: 0.92.0
>
>         Attachments: HBASE-4240-0.patch, HBASE-4240-1.patch, HBASE-4240-2.patch, HBASE-4240-3.patch
>
>
> Everyone seems to want something different from a load balancer.  People want low latency, simplicity, and total control.  It seems like at some point the load balancer can't be all things to all people.  Something akin to what hadoop JT's pluggable scheduler seems like it will enable all solutions without making the code much more complex. 

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