You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Tom White (JIRA)" <ji...@apache.org> on 2007/10/17 22:38:51 UTC

[jira] Commented: (HADOOP-2068) [hbase] RESTful interface

    [ https://issues.apache.org/jira/browse/HADOOP-2068?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12535729 ] 

Tom White commented on HADOOP-2068:
-----------------------------------

Generally looks good. A few comments:

1. 401 is "Unauthorized", instead I would use 404 "Not Found" if a resource doesn't exist.
2. The result of a successful PUT is 201 "Created".
3. What do you think the representation of the resources will be?

And in case you haven't seen it already, I found "RESTful Web Services" by by Leonard Richardson and Sam Ruby (http://www.oreilly.com/catalog/9780596529260/) really useful.

> [hbase] RESTful interface
> -------------------------
>
>                 Key: HADOOP-2068
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2068
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: contrib/hbase
>            Reporter: stack
>            Priority: Minor
>
> A RESTful interface would be one means of making hbase accessible to clients that are not java.  It might look something like the below:
> + An HTTP GET of  http://MASTER:PORT/ outputs the master's attributes: online meta regions, list of tables, etc.: i.e. what you see now when you go to http://MASTER:PORT/master.jsp.
> + An HTTP GET of http://MASTER:PORT/TABLENAME: 200 if tables exists and HTableDescription (mimetype: text/plain or text/xml) or 401 if no such table.  HTTP DELETE would drop the table.  HTTP PUT would add one.
> + An HTTP GET of http://MASTER:PORT/TABLENAME/ROW: 200 if row exists and 401 if not.
> + An HTTP GET of http://MASTER:PORT/TABLENAME/ROW/COLUMNFAMILY: HColumnDescriptor (mimetype: text/plain or text/xml) or 401 if no such table.
> + An HTTP GET of http://MASTER:PORT/TABLENAME/ROW/COLUMNNAME/: 200 and latest version (mimetype: binary/octet-stream) or 401 if no such cell. HTTP DELETE would delete the cell.  HTTP PUT would add a new version.
> + An HTTP GET of http://MASTER:PORT/TABLENAME/ROW/COLUMNNAME/TIMESTAMP: 200 (mimetype: binary/octet-stream) or 401 if no such cell. HTTP DELETE would remove.  HTTP PUT would put this record.
> + Browser originally goes against master but master then redirects to the hosting region server to serve, update, delete, etc. the addressed cell

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.