You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@accumulo.apache.org by keith-turner <gi...@git.apache.org> on 2017/03/16 15:09:36 UTC

[GitHub] accumulo pull request #200: Accumulo 4558 Added shell command to display ser...

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