https://clickhouse-test-reports.s3.yandex.net/8367/333ec2e496f4fe4addd22d5fa7c5c2a499099c57/fuzzer/fuzzer.log#fail1
storage.getValue<OutputType>(attribute_index, key_columns, key_types, out, not_found_keys, not_found_pool, get_default, now);
    if (not_found_keys.empty())
        return;
    std::vector<KeyRef> required_keys(not_found_keys.size());
    std::transform(std::begin(not_found_keys), std::end(not_found_keys), std::begin(required_keys), [](const auto & pair) { return pair.first; });
    std::vector<size_t> required_rows;
    required_rows.reserve(required_keys.size());
    for (const auto & key_ref : required_keys)
        required_rows.push_back(not_found_keys[key_ref].front());
    TemporalComplexKeysPool tmp_keys_pool;
    storage.update(
            source_ptr,
            key_columns,
            key_types,
            required_keys,
            required_rows,
            tmp_keys_pool,
            [&](const auto key, const auto row, const auto & new_attributes)
            {
                for (const size_t out_row : not_found_keys[key])
                    out[out_row] = std::get<SSDComplexKeyCachePartition::Attribute::Container<OutputType>>(new_attributes[attribute_index].values)[row];
            },
            [&](const auto key)
            {
                for (const size_t row : not_found_keys[key])
                    out[row] = get_default(row);
            },
            getLifetime());
}
void SSDComplexKeyCacheDictionary::getString(