https://s3.amazonaws.com/clickhouse-test-reports/43986/7249ad407a0824d8c7651d8e03d4e68e1dea0813/stress_test__msan_.html
auto new_projection_part = downloadPartToMemory(
            projection_part_storage, projection_name,
            new_part_info, part_uuid, metadata_snapshot,
            context, in, 0, true, throttler);
        new_data_part->addProjectionPart(projection_name, std::move(new_projection_part));
    }
    MergeTreeData::DataPart::Checksums checksums;
    if (!checksums.read(in))
        throw Exception("Cannot deserialize checksums", ErrorCodes::CORRUPTED_DATA);
    NativeReader block_in(in, 0);
    auto block = block_in.read();
    throttler->add(block.bytes());
    new_data_part->setColumns(block.getNamesAndTypesList(), {});
    if (!is_projection)
    {
        new_data_part->version.setCreationTID(Tx::PrehistoricTID, nullptr);
        new_data_part->uuid = part_uuid;
        new_data_part->is_temp = true;
        new_data_part->minmax_idx->update(block, data.getMinMaxColumnsNames(metadata_snapshot->getPartitionKey()));
        new_data_part->partition.create(metadata_snapshot, block, 0, context);
    }
    MergedBlockOutputStream part_out(
        new_data_part, metadata_snapshot, block.getNamesAndTypesList(), {},
        CompressionCodecFactory::instance().get("NONE", {}), NO_TRANSACTION_PTR);
    part_out.write(block);
    part_out.finalizePart(new_data_part, false);
    new_data_part->checksums.checkEqual(checksums,  true);
    return new_data_part;
}
void Fetcher::downloadBasePartOrProjectionPartToDiskRemoteMeta(