XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • None
    • None
    • None
    • None

    Description

      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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            apurtell Andrew Kyle Purtell
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: