[ 
https://issues.apache.org/jira/browse/TAJO-704?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14096451#comment-14096451
 ] 

ASF GitHub Bot commented on TAJO-704:
-------------------------------------

Github user jihoonson commented on a diff in the pull request:

    https://github.com/apache/tajo/pull/77#discussion_r16218363
  
    --- Diff: tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java ---
    @@ -628,6 +633,31 @@ public void close() {
         }
       }
     
    +  // In TajoMaster HA mode, if TajoCli can't connect existing active 
master,
    +  // this should try to connect new active master.
    +  private void checkMasterStatus() {
    +    try {
    +      if (conf.getBoolVar(TajoConf.ConfVars.TAJO_MASTER_HA_ENABLE)) {
    +        if 
(!HAServiceUtil.isMasterAlive(conf.get(TajoConf.ConfVars.TAJO_MASTER_CLIENT_RPC_ADDRESS
    +            .varname), conf)) {
    +          String baseDatabase = client.getBaseDatabase();
    +          conf.set(ConfVars.TAJO_MASTER_CLIENT_RPC_ADDRESS.varname,
    +              HAServiceUtil.getMasterClientName(conf));
    +
    +          client.close();
    +          commands.clear();
    +
    +          client = new TajoClient(conf, baseDatabase);
    +          context.setCurrentDatabase(client.getCurrentDatabase());
    +
    +          initHistory();
    +          initCommands();
    +        }
    +      }
    +    } catch (Exception e) {
    --- End diff --
    
    I think that exceptions should be handled properly. It seems that the 
IOException can occur when a new tajo client is created. If an IOException 
occurs, the 'client' value will be not updated, and TajoCli might try to 
connect to the old master.


> TajoMaster HA
> -------------
>
>                 Key: TAJO-704
>                 URL: https://issues.apache.org/jira/browse/TAJO-704
>             Project: Tajo
>          Issue Type: New Feature
>          Components: tajo master
>    Affects Versions: 0.9.0
>            Reporter: Jaehwa Jung
>            Assignee: Jaehwa Jung
>             Fix For: 0.9.0
>
>         Attachments: TAJO-704.Henrick.01.patch.txt, TajoMasterHAdraft.pdf
>
>
> TajoMaster is a Single Point of Failure in a Tajo Cluster because TajoMaster 
> is the central controlling entity for all components of the Tajo system. 
> TajoMaster failure prevents clients from submitting new queries to the 
> cluster, and results in the disruption of the ability to run insert overwrite 
> queries because the TajoWorker can’t apply its statistical information to 
> CatalogStore. Therefore, the high-availability (HA) of TajoMaster is 
> essential for the high-availability of Tajo generally. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to