apurtell commented on a change in pull request #2261:
URL: https://github.com/apache/hbase/pull/2261#discussion_r471671371



##########
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:
       Something to consider: Rather than adding new API for every ringbuffer 
backed type, since the ringbuffers are named, can we just have one API that 
retrieves records from a buffer specified by name? 
   
   E.g.
   
   public List<LogEntry> getLogEntries(String name)
   
   Then, LogEntry is a generic type capable of accepting any protobuf encoding. 
Then, we derive new types from LogEntry such as BalancerDecision. Have a static 
method in LogEntry for instantiating the subclasses by reflection based on what 
type is communicated by the protobuf. 
   
   If _LogEntry_ is too generic a name, consider _RingEntry_. (I'm not the best 
at naming, maybe someone else has a better idea...)
   
   It is a lot easier to add or remove specialized classes as these things 
evolve than add or remove methods from public/stable admin APIs. 




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