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