https://clickhouse-test-reports.s3.yandex.net/8367/333ec2e496f4fe4addd22d5fa7c5c2a499099c57/fuzzer/fuzzer.log#fail1
DictionarySourcePtr & source_ptr,
    const Columns & key_columns,
    const DataTypes & key_types,
    const KeyRefs & required_keys,
    const std::vector<size_t> & required_rows,
    TemporalComplexKeysPool & tmp_keys_pool,
    PresentIdHandler && on_updated,
    AbsentIdHandler && on_key_not_found,
    const DictionaryLifetime lifetime)
{
    auto append_block = [&key_types, this](
        const Columns & new_keys,
        const SSDComplexKeyCachePartition::Attributes & new_attributes,
        const PaddedPODArray<SSDComplexKeyCachePartition::Metadata> & metadata)
    {
        size_t inserted = 0;
        while (inserted < metadata.size())
        {
            if (!partitions.empty())
                inserted += partitions.front()->appendBlock(
                    new_keys, key_types, new_attributes, metadata, inserted);
            if (inserted < metadata.size())
            {
                partitions.emplace_front(std::make_unique<SSDComplexKeyCachePartition>(
                    AttributeUnderlyingType::utUInt64, attributes_structure, path,
                    (partitions.empty() ? 0 : partitions.front()->getId() + 1),
                    file_size, block_size, read_buffer_size, write_buffer_size, max_stored_keys));