I'm a bit confused WRT KeyRange's tokens in 0.7.0
When making a range query you can either use KeyRange.key or KeyRange.token.
In 0.7.0 key was typed as byte[]. tokens remain strings.
What does this string represent in case of a RP and in case of an OPP? Did
this change in 0.7.0?

AFAIK in 0.6.0 if the partitioner is OPP then the tokens are actual strings
and they might just be actual subset of the keys. When using a RP tokens are
BigIntegers (keys are still strings) and I'm not actually sure if you're
allowed to shoot a range query using tokens...

In 0.7.0 since keys are now bytes, when using an OPP, how do those bytes
translate to strings? I'd assume it'd just be byte[] -> UTF8 conversion,
only that this may result in illegal UTF8 chars when keys are just random
bytes, so I guess not... Perhaps md5 hashing? But then if using an OPP and
keys are actual strings, I want to have the same 0.6.0 functionality in
place, meaning tokens are strings like the keys. I actually tested this
scenario and it looks working, so it seems like the String keys are
translated to UTF8, but what happens when they are invalid UTF8?
Another question is what's the story with RP in 0.7.0? Should range query
even be supported with tokens? If so, then are the tokens expected to be
string of integers? (e.g. "1234567890")

Thanks.

Reply via email to