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

Christopher Tubbs commented on ACCUMULO-4061:
---------------------------------------------

This change involves updating the thrift API slightly. I think this is safe, 
but since I'm not 100% confident of thrift's compatibility guarantees, we 
should ensure the client code can handle this field being missing when 
receiving status from older versions and that older clients don't blow up if 
receiving an extra status message in the field. Alternatively, we can limit 
this change to 2.0.0 only.

> Add way to determine Accumulo version from a running tserver
> ------------------------------------------------------------
>
>                 Key: ACCUMULO-4061
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-4061
>             Project: Accumulo
>          Issue Type: New Feature
>          Components: tserver
>            Reporter: Ed Coleman
>            Assignee: Luis Tavarez
>            Priority: Minor
>             Fix For: 1.7.3, 1.8.1, 2.0.0
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> When upgrading by performing a rolling restart, realized that there was no 
> way to determine the version of a running tserver other than using ps to get 
> start time or maybe a versioned package on the classpath.
> A typical deployment structure seems to be lay down the Accumulo directories 
> with a version and then use a symbolic link to point to the version that is 
> used at run-time. As an example:
> /usr/local/accumulo
> /usr/local/accumulo/accumulo-1.6.2
> /usr/local/accumulo/accumulo-1.6.3
> /usr/local/accumulo/accumulo-latest --> /usr/local/accumulo/accumulo-1.6.3
> To upgrade without a complete shutdown, we lay down the new version, update 
> the symbolic link and then perform a rolling restart of the tservers, with 
> scripts, env,... using the symbolic link to specify which version are used.
> Realized that if the rolling shutdown failed for any particular tserver, it 
> would keep running the previous version.  The only way to determine if we 
> were running the desired version was to use ps and check the running time of 
> the tserver process.
> The could also be a situation were a "dead" server would be offline during 
> the upgrade and not receive the new version. If the server was resurrected 
> and services started before updated versions are installed it could be 
> difficult to determine exactly what version of the tserver was running. 
> It would be nice if there was some way to ask a running tserver what version 
> it is. That way, post-upgrade we could confirm that all running tservers 
> reply with the expected version.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to