-
Notifications
You must be signed in to change notification settings - Fork 236
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TS HTTP client API #1355
Closed
Closed
TS HTTP client API #1355
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Enable the following requests: GET /ts/1/table/Table single-key get DELETE /ts/1/table/Table single-key delete PUT /ts/1/table/Table batch put GET /ts/1/table/Table/keys list_keys GET /ts/1/coverage coverage for a query POST /ts/1/query execute SQL query Additional parameters (keys, data, query) are to be supplied in request body, as a JSON object.
Complementary to 9b62335 by atill The call to claimant to determine a table's bucket type status is an expensive operation. It was introduced in a1c1e2e, with the purpose to detect and report the error condition where a TS operation is attempted on a non-activated bucket type, but found to cause serious performance degradation. Andy's commit removed the expensive call; this commit captures and reports the error condition in various places in riak_kv_{wm,pb}_timeseries and riak_kv_ts_util.
andalso, check detailed per-table permissions when security is on.
because there were no changes for them to progress to 1.3, whereby they lose the version and become riak_ts-develop.
This improves on 5c56530.
…lete The version with both key-in-json and key-in-url is forked into own branch feature-az-http_ts_api_with_keys_in_json_in_body. If a decision is taken to resurrect that branch, there is a complementary branch, of the same name, in riak-erlang-http-client, which can produce requests with key in json.
* don't support coverage API call in HTTP callbacks; * unify permission strings, for shared use between wm and pb callbacks; * straighten up function call chain in riak_kv_wm_timeseries, now that all api calls are mapped 1:1 onto HTTP methods; * in particular, use wrq:path_info/2 to get table and keys, instead of clunky tokenization where it's no longer necessary; * introduce security and validation checks for listkeys.
hmmr
force-pushed
the
feature-az-http_client
branch
from
March 1, 2016 11:41
1af30bf
to
574edcc
Compare
Also, move around the check for no_such_table, and keep Mod and DDL once found.
hmmr
force-pushed
the
feature-az-http_client
branch
2 times, most recently
from
March 2, 2016 15:29
fe3c070
to
1e5249d
Compare
hmmr
force-pushed
the
feature-az-http_client
branch
from
March 2, 2016 15:36
1e5249d
to
4e20c20
Compare
Development switched to #1382. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
RTS-258
Implement these HTTP API calls (intending eventually to comply with https://docs.google.com/document/d/19cxGPEo7rQdjsC3jUw_40eiICwAN_OzPuT_F-eLXTt8):
(*) disabled for now.
The keys for
get
anddelete
are to be given on the URL, either as "/F1/V1/F2/V2/F3/V3", where key-constituent field-value pairs can be in arbitrary order, or as bare values: "/V1/V2/V3", with Vn value for the corresponding field Fn.The data and query for
put
andquery
should be submitted in request body, as in the real-world use case with curl: https://gist.github.com/hmmr/94abdb4d648a44009e93 and in r_t module basho/riak_test#1008.The required TS extensions to riak-erlang-http-client are in basho/riak-erlang-http-client#55. A tweak in riak-erlang-client for
riakc_ts:get/3
return value is in basho/riak-erlang-client#261. (These are not dependencies of the present PR.)