Github user keith-turner commented on a diff in the pull request:

    https://github.com/apache/accumulo/pull/200#discussion_r106443306
  
    --- Diff: 
core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperations.java
 ---
    @@ -81,6 +81,15 @@
       List<String> getTabletServers();
     
       /**
    +   * List the tablet server status
    +   *
    +   * @return A list of tablet server status.
    +   * @since 2.0.0
    +   */
    +
    +  List<Map<String,String>> getTabletServerStatus() throws 
AccumuloException;
    --- End diff --
    
    From an API design standpoint I would rather see a class returned as that 
gives more flexibility to evolves the API in the future.  This is a lesson I 
have learned the hard way.   For example if I wanted to add functionality to 
get the description of a stat or historical information in the future, that 
would mean adding more methods to intstance operations.
    
    I would rather see something like the following for the API.
    
    ```java
    static interfce TabletServerID {
      public String getHost();
      public int getPort();
      public long getSessionId();
    }
    
    static interface TabletServersStatus {
      List<TabletServerID> getTabletServers();
      Map<String,String> getTabletServerStatus(TabletServerID tsid);
    }
    
    TabletServersStatus getTabletServerStatus();
    ```
    



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to