https://clickhouse-test-reports.s3.yandex.net/8367/333ec2e496f4fe4addd22d5fa7c5c2a499099c57/fuzzer/fuzzer.log#fail1
const size_t file_id;
    const size_t max_size;
    const size_t block_size;
    const size_t read_buffer_size;
    const size_t write_buffer_size;
    const size_t max_stored_keys;
    const std::string path;
    mutable std::shared_mutex rw_lock;
    int fd = -1;
    ComplexKeysPool keys_pool;
    mutable BucketCacheIndex<KeyRef, Index, std::hash<KeyRef>, KeyDeleter> key_to_index;
    std::optional<TemporalComplexKeysPool> keys_buffer_pool;
    KeyRefs keys_buffer;
    const std::vector<AttributeUnderlyingType> attributes_structure;
    std::optional<Memory<>> memory;
    std::optional<WriteBuffer> write_buffer;
    uint32_t keys_in_block = 0;
    size_t current_memory_block_id = 0;
    size_t current_file_block_id = 0;
};
using SSDComplexKeyCachePartitionPtr = std::shared_ptr<SSDComplexKeyCachePartition>;
/*
    Class for managing SSDCachePartition and getting data from source.
*/
class SSDComplexKeyCacheStorage
{
public:
    using AttributeTypes = std::vector<AttributeUnderlyingType>;
    SSDComplexKeyCacheStorage(
            const AttributeTypes & attributes_structure,