hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Purtell <apurt...@apache.org>
Subject Re: contrib proposal: "stargate"
Date Mon, 01 Jun 2009 20:00:49 GMT
Answers below inline. 

From: stack <stack@duboce.net>
To: hbase-dev@hadoop.apache.org
Sent: Monday, June 1, 2009 11:16:52 AM
Subject: Re: contrib proposal: "stargate"

Sounds good to me.  I like idea of REST moving out of core to contrib
watched-over by active committer (As you suggest elsewhere, would be good to
do for other 'adapters').

Any chance of a basic listing of major API differences from current
implementation of REST in TRUNK?

[apurtell] The major differences are:

  - GET, POST, and PUT support more than just just text/xml encoding: Protobufs and binary
are also supported

  - Use GET instead of POST for iterating a scanner instance resource. Personal taste, can
be changed. 

  - Supply Cache-Control headers so transparent proxies can do the right thing. 

  - Scanners support batching.

  - PUT/POST supports batch insert

  - Different XML schema, but can be easily changed, if it should be

  - Different resource locators. Avoid using query parameters. 

    OLD: "GET /[table]" returns schema
    NEW: "GET /[table]/schema" returns schema

    OLD: "GET /[table]/row/[row](/[timestamp])?"
    NEW: "GET /[table]/[row]/[column](,[column])+(/[timestamp])?"
    NEW: "GET /[table]/[startrow](,[endrow])?/[column](,[column]){0,}(/[timestamp])?"

  - Support suffix globbing of row key

    NEW: "GET /[table]/[row]*/...  <-- suffix glob

  - Make accidental deletion of table harder. 

    OLD: "DELETE /[table]"
    NEW: "DELETE /[table]" is disallowed -- prone to accident, like rm -rf /
         "DELETE /[table]/schema" instead

  - No need to explicitly enable or disable a table. Capability to do so can be trivially

Backfill javadoc sounds important, multipart less so.

[apurtell] Agree on the javadoc. 

On AUTH, can you not leverage the container's auth?  Should be just
configuration to enable BASIC and/or SSL?

[apurtell] Yes I believe Jetty can do a lot, and so mostly the enhancements would be about
setting up the container properly based on some config, e.g. use SSL listener, but also if
we'd consider backing basic auth with data from an HBase table, there would need to be some
more involved glue there. 

Good stuff Andrew,

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message