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

Matteo Bertozzi commented on HBASE-8693:
----------------------------------------

{quote}Struct is a programatic data structure, not a tool for schema 
management. It has no concept of "upgrade Struct Foo, version 1 to Foo version 
2 by adding a new field in the middle here and changing the last one from X to 
Y." It's a convenience for manipulating complex byte[] structures. Schema 
management may become of concern for HBase, but that's out of scope.{quote}
Ok, make sense with this limited scope (no schema) have a fixed list of fields.

My main concern is: I start use 96 with this struct encoding... is fixed so I 
can't add  fields.. so I work around it adding a version number in front of the 
struct and then I do the switch for v1, v2, v3 with all the fixed struct that I 
know...

...later I switch to a future release that have the code for table schema that 
"half" relies on this patch. How can I map my data? since I've done some tricks 
for my versioning I probably can't do anything... and I must rewrite 
everything..

as you said, data evolution is out of the scope. so if you consider this patch 
just as a  "smarter" alternative to the Bytes encoding. feel free to ignore my 
comments since this stuff already looks good to me as it is.
                
> Implement extensible type API based on serialization primitives
> ---------------------------------------------------------------
>
>                 Key: HBASE-8693
>                 URL: https://issues.apache.org/jira/browse/HBASE-8693
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Client
>            Reporter: Nick Dimiduk
>            Assignee: Nick Dimiduk
>             Fix For: 0.95.2
>
>         Attachments: 0001-HBASE-8693-Extensible-data-types-API.patch, 
> 0001-HBASE-8693-Extensible-data-types-API.patch, 
> 0001-HBASE-8693-Extensible-data-types-API.patch, 
> 0002-HBASE-8693-example-Use-DataType-API-to-build-regionN.patch
>
>


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