- 
                Notifications
    You must be signed in to change notification settings 
- Fork 3.4k
HBASE-26240 Set InterfaceAudience to Private for BalanceRequest$Builder #3663
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
4a28afa    to
    ec95bfe      
    Compare
  
    | 🎊 +1 overall 
 
 This message was automatically generated. | 
| 🎊 +1 overall 
 
 This message was automatically generated. | 
| 🎊 +1 overall 
 
 This message was automatically generated. | 
| 🎊 +1 overall 
 
 This message was automatically generated. | 
| 🎊 +1 overall 
 
 This message was automatically generated. | 
| 🎊 +1 overall 
 
 This message was automatically generated. | 
| Sorry to nit-pick, but if the build is explicitly private API, can it be its own top-level class, rather than being an inner class of the public API? I think it's confusing to downstream developers when we inter-mingle public and private API resources in the same class. otherwise, +1 | 
| @ndimiduk I hear you, but honestly I feel like there are pros and cons on both sides of that. If I break it out, I'd need to make BalanceResponse's constructor package-private at least, and the  None of that is a non-starter, but I'm not sure if it's explicitly better than having the inner class be IA.Private, or even IA.Public. I can do it if you feel strongly about it, but just wanted to put that out there for consideration. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the context and your thinking here, @bbeaudreault . I feel strongly about it, but in the larger context. This is exactly the kind of improvement that we might one-day pursue. In the mean time, let's go forward with what you have presented here.
…er (apache#3663) Signed-off-by: Duo Zhang <[email protected]> Signed-off-by: Nick Dimiduk <[email protected]>
…er (#3663) Signed-off-by: Duo Zhang <[email protected]> Signed-off-by: Nick Dimiduk <[email protected]>
| Sorry for the belated reply. @bbeaudreault my ask was to move BalanceResponse$Builder to be private, not BalanceRequest$Builder to be private. Users are expected to be able to use BalancerRequest, as this is on  
 My point was that the Master is the only thing which should be creating BalanceResponse objects, thus end users don't need to know about the BalanceResponse$Builder class. Because the constructors on BalanceRequest are private, users must use the Builder class. 
 Please correct me if I'm wrong. I think we want to revert the change to BalancerRequest$Builder and apply it to BalancerRespons$Builder instead. | 
| Oh, thanks @joshelser for pointing this out. The IA.Private class should be BalanceResponse, not BalanceRequest... | 
| Ugh! You are right, I totally messed that up. I'll push a fix tomorrow. Sorry all | 
@joshelser @ndimiduk