virajjasani commented on a change in pull request #2261: URL: https://github.com/apache/hbase/pull/2261#discussion_r471690690
########## File path: hbase-client/src/main/java/org/apache/hadoop/hbase/client/AdminOverAsyncAdmin.java ########## @@ -1057,4 +1057,9 @@ public void updateRSGroupConfig(String groupName, Map<String, String> configurat throws IOException { get(admin.updateRSGroupConfig(groupName, configuration)); } + + @Override + public List<BalancerDecisionRecords> getBalancerDecisions() throws IOException { Review comment: Definitely, adding new APIs not desirable, however few reasons why I had to choose this way: 1. slowLog released in 2.3 already. 2. slowLog is in each RS and the API has flexibility to choose serverName to get records from (filter by serverName) whereas balancer is HMaster queue meaning activeMasterStub is to be identified by client, hence no need of serverName filter. 3. client has to identify whom to make a call - HMaster or RegionServer (or limited no of RS) based on use-case, not a big deal but maybe too much logic for client interface? 4. genericAPI might need to include abstract request and response classes, and respective use-cases to ensure if filter is required at server side (not a big deal) For 1), I believe trunk and 2.4.0 both can have generic API end-point. 2) and 3) seem bit of headache for single API. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org