Socorro:ClientAPI: Difference between revisions

Jump to navigation Jump to search
Line 8: Line 8:


This page gives a high level overview of a potential solution to this problem that involves replacing the Thrift communication layer with a higher level API that lives outside of HBase and provides an intermediate queuing and temporary storage layer in addition to a REST interface that contains the necessary business logic needed to store and retrieve crash report data.
This page gives a high level overview of a potential solution to this problem that involves replacing the Thrift communication layer with a higher level API that lives outside of HBase and provides an intermediate queuing and temporary storage layer in addition to a REST interface that contains the necessary business logic needed to store and retrieve crash report data.
== REST Layer ==
;store single data value for a new or existing crash report
:takes an ooid in the URL and can store any one of the data types listed below.
* PUT /crash_report/<ooid>
** raw meta JSON
** raw minidump
** processed JSON
** flags (throttling, priority, crash type)
** ids (hang_id, signature, etc)
;store multiple data values for one or more new or existing crash reports
:each section of the body contains the crash report ooid, column name, and column value
* PUT /crash_report/<false-row-key>
;retrieving crash report information
:takes an ooid and a comma separated list of data types (i.e. columns) to retrieve. i.e. /crash_report/d4e9616d-4197-4975-af04-de8942101002/meta,dump
* GET /crash_report/<ooid>
** /(meta|dump|processed|flags|ids)*
;create a scanner on a table or queue
:Body of the post can take a batch size argument that will determine how many items will be returned on each call to the scanner's retrieval method.  If creating the scanner succeeds, it returns a 201 response with a URI to call whenever more items are needed
* POST /<table>/scanner
** batch=#
** (meta|dump|processed|flags|ids)*
** start key
** end key
** cache params
;retrieve next value(s) from scanner
:Each time this GET is called, it will return up to the number of items configured by the batch parameter of the scanner creation.
* GET /<table>/scanner/<scanner-id>
HBase REST (Stargate) documentation can be found [http://wiki.apache.org/hadoop/Hbase/Stargate here].


== Queue and persistance layer ==
== Queue and persistance layer ==
131

edits

Navigation menu