Nadav Har'El
b3ff37e67f
repair: iterator over subranges instead of list
...
When starting repair, we divided the large token ranges (vnodes) linto small
subranges of a desired length (around 100 partition), and built a huge list
of those subranges - to iterate over them later and compare checksums of
those chunks.
However, building this list up-front is completely unnecessary, and wastes
a lot of memory: In a test with 1 TB of data, as much as 3 gigabytes was
spent on this list. Instead, what we do in this patch is to find the next
chunk in a DFS-like splitting algorithm, using only the token range
midpoint() function (as before). The amount of memory needed for this is
O(logN), instead of O(N) in the previous implementation.
Refs #2430 .
Signed-off-by: Nadav Har'El <nyh@scylladb.com >
2017-06-07 08:50:56 +08:00
..
2017-05-21 12:26:15 +03:00
2017-02-02 10:35:14 +00:00
2016-10-26 08:51:21 +03:00
2016-10-26 08:51:21 +03:00
2016-10-26 08:51:21 +03:00
2017-05-21 12:26:15 +03:00
2016-10-26 08:51:21 +03:00
2017-02-07 15:17:14 +00:00
2016-10-26 08:51:21 +03:00
2017-03-02 09:05:12 +00:00
2016-12-14 10:58:07 +01:00
2017-03-28 18:10:39 +02:00
2016-10-26 08:51:21 +03:00
2017-04-28 16:29:34 +01:00
2017-05-21 12:26:15 +03:00
2017-05-21 12:26:15 +03:00
2017-05-21 12:26:15 +03:00
2017-05-21 12:26:15 +03:00
2017-05-21 12:26:15 +03:00
2016-12-05 11:48:29 +02:00
2016-12-22 17:16:23 +01:00
2016-10-26 08:51:21 +03:00
2016-10-26 08:51:21 +03:00
2017-05-21 12:26:15 +03:00
2016-10-26 08:51:21 +03:00
2017-05-21 12:26:15 +03:00
2017-05-21 12:26:15 +03:00
2016-10-26 08:51:21 +03:00
2016-10-26 08:51:21 +03:00
2017-05-21 12:26:15 +03:00
2016-10-26 08:51:21 +03:00
2016-10-26 08:51:21 +03:00
2017-04-25 12:15:28 +03:00
2017-04-24 12:23:12 +02:00
2017-03-16 10:21:10 +01:00
2016-04-08 08:12:47 +03:00
2017-03-10 14:42:22 +01:00
2016-10-26 08:51:21 +03:00
2016-10-26 08:51:21 +03:00
2016-10-19 15:29:08 +01:00
2016-12-13 14:07:53 -05:00
2017-05-21 12:26:15 +03:00
2016-10-26 08:51:21 +03:00
2017-03-10 14:42:22 +01:00
2017-02-23 18:50:44 +01:00
2017-04-27 18:43:49 +02:00
2016-12-19 14:08:50 +08:00
2017-05-17 15:35:30 +01:00
2017-02-23 18:50:53 +01:00
2017-05-23 13:35:03 +02:00
2017-05-21 12:26:15 +03:00
2016-12-19 08:04:30 +08:00
2017-06-07 08:50:56 +08:00
2016-12-19 14:20:58 +01:00
2016-10-26 08:51:21 +03:00
2016-04-08 08:12:47 +03:00
2017-05-17 10:33:18 +02:00
2017-05-23 13:16:03 +02:00
2016-04-08 12:13:29 +03:00
2016-04-08 12:13:29 +03:00
2016-12-19 14:20:58 +01:00
2017-04-20 14:51:47 +02:00
2017-05-10 16:44:48 +00:00
2016-10-26 08:51:21 +03:00
2017-03-28 18:34:55 +02:00
2016-10-26 08:51:21 +03:00
2016-11-04 15:48:43 +02:00
2017-05-25 19:30:20 +03:00
2017-05-25 19:30:20 +03:00
2017-05-25 19:30:20 +03:00
2017-04-25 11:46:33 +02:00
2017-05-25 19:30:20 +03:00
2016-12-19 14:08:50 +08:00
2017-03-28 18:10:39 +02:00
2017-05-21 12:26:15 +03:00
2017-05-26 19:26:20 +03:00
2016-04-08 08:12:47 +03:00
2017-05-22 19:30:02 +02:00
2017-05-17 11:25:52 +03:00
2017-02-22 09:19:22 +00:00
2017-05-17 11:21:58 +02:00
2017-04-23 14:06:35 +03:00