Igor Canadi
7413306d94
Take a chance on a random file when choosing compaction
...
Summary:
When trying to compact entire database with SuggestCompactRange(), we'll first try the left-most files. This is pretty bad, because:
1) the left part of LSM tree will be overly compacted, but right part will not be touched
2) First compaction will pick up the left-most file. Second compaction will try to pick up next left-most, but this will not be possible, because there's a big chance that second's file range on N+1 level is already being compacted.
I observe both of those problems when running Mongo+RocksDB and trying to compact the DB to clean up tombstones. I'm unable to clean them up :(
This diff adds a bit of randomness into choosing a file. First, it chooses a file at random and tries to compact that one. This should solve both problems specified here.
Test Plan: make check
Reviewers: yhchiang, rven, sdong
Reviewed By: sdong
Subscribers: dhruba, leveldb
Differential Revision: https://reviews.facebook.net/D38379
2015-05-15 14:14:40 -07:00
..
2015-05-12 15:53:55 -07:00
2015-05-12 15:53:55 -07:00
2015-02-23 14:10:09 -08:00
2015-03-17 15:04:37 -07:00
2015-05-05 15:59:02 -07:00
2015-05-12 16:20:03 -07:00
2015-04-23 19:12:31 -07:00
2015-03-17 14:08:00 -07:00
2015-05-05 19:01:12 -07:00
2015-05-12 15:53:55 -07:00
2015-05-06 22:51:06 -07:00
2015-05-12 11:16:25 -07:00
2015-05-15 14:14:40 -07:00
2015-05-05 09:57:47 -07:00
2015-05-13 14:15:46 -07:00
2015-05-05 19:01:12 -07:00
2015-03-19 17:29:37 -07:00
2015-04-25 18:14:27 +09:00
2015-03-17 14:08:00 -07:00
2015-05-13 10:03:41 -07:00
2015-03-19 17:04:29 -07:00
2015-03-30 15:04:10 -04:00
2015-04-29 13:35:48 -07:00
2014-12-22 12:20:17 -08:00
2014-11-26 11:37:59 -08:00
2015-05-12 15:53:55 -07:00
2015-05-11 14:51:51 -07:00
2015-03-19 17:29:37 -07:00
2015-04-25 18:14:27 +09:00
2014-09-08 15:04:34 -07:00
2015-05-14 09:22:43 -07:00
2015-03-17 14:08:00 -07:00
2014-11-11 16:47:22 -05:00
2015-04-23 18:08:37 -07:00
2015-03-19 17:29:37 -07:00
2015-05-12 15:53:55 -07:00
2015-05-12 15:53:55 -07:00
2015-04-23 12:10:36 -07:00
2015-04-09 16:15:42 -07:00
2015-04-29 10:52:31 -07:00
2015-04-29 10:52:31 -07:00
2014-11-11 16:47:22 -05:00
2015-03-17 14:08:00 -07:00
2015-01-22 14:32:03 -08:00
2015-01-22 14:32:03 -08:00
2015-03-19 17:29:37 -07:00
2015-05-12 15:53:55 -07:00
2015-03-13 10:45:40 -07:00
2014-10-02 14:33:16 -07:00
2015-01-26 11:48:07 -08:00
2015-02-26 11:28:41 -08:00
2015-02-26 11:28:41 -08:00
2015-04-01 10:48:42 -07:00
2015-04-09 16:43:54 -07:00
2015-03-30 15:04:10 -04:00
2015-05-12 16:10:23 -07:00
2014-01-02 16:32:31 -08:00
2015-02-23 14:10:09 -08:00
2015-04-07 16:25:56 -07:00
2015-03-17 14:08:00 -07:00
2015-02-20 11:07:17 -08:00
2015-04-07 16:25:56 -07:00
2015-02-24 16:24:53 -08:00
2015-04-09 21:05:18 -07:00
2014-12-02 12:09:20 -08:00
2014-12-02 12:09:20 -08:00
2015-04-27 15:20:02 -07:00
2015-04-25 18:14:27 +09:00
2015-04-10 14:16:03 -07:00
2015-03-24 14:42:04 -07:00
2015-04-08 21:10:35 -07:00
2015-05-02 13:19:10 -07:00
2015-05-11 14:51:51 -07:00
2015-04-27 20:23:50 -07:00
2015-04-27 20:23:50 -07:00
2014-03-26 18:11:41 -07:00
2015-02-26 11:28:41 -08:00
2015-03-30 16:05:35 -04:00
2015-03-19 17:29:37 -07:00
2015-03-19 17:29:37 -07:00
2015-04-23 11:34:35 -07:00
2015-03-17 14:08:00 -07:00
2014-12-02 12:09:20 -08:00
2015-03-17 19:23:08 -07:00
2015-05-05 19:01:12 -07:00
2014-10-28 17:52:32 -07:00
2014-09-29 11:09:09 -07:00
2015-04-06 10:27:21 -07:00
2015-04-06 10:27:21 -07:00
2015-04-06 10:27:21 -07:00
2014-11-06 11:14:28 -08:00
2015-02-26 11:28:41 -08:00
2015-03-19 17:29:37 -07:00
2015-02-06 08:44:30 -08:00
2014-10-31 16:34:38 -07:00
2015-03-17 14:08:00 -07:00
2014-10-31 11:59:54 -07:00
2015-04-17 16:44:45 -07:00
2015-04-03 09:04:35 -07:00
2015-04-30 11:11:35 -07:00
2015-04-30 10:55:03 -07:00
2015-04-13 16:15:05 -07:00
2015-02-26 11:28:41 -08:00
2014-11-10 17:39:38 -05:00
2015-03-17 19:23:08 -07:00
2014-11-18 10:20:10 -08:00
2015-03-19 17:29:37 -07:00
2015-03-24 14:42:04 -07:00
2015-04-17 14:54:17 -07:00
2014-09-08 11:20:25 -07:00
2014-09-13 14:14:10 -07:00
2014-09-12 16:23:58 -07:00
2015-02-04 21:39:45 -08:00
2014-12-02 12:09:20 -08:00