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.