hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Purtell (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-2678) version the REST interface
Date Fri, 21 Jun 2013 04:00:20 GMT

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

Andrew Purtell commented on HBASE-2678:
---------------------------------------

Well, /v1/... or /v2/...  Those are valid table names, so there's a backwards compatibility
complication. Changing the MIME types as described is unambiguous. 

Anyway, if you have a patch please consider putting it up so we can take a look at it. 
                
> version the REST interface
> --------------------------
>
>                 Key: HBASE-2678
>                 URL: https://issues.apache.org/jira/browse/HBASE-2678
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Andrew Purtell
>            Assignee: Andrew Purtell
>
> As mentioned in HBASE-2563, we should deprecate all uses of _cell_ in the API and replace
with new APIs that use _value_ instead. So we need a way to version the REST interface, to
provide an updated API while maintaining access to the deprecated one until the next major
revision. However, something like this I consider wrong:
> {{/path/to/v1/resource}}
> and also:
> {{/v2/path/to/resource}}
> because the resource is the same regardless of the representation change. REST makes
a distinction between the representation and the resource using media types. 
> Currently Stargate supports the following encodings:
> * {{text/plain}}  (in some cases)
> * binary: {{application/octet-stream}} (freeform, no schema change needed)
> * XML: {{text/xml}}
> * JSON: {{application/json}}
> * protobufs: {{application/x-protobuf}}
> We can add Avro encoding support in HBASE-2557 with the new representation as {{application/x-avro-binary}}
immediately. For XML, JSON, and protobuf encoding, we can support new representations using
the following new media types in the current version:
> * XML: {{application/vnd.hbase+xml}}
> * JSON: {{application/vnd.hbase+json}}
> * protobufs: {{application/vnd.hbase+protobuf}}
> * and for sake of consistency: {{application/vnd.hbase+avro}}
> and then in the next major version recognize both MIME types but return the same (newer)
representation. 

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

Mime
View raw message