Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
max_open_files, as described in RocksDB document https://github.com/facebook/rocksdb/wiki/RocksDB-Tuning-Guide,
RocksDB keeps all file descriptors in a table cache. If number of file descriptors exceeds max_open_files, some files are evicted from table cache and their file descriptors closed. This means that every read must go through the table cache to lookup the file needed. Set max_open_files to -1 to always keep all files open, which avoids expensive table cache calls.
The default value is -1 which means on limit. But on OS level, the open file handlers of each process is actually limited. If there is too many sst files in RocksDB, there probably will be failure like "Too many open files" in some extreme cases.
Change the default value from -1 to 1024.
Attachments
Issue Links
- links to