You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@accumulo.apache.org by "Mike Drob (JIRA)" <ji...@apache.org> on 2012/09/05 02:50:07 UTC
[jira] [Created] (ACCUMULO-751) Support Wire Compatability
Mike Drob created ACCUMULO-751:
----------------------------------
Summary: Support Wire Compatability
Key: ACCUMULO-751
URL: https://issues.apache.org/jira/browse/ACCUMULO-751
Project: Accumulo
Issue Type: Improvement
Components: master, tserver
Reporter: Mike Drob
Assignee: Eric Newton
With the advent of the HA NameNode in HDFS, the need for planned Hadoop outages has greatly diminished. I believe that Accumulo should follow suit and eventually allow for no-outage upgrades.
To support this feature, we would require wire compatibility between different versions so that the cluster can continue to function in a mixed state. There are already contingencies for master fail-over and tservers to leave/join the cluster, so I think this is a natural extension of that code.
To accomplish this for bugfix releases should be trivial. I think it is only necessary to remove (or relax) the version check that happens when a tserver attempts to join. There are rarely (never?) changes to the thrift protocol between bugfix releases, so theoretically a 1.4.1 tserver is already compatible with a 1.4.0 master and vice versa.
To maintain compatibility in the face of thrift protocol changes is certainly a harder challenge, which might be best reserved for a separate ticket.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (ACCUMULO-751) Support Wire Compatability
Posted by "Christopher Tubbs (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ACCUMULO-751?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Christopher Tubbs updated ACCUMULO-751:
---------------------------------------
Component/s: thrift
Labels: api compatibility versioning wire wireprotocol (was: )
Priority: Critical (was: Major)
Affects Version/s: 1.4.0
> Support Wire Compatability
> --------------------------
>
> Key: ACCUMULO-751
> URL: https://issues.apache.org/jira/browse/ACCUMULO-751
> Project: Accumulo
> Issue Type: Improvement
> Components: master, thrift, tserver
> Affects Versions: 1.4.0
> Reporter: Mike Drob
> Assignee: Eric Newton
> Priority: Critical
> Labels: api, compatibility, versioning, wire, wireprotocol
>
> With the advent of the HA NameNode in HDFS, the need for planned Hadoop outages has greatly diminished. I believe that Accumulo should follow suit and eventually allow for no-outage upgrades.
> To support this feature, we would require wire compatibility between different versions so that the cluster can continue to function in a mixed state. There are already contingencies for master fail-over and tservers to leave/join the cluster, so I think this is a natural extension of that code.
> To accomplish this for bugfix releases should be trivial. I think it is only necessary to remove (or relax) the version check that happens when a tserver attempts to join. There are rarely (never?) changes to the thrift protocol between bugfix releases, so theoretically a 1.4.1 tserver is already compatible with a 1.4.0 master and vice versa.
> To maintain compatibility in the face of thrift protocol changes is certainly a harder challenge, which might be best reserved for a separate ticket.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (ACCUMULO-751) Support Wire Compatability
Posted by "Christopher Tubbs (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ACCUMULO-751?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13449285#comment-13449285 ]
Christopher Tubbs commented on ACCUMULO-751:
--------------------------------------------
Currently, wire-compatibility between versions is explicitly disallowed. This is probably not necessary, but makes it easier by eliminating huge classes of possible failure modes, especially on large clusters.
As stated in the description, this is probably already possible, theoretically between bugfix versions (like 1.4.0 and 1.4.1), if it weren't for the fact that it is explicitly disallowed.
To make this work, Accumulo must be more strict about its versioning semantics, and add a guarantee of wire-compatibility between bugfix versions.
> Support Wire Compatability
> --------------------------
>
> Key: ACCUMULO-751
> URL: https://issues.apache.org/jira/browse/ACCUMULO-751
> Project: Accumulo
> Issue Type: Improvement
> Components: master, tserver
> Reporter: Mike Drob
> Assignee: Eric Newton
>
> With the advent of the HA NameNode in HDFS, the need for planned Hadoop outages has greatly diminished. I believe that Accumulo should follow suit and eventually allow for no-outage upgrades.
> To support this feature, we would require wire compatibility between different versions so that the cluster can continue to function in a mixed state. There are already contingencies for master fail-over and tservers to leave/join the cluster, so I think this is a natural extension of that code.
> To accomplish this for bugfix releases should be trivial. I think it is only necessary to remove (or relax) the version check that happens when a tserver attempts to join. There are rarely (never?) changes to the thrift protocol between bugfix releases, so theoretically a 1.4.1 tserver is already compatible with a 1.4.0 master and vice versa.
> To maintain compatibility in the face of thrift protocol changes is certainly a harder challenge, which might be best reserved for a separate ticket.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira