Phani Shekhar Mantripragada
88ca4197a8
Support for Column family specific paths.
...
Summary:
In this change, an option to set different paths for different column families is added.
This option is set via cf_paths setting of ColumnFamilyOptions. This option will work in a similar fashion to db_paths setting. Cf_paths is a vector of Dbpath values which contains a pair of the absolute path and target size. Multiple levels in a Column family can go to different paths if cf_paths has more than one path.
To maintain backward compatibility, if cf_paths is not specified for a column family, db_paths setting will be used. Note that, if db_paths setting is also not specified, RocksDB already has code to use db_name as the only path.
Changes :
1) A new member "cf_paths" is added to ImmutableCfOptions. This is set, based on cf_paths setting of ColumnFamilyOptions and db_paths setting of ImmutableDbOptions. This member is used to identify the path information whenever files are accessed.
2) Validation checks are added for cf_paths setting based on existing checks for db_paths setting.
3) DestroyDB, PurgeObsoleteFiles etc. are edited to support multiple cf_paths.
4) Unit tests are added appropriately.
Closes https://github.com/facebook/rocksdb/pull/3102
Differential Revision: D6951697
Pulled By: ajkr
fbshipit-source-id: 60d2262862b0a8fd6605b09ccb0da32bb331787d
2018-05-08 17:00:57 -07:00
..
2018-05-08 17:00:57 -07:00
2017-11-10 09:26:24 -08:00
2017-09-14 14:18:59 -07:00
2018-03-21 22:13:34 -07:00
2018-05-08 17:00:57 -07:00
2018-05-08 17:00:57 -07:00
2018-05-08 17:00:57 -07:00
2018-05-08 14:24:34 -07:00
2017-10-27 11:26:42 -07:00
2018-03-05 13:13:41 -08:00
2017-08-19 14:10:08 -07:00
2018-03-05 13:13:41 -08:00
2018-03-06 11:57:42 -08:00
2018-03-05 13:13:41 -08:00
2018-05-08 14:24:34 -07:00
2018-05-08 14:24:34 -07:00
2018-05-08 17:00:57 -07:00
2017-11-16 17:57:25 -08:00
2018-05-08 17:00:57 -07:00
2018-05-08 17:00:57 -07:00
2017-12-11 13:27:06 -08:00
2018-05-08 17:00:57 -07:00
2018-03-05 13:13:41 -08:00
2018-03-06 12:43:51 -08:00
2017-07-15 16:11:23 -07:00
2018-03-05 13:13:41 -08:00
2018-01-30 13:56:39 -08:00
2018-05-08 14:24:34 -07:00
2018-05-08 14:24:34 -07:00
2018-03-06 16:27:54 -08:00
2017-10-17 08:57:09 -07:00
2018-05-08 14:25:07 -07:00
2017-07-21 18:26:26 -07:00
2018-03-16 13:27:55 -07:00
2018-05-08 17:00:57 -07:00
2018-05-08 14:24:34 -07:00
2017-07-15 16:11:23 -07:00
2018-03-21 22:13:34 -07:00
2018-05-08 14:10:18 -07:00
2018-05-08 17:00:57 -07:00
2018-05-08 14:10:18 -07:00
2017-10-05 18:11:43 -07:00
2018-05-08 17:00:57 -07:00
2018-05-08 17:00:57 -07:00
2018-03-05 13:13:41 -08:00
2018-03-15 11:58:12 -07:00
2018-05-08 14:10:18 -07:00
2018-05-08 17:00:57 -07:00
2018-05-08 17:00:57 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-26 21:11:47 -07:00
2017-11-29 22:56:29 -08:00
2018-02-20 19:12:09 -08:00
2017-12-18 22:29:30 -08:00
2018-03-05 13:13:41 -08:00
2018-05-08 14:24:34 -07:00
2018-03-05 13:13:41 -08:00
2018-03-02 16:27:21 -08:00
2018-01-17 17:42:04 -08:00
2018-03-21 22:13:34 -07:00
2017-08-29 18:41:35 -07:00
2018-05-08 17:00:57 -07:00
2017-07-15 16:11:23 -07:00
2017-09-28 18:17:30 -07:00
2018-05-08 14:24:34 -07:00
2018-05-08 17:00:57 -07:00
2018-05-08 17:00:57 -07:00
2018-05-08 17:00:57 -07:00
2018-03-26 16:29:56 -07:00
2018-05-08 17:00:57 -07:00
2018-05-08 14:10:18 -07:00
2018-03-22 15:58:39 -07:00
2017-07-15 16:11:23 -07:00
2018-03-23 13:26:55 -07:00
2018-03-23 13:26:55 -07:00
2018-05-08 14:24:34 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-28 16:27:16 -07:00
2017-11-28 11:27:02 -08:00
2018-05-08 17:00:57 -07:00
2018-03-16 10:43:17 -07:00
2018-05-08 14:24:34 -07:00
2018-03-07 12:42:12 -08:00
2018-03-05 13:13:41 -08:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-05-08 14:10:18 -07:00
2018-05-08 14:10:18 -07:00
2018-05-08 14:10:18 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-12-01 10:42:05 -08:00
2018-03-05 13:13:41 -08:00
2018-03-05 13:13:41 -08:00
2018-03-05 13:13:41 -08:00
2018-05-08 14:10:18 -07:00
2018-05-08 17:00:57 -07:00
2018-03-05 13:13:41 -08:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-01-29 12:56:42 -08:00
2018-03-07 12:42:12 -08:00
2018-03-06 12:43:51 -08:00
2018-03-08 10:27:25 -08:00
2018-05-08 14:10:18 -07:00
2018-05-08 14:10:18 -07:00
2018-03-06 16:27:54 -08:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-03-05 13:13:41 -08:00
2018-05-08 14:10:18 -07:00
2018-05-08 14:10:18 -07:00
2018-05-08 14:10:18 -07:00
2018-04-12 13:56:07 -07:00
2018-03-23 12:14:30 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-02-09 14:57:54 -08:00
2018-02-09 14:57:54 -08:00
2017-07-15 16:11:23 -07:00
2018-03-05 13:13:41 -08:00
2018-05-08 14:24:34 -07:00
2018-05-08 14:24:34 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-05-08 14:24:34 -07:00
2018-03-22 14:43:36 -07:00
2018-05-08 14:24:34 -07:00
2017-11-28 11:27:02 -08:00
2018-03-23 12:43:06 -07:00
2018-03-23 12:43:06 -07:00
2017-09-11 09:14:48 -07:00
2018-05-08 14:24:34 -07:00
2018-05-08 17:00:57 -07:00
2018-03-05 13:13:41 -08:00
2017-07-15 16:11:23 -07:00
2018-04-12 13:55:36 -07:00
2018-05-08 17:00:57 -07:00
2017-07-15 16:11:23 -07:00
2018-03-05 13:13:41 -08:00
2018-03-05 13:13:41 -08:00
2018-03-05 13:13:41 -08:00
2018-03-05 13:13:41 -08:00
2017-11-10 17:28:12 -08:00
2017-07-15 16:11:23 -07:00
2018-03-08 10:27:25 -08:00
2017-08-24 16:10:54 -07:00
2018-05-08 14:10:18 -07:00
2018-05-08 14:10:18 -07:00
2018-05-08 14:10:18 -07:00
2018-03-05 13:13:41 -08:00
2018-05-08 17:00:57 -07:00
2018-05-08 17:00:57 -07:00
2018-05-08 14:24:34 -07:00
2018-01-11 18:57:33 -08:00
2018-01-11 18:57:33 -08:00
2017-07-15 16:11:23 -07:00
2018-03-08 10:27:25 -08:00
2018-03-05 13:13:41 -08:00
2018-05-08 14:13:12 -07:00
2018-05-08 14:24:34 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-03-05 13:13:41 -08:00
2018-02-05 18:43:24 -08:00