accumulo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From keith-turner <...@git.apache.org>
Subject [GitHub] accumulo pull request #200: Accumulo 4558 Added shell command to display ser...
Date Thu, 16 Mar 2017 15:09:36 GMT
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

Mime
View raw message