I don't understand why.
fs::create_directories(user_files_path);
    }
    {
        std::string dictionaries_lib_path = config().getString("dictionaries_lib_path", path / "dictionaries_lib/");
        global_context->setDictionariesLibPath(dictionaries_lib_path);
        fs::create_directories(dictionaries_lib_path);
    }
    {
        std::string user_scripts_path = config().getString("user_scripts_path", path / "user_scripts/");
        global_context->setUserScriptsPath(user_scripts_path);
        fs::create_directories(user_scripts_path);
    }
    
    {
        const std::string & top_level_domains_path = config().getString("top_level_domains_path", path / "top_level_domains/");
        TLDListsHolder::getInstance().parseConfig(fs::path(top_level_domains_path) / "", config());
    }
    {
        fs::create_directories(path / "data/");
        fs::create_directories(path / "metadata/");
        fs::create_directories(path / "user_defined/");
        
        fs::create_directories(path / "metadata_dropped/");
    }
#if USE_ROCKSDB
    
    if (config().has("merge_tree_metadata_cache"))
    {
        fs::create_directories(path / "rocksdb/");
        size_t size = config().getUInt64("merge_tree_metadata_cache.lru_cache_size", 256 << 20);