enable streaming for ts list keys#1291
Merged
borshop merged 14 commits intoend-to-end/timeseriesfrom Dec 10, 2015
Merged
Conversation
added 5 commits
December 2, 2015 18:06
Alternate riak_object:newts for making objects with non-binary keys.
Customized the eleveldb:to/from_object calls to encode any key as sext,
but leave the key as a sext-encoded binary on decode.
Timing measurements (mean over 100k trials)
```
Previous Current
to_object_ke 31us 29us
from_object_key 82us 71us
```
Alternate riak_object:newts for making objects with non-binary keys.
Customized the eleveldb:to/from_object calls to encode any key as sext,
but leave the key as a sext-encoded binary on decode.
Timing measurements (mean over 100k trials)
```
Previous Current
to_object_ke 31us 29us
from_object_key 82us 71us
```
With the changes to support time series the trick of using
an empty binary for the first key sorted *after* the tuple,
so switched to using a bare atom instead.
```
(dev1@127.0.0.1)7> <<>> < {a,b,c}.
false
(dev1@127.0.0.1)8> undefined < {a,b,c}.
true
```
Previously was crashing before the reap when it tried to issue the reaping get.
No longer needs the special TS list keys coverage code as the keys can be directly recovered. One consequence of this is that objects are not retrieved so deleted entries will show up until they are reaped from the vnode like regular riak KV. If you retrieve them with C:get(..., [deletedvclock]) you will see they are removed but have not been reaped yet.
This was referenced Dec 6, 2015
…ho/riak_kv into feature/desc-compatible-key-encoding
…sreq) This is necessary to correctly pigeonhole timestamps into #tscell's # Conflicts: # src/riak_kv_pb_timeseries.erl
only evaluated to true for {PK, LK} where key elements were binaries,
which is no longer the case with new TS keys like
{o, Family, Series, Timestamp}.
0d3feaf to
2f75912
Compare
…for-ts-list_keys # Conflicts: # src/riak_kv_eleveldb_backend.erl # src/riak_kv_pb_timeseries.erl # src/riak_kv_qry_coverage_plan.erl # src/riak_kv_vnode.erl # src/riak_object.erl
unbreak tests bucket_prop_needers, packObj, is_updated
|
👍 87d4a5d |
borshop
added a commit
that referenced
this pull request
Dec 10, 2015
…-list_keys enable streaming for ts list keys Reviewed-by: javajolt
|
@borshop merge |
This file contains hidden or 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
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-697, RTS-718.
This PR uses the new
{o, ...}sext-encoded keys for TS, and enables streaming list_keys.Complementary PRs: basho/riak-erlang-client#253 and basho/riak_test#953.