https://clickhouse-test-reports.s3.yandex.net/15348/34addcf61f653e50e493ff8d94fab015db91fa59/fuzzer/report.html#fail1
out->insertData(refs[row].data, refs[row].size);
        }
        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::unordered_map<KeyRef, String> update_result;
    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)
            {
                update_result[key] = std::get<SSDComplexKeyCachePartition::Attribute::Container<String>>(new_attributes[attribute_index].values)[row];
            },
            [&](const auto) {},
            getLifetime());
    StringRefs tmp_refs(key_columns.size());
    size_t default_index = 0;
    for (size_t row = 0; row < n; ++row)
    {
        const auto key = tmp_keys_pool.allocKey(row, key_columns, tmp_refs);