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


Reply via email to