fix: Support Vortex byte-vector list input (#50110)
issue: #49828 ## What changed This PR accepts UInt8 List and FixedSizeList Arrow input for BF16 and binary vector fields when the list length matches the raw byte width. It keeps non-UInt8 byte-vector list input rejected, keeps width mismatch validation, and enables the Vortex full-matrix E2E case for `bf16v`, `binv_flat`, and `binv_ivf`. ## Why Vortex writes BF16 and binary vector payloads as UInt8 list values because it cannot persist them as FixedSizeBinary. Milvus previously rejected those list encodings, so Vortex external tables could not cover BF16 and binary vector fields. ## Validation - `make milvus` - `all_tests --gtest_filter='NormalizeExternalArrow.*'` - `all_tests --gtest_filter='NormalizeVectorArraysToFixedSizeBinary.*'` - `python3 -m py_compile tests/python_client/milvus_client/test_milvus_client_external_table.py` - `make lint-fix` - `git diff --check --cached` - `pytest milvus_client/test_milvus_client_external_table.py -k test_milvus_client_external_table_full_matrix_vortex` --------- Signed-off-by: Wei Liu <wei.liu@zilliz.com>
W
wei liu committed
92740fa8c6e53f36f0436be2609786f1105c69eb
Parent: e701062
Committed by GitHub <noreply@github.com>
on 5/29/2026, 7:14:15 AM