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

Andrew Kyle Purtell edited comment on HBASE-25183 at 10/15/20, 6:08 PM:
------------------------------------------------------------------------

I am supportive of the high level idea of factoring the balancer to be more 
maintainable. Maybe that would be facilitated by moving it into its own Maven 
module, maybe not, remains to be seen in the details. My concerns are mostly 
about how much of server/master internals have to be carried along with the 
balancer implementation into the other module. Related, say we want to add a 
new cost function that needs some master internal state to make a decision, 
must we hack both the balancer and server modules to add it or not. 

bq. I do not think this is 'a JIRA with no description'. 

This is an issue with no description as of the time of this comment. JIRA says 
_Click to add description_

As with anything there is no hard rule here. Simple work doesn't need a 
description. On the other hand this is a significant refactor of a major piece 
of functionality and I would expect a reasonable description outlining the 
motivation, goals, and success criteria for the work. It is the minimum one 
should expect for collaboration, some kind of description. Sometimes for major 
work like this a contributor would attach a full design document. When that 
happens it usually helps. Because we don't make hard rules here strictly 
speaking some words about the design and goals are not required, only a patch 
is required, but your risk of a technical veto due to misunderstanding or lack 
of alignment is much higher if you don't explain your work first. 


was (Author: apurtell):
I am supportive of the high level idea of factoring the balancer to be more 
maintainable. Maybe that would be facilitated by moving it into its own Maven 
module, maybe not, remains to be seen in the details. My concerns are mostly 
about how much of server/master internals have to be carried along with the 
balancer implementation into the other module. Related, say we want to add a 
new cost function that needs some master internal state to make a decision, 
must we hack both the balancer and server modules to add it or not. 

bq. I do not think this is 'a JIRA with no description'. 

This is an issue with no description as of the time of this comment. JIRA says 
_Click to add description_

As with anything there is no hard rule here. Simple work doesn't need a 
description. On the other hand this is a significant refactor of a major piece 
of functionality and I would expect a reasonable description outlining the 
motivation, goals, and success criteria for the work, ideally a full design 
document. It is the minimum one should expect for collaboration. Because we 
don't make hard rules here strictly speaking some words about the design and 
goals are not required, only a patch is required, but your risk of a technical 
veto due to misunderstanding or lack of alignment is much higher if you don't 
explain your work first. 

> Move more balancer related classes to hbase-balancer
> ----------------------------------------------------
>
>                 Key: HBASE-25183
>                 URL: https://issues.apache.org/jira/browse/HBASE-25183
>             Project: HBase
>          Issue Type: Umbrella
>          Components: Balancer
>            Reporter: Duo Zhang
>            Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to