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

Lars George commented on HBASE-8947:
------------------------------------

Hi [~madani], I am not talking about the client adopting the new features, they 
need to do that eventually. But for a rolling upgrade, you can have an older 
client talking to a newer server, or vice versa. See 
[this|http://www.quora.com/Are-different-versions-of-Thrift-compatible-with-each-other-on-the-wire-RPC-level]
 for reference. Similar to 
[ProtoBufs|https://developers.google.com/protocol-buffers/docs/proto] (see 
"Assigning Tags") the IDs are what is used during serialization and 
deserialization to match values to fields. If you change this, then you mix up 
assignment.

As for ordering, if you look at the Thrift example, there is a test including a 
"Backwards" test, which assigns the IDs out of order. I had assumed this is 
arbitrary (i.e. the ordering) as long as you match IDs to fields and not change 
them across versions.

And you should be able to have gaps, since you can that way retire older fields 
- the deserialization will simply ignore them. I just wish Thrift had a proper 
documentation. :( 
                
> Thrift 2 : Replace "bool writeToWAL" with "TDurability durability" 
> -------------------------------------------------------------------
>
>                 Key: HBASE-8947
>                 URL: https://issues.apache.org/jira/browse/HBASE-8947
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Thrift
>            Reporter: Hamed Madani
>            Assignee: Hamed Madani
>         Attachments: HBASE-8947.patch, HBASE-8947-v2.patch, 
> HBASE-8947-v3-0.94.patch, HBASE-8947-v3.patch
>
>
> Introduce new enum *TDurability* to expose more options for *Write To Wal.* 

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

Reply via email to