Files
scylladb/cql3
Tomasz Grabiec e5feff5d71 dht: ring_position: Switch to total ordering
range::is_wrap_around() and range::contains() rely on total ordering
on values to work properly. Current ring_position_comparator was only
imposing a weak ordering (token positions equal to all key positions
with that token).

range::before() and range::after() can't work for weak ordering. If
the bound is exclusive, we don't know if user-provided token position
is inside or outside.

Also, is_wrap_around() can't properly detect wrap around in all
cases. Consider this case:

 (1) ]A; B]
 (2) [A; B]

For A = (tok1) and B = (tok1, key1), (1) is a wrap around and (2) is
not. Without total ordering between A and B, range::is_wrap_around() can't
tell that.

I think the simplest soution is to define a total ordering on
ring_position by making token positions positioned either before or
after all keys with that token.
2015-07-24 16:08:41 +02:00
..
2015-07-10 10:49:30 +03:00
2015-07-10 10:49:30 +03:00
2015-07-21 14:46:34 +02:00
2015-07-21 14:46:34 +02:00
2015-07-21 14:46:34 +02:00
2015-07-10 10:42:10 +03:00
2015-07-10 10:42:10 +03:00
2015-02-04 10:29:00 +01:00
2015-07-08 10:02:31 +02:00
2015-05-12 16:32:56 +03:00
2015-07-08 10:02:31 +02:00
2015-07-08 10:02:31 +02:00